LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-10.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 50.0 % 12811 6400
Test Date: 2026-08-01 15:33:25 Functions: 71.1 % 76 54
Legend: Lines:     hit not hit

            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   1163357197 : tree_nop_convert (tree t, tree *res_ops)
      11              : {
      12   1163357197 :   const tree type = TREE_TYPE (t);
      13   1163357197 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14   1163357197 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15   1116934402 :   switch (TREE_CODE (t))
      16              :     {
      17    241151933 :     CASE_CONVERT:
      18    241151933 :       {
      19    241151933 :         tree _p0 = TREE_OPERAND (t, 0);
      20    241151933 :         {
      21    241151933 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      22    241151933 :           if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
      23              : )
      24              :             {
      25    198261633 :               {
      26    198261633 :                 res_ops[0] = captures[0];
      27    198261633 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 0, __FILE__, __LINE__, false);
      28    198261633 :                 return true;
      29              :               }
      30              :             }
      31              :         }
      32              :         break;
      33              :       }
      34      4581950 :     case VIEW_CONVERT_EXPR:
      35      4581950 :       {
      36      4581950 :         tree _p0 = TREE_OPERAND (t, 0);
      37      4581950 :         {
      38      4581950 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      39      3214573 :           if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (captures[0]))
      40      3214555 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
      41              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[0])))
      42      6804481 :  && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (captures[0])))
      43              : )
      44              :             {
      45      2222521 :               {
      46      2222521 :                 res_ops[0] = captures[0];
      47      2222521 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1, __FILE__, __LINE__, false);
      48      2222521 :                 return true;
      49              :               }
      50              :             }
      51              :         }
      52      2359429 :         break;
      53              :       }
      54              :     default:;
      55              :     }
      56              :   return false;
      57              : }
      58              : 
      59              : bool
      60     91424640 : tree_with_known_nonzero_bits (tree t)
      61              : {
      62     91424640 :   const tree type = TREE_TYPE (t);
      63     91424640 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      64     91424640 :   if (TREE_SIDE_EFFECTS (t)) return false;
      65     86207395 :   switch (TREE_CODE (t))
      66              :     {
      67       276868 :     case BIT_IOR_EXPR:
      68       276868 :       {
      69       276868 :         tree _p0 = TREE_OPERAND (t, 0);
      70       276868 :         tree _p1 = TREE_OPERAND (t, 1);
      71       276868 :         if (tree_with_known_nonzero_bits_1 (_p0))
      72              :           {
      73       269232 :             {
      74       269232 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      75       269232 :               {
      76       269232 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 39, __FILE__, __LINE__, false);
      77       269232 :                 return true;
      78              :               }
      79              :             }
      80              :           }
      81         7636 :         if (tree_with_known_nonzero_bits_1 (_p1))
      82              :           {
      83          186 :             {
      84          186 :               tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      85          186 :               {
      86          186 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 39, __FILE__, __LINE__, false);
      87          186 :                 return true;
      88              :               }
      89              :             }
      90              :           }
      91              :         break;
      92              :       }
      93     85937977 :     default:;
      94              :     }
      95     85937977 : if (tree_with_known_nonzero_bits_1 (t))
      96              :   {
      97     40029638 :     {
      98     40029638 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      99     40029638 :       {
     100     40029638 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 40, __FILE__, __LINE__, false);
     101     40029638 :         return true;
     102              :       }
     103              :     }
     104              :   }
     105              :   return false;
     106              : }
     107              : 
     108              : tree
     109           15 : generic_simplify_4 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     110              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     111              :  const enum tree_code ARG_UNUSED (op))
     112              : {
     113           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     114           15 :   if (INTEGRAL_TYPE_P (type)
     115              : )
     116              :     {
     117           15 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail75;
     118           15 :       {
     119           15 :         tree res_op0;
     120           15 :         {
     121           15 :           tree _o1[2], _r1;
     122           15 :           _o1[0] = captures[1];
     123           15 :           _o1[1] = captures[4];
     124           15 :           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     125           15 :           res_op0 = _r1;
     126              :         }
     127           15 :         tree res_op1;
     128           15 :         res_op1 = captures[2];
     129           15 :         tree _r;
     130           15 :         _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
     131           15 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 52, __FILE__, __LINE__, true);
     132           15 :         return _r;
     133              :       }
     134            0 : next_after_fail75:;
     135              :     }
     136              :   return NULL_TREE;
     137              : }
     138              : 
     139              : tree
     140          589 : generic_simplify_12 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     141              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     142              : {
     143          589 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     144          589 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail86;
     145          589 :   {
     146          589 :     if (! tree_invariant_p (captures[3])) goto next_after_fail86;
     147            1 :     tree res_op0;
     148            1 :     {
     149            1 :       tree _o1[2], _r1;
     150            1 :       _o1[0] = captures[2];
     151            1 :       _o1[1] = unshare_expr (captures[3]);
     152            1 :       _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     153            1 :       res_op0 = _r1;
     154              :     }
     155            1 :     tree res_op1;
     156            1 :     {
     157            1 :       tree _o1[2], _r1;
     158            1 :       {
     159            1 :         tree _o2[1], _r2;
     160            1 :         _o2[0] = captures[4];
     161            1 :         _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     162            1 :         if (EXPR_P (_r2))
     163            0 :           goto next_after_fail86;
     164            1 :         _o1[0] = _r2;
     165              :       }
     166            1 :       _o1[1] = captures[3];
     167            1 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     168            1 :       if (EXPR_P (_r1))
     169            0 :         goto next_after_fail86;
     170            1 :       res_op1 = _r1;
     171              :     }
     172            1 :     tree _r;
     173            1 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     174            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 61, __FILE__, __LINE__, true);
     175              :     return _r;
     176              :   }
     177              : next_after_fail86:;
     178              :   return NULL_TREE;
     179              : }
     180              : 
     181              : tree
     182           57 : generic_simplify_25 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     183              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     184              : {
     185           57 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     186           57 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     187              : )
     188              :     {
     189           33 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail99;
     190           33 :       {
     191           33 :         tree res_op0;
     192           33 :         {
     193           33 :           tree _o1[1], _r1;
     194           33 :           _o1[0] = captures[0];
     195           33 :           if (TREE_TYPE (_o1[0]) != type)
     196              :             {
     197            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     198              :             }
     199              :           else
     200              :             _r1 = _o1[0];
     201           33 :           res_op0 = _r1;
     202              :         }
     203           33 :         tree res_op1;
     204           33 :         {
     205           33 :           tree _o1[1], _r1;
     206           33 :           _o1[0] = captures[1];
     207           33 :           _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     208           33 :           res_op1 = _r1;
     209              :         }
     210           33 :         tree _r;
     211           33 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     212           33 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 74, __FILE__, __LINE__, true);
     213           33 :         return _r;
     214              :       }
     215            0 : next_after_fail99:;
     216              :     }
     217              :   return NULL_TREE;
     218              : }
     219              : 
     220              : tree
     221       269697 : generic_simplify_32 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     222              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     223              :  const enum tree_code ARG_UNUSED (bitop),
     224              :  const enum tree_code ARG_UNUSED (rbitop),
     225              :  const enum tree_code ARG_UNUSED (resbitop))
     226              : {
     227       269697 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     228       269697 :   {
     229       269697 :  bool wascmp;
     230       269697 :       if (bitwise_inverted_equal_p (captures[2], captures[0], wascmp)
     231       269697 :  && (!wascmp || element_precision (type) == 1)
     232              : )
     233              :         {
     234           13 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail106;
     235           13 :           {
     236           13 :             tree res_op0;
     237           13 :             res_op0 = captures[2];
     238           13 :             tree res_op1;
     239           13 :             res_op1 = captures[1];
     240           13 :             tree _r;
     241           13 :             _r = fold_build2_loc (loc, resbitop, type, res_op0, res_op1);
     242           13 :             if (TREE_SIDE_EFFECTS (captures[0]))
     243            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     244           13 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 80, __FILE__, __LINE__, true);
     245           13 :             return _r;
     246              :           }
     247            0 : next_after_fail106:;
     248              :         }
     249              :   }
     250       269684 :   return NULL_TREE;
     251              : }
     252              : 
     253              : tree
     254            0 : generic_simplify_39 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     255              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     256              :  const enum tree_code ARG_UNUSED (op))
     257              : {
     258            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     259            0 :   if (INTEGRAL_TYPE_P (type)
     260            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[2])) == 0
     261              : )
     262              :     {
     263            0 :       {
     264            0 :  tree t = type;
     265            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     266            0 :  t = unsigned_type_for (t);
     267            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), 1);
     268            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail115;
     269            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail115;
     270            0 :           {
     271            0 :             tree res_op0;
     272            0 :             {
     273            0 :               tree _o1[2], _r1;
     274            0 :               {
     275            0 :                 tree _o2[1], _r2;
     276            0 :                 _o2[0] = captures[2];
     277            0 :                 if (TREE_TYPE (_o2[0]) != t)
     278              :                   {
     279            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     280              :                   }
     281              :                 else
     282              :                   _r2 = _o2[0];
     283            0 :                 _o1[0] = _r2;
     284              :               }
     285            0 :               _o1[1] =  wide_int_to_tree (t, c);
     286            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     287            0 :               res_op0 = _r1;
     288              :             }
     289            0 :             tree _r;
     290            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     291            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 88, __FILE__, __LINE__, true);
     292            0 :             return _r;
     293              :           }
     294            0 : next_after_fail115:;
     295            0 :       }
     296              :     }
     297              :   return NULL_TREE;
     298              : }
     299              : 
     300              : tree
     301            5 : generic_simplify_49 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     302              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     303              : {
     304            5 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     305           10 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     306            5 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
     307           10 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[3]))
     308              : )
     309              :     {
     310            5 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail127;
     311            5 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail127;
     312            5 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail127;
     313            5 :       {
     314            5 :         tree res_op0;
     315            5 :         {
     316            5 :           tree _o1[2], _r1;
     317            5 :           _o1[0] = captures[1];
     318            5 :           _o1[1] = captures[3];
     319            5 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     320            5 :           res_op0 = _r1;
     321              :         }
     322            5 :         tree res_op1;
     323            5 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
     324            5 :         tree _r;
     325            5 :         _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     326            5 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 97, __FILE__, __LINE__, true);
     327            5 :         return _r;
     328              :       }
     329              : next_after_fail127:;
     330              :     }
     331              :   return NULL_TREE;
     332              : }
     333              : 
     334              : tree
     335           45 : generic_simplify_57 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     336              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     337              : {
     338           45 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     339           45 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail137;
     340           45 :   {
     341           45 :     if (! tree_invariant_p (captures[2])) goto next_after_fail137;
     342           45 :     tree res_op0;
     343           45 :     {
     344           45 :       tree _o1[2], _r1;
     345           45 :       _o1[0] = captures[0];
     346           45 :       _o1[1] = unshare_expr (captures[2]);
     347           45 :       _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     348           45 :       res_op0 = _r1;
     349              :     }
     350           45 :     tree res_op1;
     351           45 :     {
     352           45 :       tree _o1[1], _r1;
     353           45 :       _o1[0] = captures[2];
     354           45 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     355           45 :       res_op1 = _r1;
     356              :     }
     357           45 :     tree _r;
     358           45 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     359           45 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 106, __FILE__, __LINE__, true);
     360              :     return _r;
     361              :   }
     362              : next_after_fail137:;
     363              :   return NULL_TREE;
     364              : }
     365              : 
     366              : tree
     367      7131659 : generic_simplify_67 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     368              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     369              :  const enum tree_code ARG_UNUSED (op))
     370              : {
     371      7131659 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     372      7131659 :   if (!TYPE_SATURATING (type)
     373              : )
     374              :     {
     375      7131659 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     376     13869264 :  && !FIXED_POINT_TYPE_P (type)
     377              : )
     378              :         {
     379      6737605 :           if (INTEGRAL_TYPE_P (type)
     380      6737313 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     381      5423300 :  && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
     382      4613774 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
     383      3998481 :  && !TYPE_OVERFLOW_TRAPS (type)
     384     10736086 :  && !TYPE_OVERFLOW_SANITIZED (type)
     385              : )
     386              :             {
     387      3998210 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail155;
     388      3998210 :               {
     389      3998210 :                 tree res_op0;
     390      3998210 :                 {
     391      3998210 :                   tree _o1[2], _r1;
     392      3998210 :                   _o1[0] = captures[0];
     393      3998210 :                   _o1[1] = captures[1];
     394      3998210 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     395      3998210 :                   if (EXPR_P (_r1))
     396      3987631 :                     goto next_after_fail155;
     397        10579 :                   res_op0 = _r1;
     398              :                 }
     399        10579 :                 tree _r;
     400        10579 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     401        10579 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 124, __FILE__, __LINE__, true);
     402        10579 :                 return _r;
     403              :               }
     404              : next_after_fail155:;
     405              :             }
     406              :         }
     407              :     }
     408              :   return NULL_TREE;
     409              : }
     410              : 
     411              : tree
     412            2 : generic_simplify_76 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     413              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     414              :  const enum tree_code ARG_UNUSED (div),
     415              :  const enum tree_code ARG_UNUSED (mod))
     416              : {
     417            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     418            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail165;
     419            2 :   {
     420            2 :     tree _r;
     421            2 :     _r = captures[0];
     422            2 :     if (TREE_SIDE_EFFECTS (captures[1]))
     423            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     424            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 134, __FILE__, __LINE__, true);
     425              :     return _r;
     426              :   }
     427            0 : next_after_fail165:;
     428            0 :   return NULL_TREE;
     429              : }
     430              : 
     431              : tree
     432        19385 : generic_simplify_79 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     433              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     434              :  const enum tree_code ARG_UNUSED (op))
     435              : {
     436        19385 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     437        19385 :   if (flag_unsafe_math_optimizations
     438              : )
     439              :     {
     440           12 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail169;
     441           12 :       {
     442           12 :         tree res_op0;
     443           12 :         {
     444           12 :           tree _o1[2], _r1;
     445           12 :           _o1[0] = captures[0];
     446           12 :           _o1[1] = captures[2];
     447           12 :           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     448           12 :           res_op0 = _r1;
     449              :         }
     450           12 :         tree res_op1;
     451           12 :         res_op1 = captures[1];
     452           12 :         tree _r;
     453           12 :         _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
     454           12 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 138, __FILE__, __LINE__, true);
     455           12 :         return _r;
     456              :       }
     457            0 : next_after_fail169:;
     458              :     }
     459              :   return NULL_TREE;
     460              : }
     461              : 
     462              : tree
     463           85 : generic_simplify_86 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     464              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     465              : {
     466           85 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     467           85 :   if (INTEGRAL_TYPE_P (type)
     468           85 :  || (VECTOR_INTEGER_TYPE_P (type)
     469              :  && ((optimize_vectors_before_lowering_p ()
     470            1 :  && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST)
     471            0 :  || target_supports_op_p (type, TRUNC_MOD_EXPR,
     472              :  optab_vector)))
     473              : )
     474              :     {
     475           85 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail176;
     476           85 :       {
     477           85 :         tree res_op0;
     478           85 :         {
     479           85 :           tree _o1[2], _r1;
     480           85 :           _o1[0] = captures[0];
     481           85 :           _o1[1] = captures[1];
     482           85 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     483           85 :           res_op0 = _r1;
     484              :         }
     485           85 :         tree _r;
     486           85 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     487           85 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 145, __FILE__, __LINE__, true);
     488           85 :         return _r;
     489              :       }
     490            0 : next_after_fail176:;
     491              :     }
     492              :   return NULL_TREE;
     493              : }
     494              : 
     495              : tree
     496            5 : generic_simplify_93 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     497              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     498              : {
     499            5 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     500            5 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail183;
     501            5 :   {
     502            5 :     tree res_op0;
     503            5 :     res_op0 = captures[1];
     504            5 :     tree res_op1;
     505            5 :     {
     506            5 :       tree _o1[1], _r1;
     507            5 :       _o1[0] = captures[2];
     508            5 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     509            5 :       res_op1 = _r1;
     510              :     }
     511            5 :     tree _r;
     512            5 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     513            5 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 152, __FILE__, __LINE__, true);
     514              :     return _r;
     515              :   }
     516            0 : next_after_fail183:;
     517            0 :   return NULL_TREE;
     518              : }
     519              : 
     520              : tree
     521          317 : generic_simplify_101 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     522              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     523              : {
     524          317 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     525          317 :   if (!TYPE_SATURATING (type)
     526              : )
     527              :     {
     528          317 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     529          634 :  && !FIXED_POINT_TYPE_P (type)
     530              : )
     531              :         {
     532          317 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail193;
     533          317 :           {
     534          317 :             tree res_op0;
     535          317 :             res_op0 = captures[1];
     536          317 :             tree _r;
     537          317 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     538          317 :             if (TREE_SIDE_EFFECTS (captures[0]))
     539            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     540          317 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 161, __FILE__, __LINE__, true);
     541          317 :             return _r;
     542              :           }
     543            0 : next_after_fail193:;
     544              :         }
     545              :     }
     546              :   return NULL_TREE;
     547              : }
     548              : 
     549              : tree
     550       159068 : generic_simplify_107 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     551              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     552              : {
     553       159068 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     554       159068 :   if (!TYPE_SATURATING (type)
     555              : )
     556              :     {
     557       159068 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     558       318136 :  && !FIXED_POINT_TYPE_P (type)
     559              : )
     560              :         {
     561       159068 :           if (INTEGRAL_TYPE_P (type)
     562       159068 :  && TYPE_OVERFLOW_UNDEFINED (type)
     563           67 :  && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
     564       159135 :  && element_precision (type) <= element_precision (TREE_TYPE (captures[2]))
     565              : )
     566              :             {
     567           67 :               {
     568           67 :  tree utype = unsigned_type_for (type);
     569           67 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail202;
     570           67 :                   {
     571           67 :                     tree res_op0;
     572           67 :                     {
     573           67 :                       tree _o1[2], _r1;
     574           67 :                       {
     575           67 :                         tree _o2[1], _r2;
     576           67 :                         _o2[0] = captures[1];
     577           67 :                         if (TREE_TYPE (_o2[0]) != utype)
     578              :                           {
     579           52 :                             _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
     580              :                           }
     581              :                         else
     582              :                           _r2 = _o2[0];
     583           67 :                         _o1[0] = _r2;
     584              :                       }
     585           67 :                       {
     586           67 :                         tree _o2[1], _r2;
     587           67 :                         _o2[0] = captures[2];
     588           67 :                         if (TREE_TYPE (_o2[0]) != utype)
     589              :                           {
     590           52 :                             _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
     591              :                           }
     592              :                         else
     593              :                           _r2 = _o2[0];
     594           67 :                         _o1[1] = _r2;
     595              :                       }
     596           67 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     597           67 :                       res_op0 = _r1;
     598              :                     }
     599           67 :                     tree _r;
     600           67 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     601           67 :                     if (TREE_SIDE_EFFECTS (captures[3]))
     602            2 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
     603           67 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 170, __FILE__, __LINE__, true);
     604           67 :                     return _r;
     605              :                   }
     606            0 : next_after_fail202:;
     607              :               }
     608              :             }
     609              :           else
     610              :             {
     611       159001 :               if (((element_precision (type) <= element_precision (TREE_TYPE (captures[1])))
     612       159001 :  == (element_precision (type) <= element_precision (TREE_TYPE (captures[2]))))
     613       159001 :  && (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
     614           62 :  || (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     615           62 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     616           62 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
     617           58 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))))
     618              : )
     619              :                 {
     620       142345 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail203;
     621       142345 :                   {
     622       142345 :                     tree res_op0;
     623       142345 :                     {
     624       142345 :                       tree _o1[1], _r1;
     625       142345 :                       _o1[0] = captures[1];
     626       142345 :                       if (TREE_TYPE (_o1[0]) != type)
     627              :                         {
     628       142345 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     629              :                         }
     630              :                       else
     631              :                         _r1 = _o1[0];
     632       142345 :                       res_op0 = _r1;
     633              :                     }
     634       142345 :                     tree res_op1;
     635       142345 :                     {
     636       142345 :                       tree _o1[1], _r1;
     637       142345 :                       _o1[0] = captures[2];
     638       142345 :                       if (TREE_TYPE (_o1[0]) != type)
     639              :                         {
     640       142345 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     641              :                         }
     642              :                       else
     643              :                         _r1 = _o1[0];
     644       142345 :                       res_op1 = _r1;
     645              :                     }
     646       142345 :                     tree _r;
     647       142345 :                     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     648       142345 :                     if (TREE_SIDE_EFFECTS (captures[3]))
     649            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
     650       142345 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 171, __FILE__, __LINE__, true);
     651       142345 :                     return _r;
     652              :                   }
     653            0 : next_after_fail203:;
     654              :                 }
     655              :             }
     656              :         }
     657              :     }
     658              :   return NULL_TREE;
     659              : }
     660              : 
     661              : tree
     662          253 : generic_simplify_132 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     663              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     664              :  const enum tree_code ARG_UNUSED (bitop))
     665              : {
     666          253 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     667          253 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail230;
     668          253 :   {
     669          253 :     tree res_op0;
     670          253 :     res_op0 = captures[0];
     671          253 :     tree _r;
     672          253 :     _r = non_lvalue_loc (loc, res_op0);
     673          253 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 191, __FILE__, __LINE__, true);
     674              :     return _r;
     675              :   }
     676            0 : next_after_fail230:;
     677            0 :   return NULL_TREE;
     678              : }
     679              : 
     680              : tree
     681            0 : generic_simplify_142 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     682              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     683              :  const enum tree_code ARG_UNUSED (op))
     684              : {
     685            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     686            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     687            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     688              : )
     689              :     {
     690            0 :       if (single_use (captures[4]) && single_use (captures[5])
     691              : )
     692              :         {
     693            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail242;
     694            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail242;
     695            0 :           {
     696            0 :             tree res_op0;
     697            0 :             res_op0 = captures[0];
     698            0 :             tree res_op1;
     699            0 :             {
     700            0 :               tree _o1[1], _r1;
     701            0 :               _o1[0] = captures[6];
     702            0 :               if (TREE_TYPE (_o1[0]) != type)
     703              :                 {
     704            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     705              :                 }
     706              :               else
     707              :                 _r1 = _o1[0];
     708            0 :               res_op1 = _r1;
     709              :             }
     710            0 :             tree _r;
     711            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     712            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 197, __FILE__, __LINE__, true);
     713            0 :             return _r;
     714              :           }
     715              : next_after_fail242:;
     716              :         }
     717              :       else
     718              :         {
     719              :           if (single_use (captures[0]) && single_use (captures[1])
     720              : )
     721              :             {
     722              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail243;
     723              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail243;
     724              :               {
     725              :                 tree res_op0;
     726              :                 {
     727              :                   tree _o1[1], _r1;
     728              :                   _o1[0] = captures[3];
     729              :                   if (TREE_TYPE (_o1[0]) != type)
     730              :                     {
     731              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     732              :                     }
     733              :                   else
     734              :                     _r1 = _o1[0];
     735              :                   res_op0 = _r1;
     736              :                 }
     737              :                 tree res_op1;
     738              :                 res_op1 = captures[4];
     739              :                 tree _r;
     740              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     741              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 198, __FILE__, __LINE__, true);
     742              :                 return _r;
     743              :               }
     744              : next_after_fail243:;
     745              :             }
     746              :         }
     747              :     }
     748              :   return NULL_TREE;
     749              : }
     750              : 
     751              : tree
     752            4 : generic_simplify_157 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     753              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     754              : {
     755            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     756            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail263;
     757            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail263;
     758            4 :   {
     759            4 :     tree _r;
     760            4 :     _r = captures[2];
     761            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     762            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     763            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 211, __FILE__, __LINE__, true);
     764              :     return _r;
     765              :   }
     766              : next_after_fail263:;
     767              :   return NULL_TREE;
     768              : }
     769              : 
     770              : tree
     771            3 : generic_simplify_160 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     772              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     773              :  const enum tree_code ARG_UNUSED (code2),
     774              :  const enum tree_code ARG_UNUSED (code1))
     775              : {
     776            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     777            3 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     778            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     779            3 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     780            3 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     781            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     782            3 :  && bitwise_equal_p (captures[2], captures[5]))
     783              : )
     784              :     {
     785            3 :       {
     786            3 :  bool one_before = false;
     787            3 :  bool one_after = false;
     788            3 :  int cmp = 0;
     789            3 :  bool allbits = true;
     790            3 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     791            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     792              :  {
     793            0 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     794            0 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     795            0 :  auto t2 = wi::to_wide (captures[5]);
     796            0 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     797            0 :  if (cmp < 0
     798            0 :  && t1 == t2 - 1)
     799              :  one_before = true;
     800            0 :  if (cmp > 0
     801            0 :  && t1 == t2 + 1)
     802              :  one_after = true;
     803              :  }
     804            3 :  bool val;
     805            3 :  switch (code2)
     806              :  {
     807            0 :  case EQ_EXPR: val = (cmp == 0); break;
     808            0 :  case NE_EXPR: val = (cmp != 0); break;
     809            0 :  case LT_EXPR: val = (cmp < 0); break;
     810            3 :  case GT_EXPR: val = (cmp > 0); break;
     811            0 :  case LE_EXPR: val = (cmp <= 0); break;
     812            0 :  case GE_EXPR: val = (cmp >= 0); break;
     813            0 :  default: gcc_unreachable ();
     814              :  }
     815            3 :           if (code1 == EQ_EXPR && val
     816              : )
     817              :             {
     818            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail266;
     819            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail266;
     820            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail266;
     821            0 :               {
     822            0 :                 tree _r;
     823            0 :                 _r = captures[3];
     824            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
     825            0 :                 return _r;
     826              :               }
     827              : next_after_fail266:;
     828              :             }
     829              :           else
     830              :             {
     831            3 :               if (code1 == NE_EXPR && val && allbits
     832              : )
     833              :                 {
     834            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail267;
     835            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail267;
     836            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail267;
     837            0 :                   {
     838            0 :                     tree _r;
     839            0 :                     _r =  constant_boolean_node (true, type);
     840            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
     841            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     842            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     843            0 :                     return _r;
     844              :                   }
     845              : next_after_fail267:;
     846              :                 }
     847              :               else
     848              :                 {
     849            3 :                   if (code1 == NE_EXPR && !val && allbits
     850              : )
     851              :                     {
     852            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail268;
     853            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail268;
     854            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail268;
     855            0 :                       {
     856            0 :                         tree _r;
     857            0 :                         _r = captures[0];
     858            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
     859            0 :                         return _r;
     860              :                       }
     861              : next_after_fail268:;
     862              :                     }
     863              :                   else
     864              :                     {
     865            3 :                       if (code1 == EQ_EXPR
     866            3 :  && code2 == GT_EXPR
     867            3 :  && cmp == 0
     868            3 :  && allbits
     869            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     870            3 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     871            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     872              : )
     873              :                         {
     874            3 :                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail269;
     875            3 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail269;
     876            3 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail269;
     877            3 :                           {
     878            3 :                             tree res_op0;
     879            3 :                             res_op0 = captures[4];
     880            3 :                             tree res_op1;
     881            3 :                             res_op1 = captures[5];
     882            3 :                             tree _r;
     883            3 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     884            3 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
     885            3 :                             return _r;
     886              :                           }
     887              : next_after_fail269:;
     888              :                         }
     889              :                       else
     890              :                         {
     891            0 :                           if (code1 == EQ_EXPR
     892            0 :  && code2 == LT_EXPR
     893            0 :  && cmp == 0
     894            0 :  && allbits
     895            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     896            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     897            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     898              : )
     899              :                             {
     900            0 :                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail270;
     901            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail270;
     902            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail270;
     903            0 :                               {
     904            0 :                                 tree res_op0;
     905            0 :                                 res_op0 = captures[4];
     906            0 :                                 tree res_op1;
     907            0 :                                 res_op1 = captures[5];
     908            0 :                                 tree _r;
     909            0 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     910            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 218, __FILE__, __LINE__, true);
     911            0 :                                 return _r;
     912              :                               }
     913              : next_after_fail270:;
     914              :                             }
     915              :                           else
     916              :                             {
     917            0 :                               if (code1 == EQ_EXPR
     918            0 :  && code2 == GE_EXPR
     919              :  && one_before
     920            0 :  && allbits
     921            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     922            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     923            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     924              : )
     925              :                                 {
     926            0 :                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail271;
     927            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail271;
     928            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail271;
     929            0 :                                   {
     930            0 :                                     tree res_op0;
     931            0 :                                     res_op0 = captures[4];
     932            0 :                                     tree res_op1;
     933            0 :                                     {
     934            0 :                                       tree _o1[1], _r1;
     935            0 :                                       _o1[0] = captures[2];
     936            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     937              :                                         {
     938            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     939              :                                         }
     940              :                                       else
     941              :                                         _r1 = _o1[0];
     942            0 :                                       res_op1 = _r1;
     943              :                                     }
     944            0 :                                     tree _r;
     945            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     946            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 219, __FILE__, __LINE__, true);
     947            0 :                                     return _r;
     948              :                                   }
     949              : next_after_fail271:;
     950              :                                 }
     951              :                               else
     952              :                                 {
     953            0 :                                   if (code1 == EQ_EXPR
     954            0 :  && code2 == LE_EXPR
     955              :  && one_after
     956            0 :  && allbits
     957            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     958            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     959            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     960              : )
     961              :                                     {
     962            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail272;
     963            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail272;
     964            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail272;
     965            0 :                                       {
     966            0 :                                         tree res_op0;
     967            0 :                                         res_op0 = captures[4];
     968            0 :                                         tree res_op1;
     969            0 :                                         {
     970            0 :                                           tree _o1[1], _r1;
     971            0 :                                           _o1[0] = captures[2];
     972            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     973              :                                             {
     974            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     975              :                                             }
     976              :                                           else
     977              :                                             _r1 = _o1[0];
     978            0 :                                           res_op1 = _r1;
     979              :                                         }
     980            0 :                                         tree _r;
     981            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     982            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 220, __FILE__, __LINE__, true);
     983            0 :                                         return _r;
     984              :                                       }
     985              : next_after_fail272:;
     986              :                                     }
     987              :                                 }
     988              :                             }
     989              :                         }
     990              :                     }
     991              :                 }
     992              :             }
     993              :       }
     994              :     }
     995              :   return NULL_TREE;
     996              : }
     997              : 
     998              : tree
     999            8 : generic_simplify_203 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1000              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1001              :  const combined_fn ARG_UNUSED (POW))
    1002              : {
    1003            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1004            8 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1005              : )
    1006              :     {
    1007            8 :       if (!TREE_OVERFLOW (captures[2])
    1008              : )
    1009              :         {
    1010            8 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail345;
    1011            8 :           {
    1012            8 :             tree res_op0;
    1013            8 :             res_op0 = captures[0];
    1014            8 :             tree res_op1;
    1015            8 :             {
    1016            8 :               tree _o1[2], _r1;
    1017            8 :               _o1[0] = captures[2];
    1018            8 :               _o1[1] =  build_one_cst (type);
    1019            8 :               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1020            8 :               res_op1 = _r1;
    1021              :             }
    1022            8 :             tree _r;
    1023            8 :             _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
    1024            8 :             if (!_r)
    1025            0 :               goto next_after_fail345;
    1026            8 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 258, __FILE__, __LINE__, true);
    1027            8 :             return _r;
    1028              :           }
    1029              : next_after_fail345:;
    1030              :         }
    1031              :     }
    1032              :   return NULL_TREE;
    1033              : }
    1034              : 
    1035              : tree
    1036        20788 : generic_simplify_210 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1037              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1038              :  const enum tree_code ARG_UNUSED (cmp),
    1039              :  const enum tree_code ARG_UNUSED (mod))
    1040              : {
    1041        20788 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1042        20788 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1043              : )
    1044              :     {
    1045        20788 :       {
    1046        20788 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    1047        20788 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail352;
    1048        20788 :           {
    1049        20788 :             tree res_op0;
    1050        20788 :             {
    1051        20788 :               tree _o1[2], _r1;
    1052        20788 :               {
    1053        20788 :                 tree _o2[1], _r2;
    1054        20788 :                 _o2[0] = captures[0];
    1055        20788 :                 if (TREE_TYPE (_o2[0]) != utype)
    1056              :                   {
    1057        20788 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1058              :                   }
    1059              :                 else
    1060              :                   _r2 = _o2[0];
    1061        20788 :                 _o1[0] = _r2;
    1062              :               }
    1063        20788 :               {
    1064        20788 :                 tree _o2[1], _r2;
    1065        20788 :                 _o2[0] = captures[1];
    1066        20788 :                 if (TREE_TYPE (_o2[0]) != utype)
    1067              :                   {
    1068        20788 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1069              :                   }
    1070              :                 else
    1071              :                   _r2 = _o2[0];
    1072        20788 :                 _o1[1] = _r2;
    1073              :               }
    1074        20788 :               _r1 = fold_build2_loc (loc, mod, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1075        20788 :               res_op0 = _r1;
    1076              :             }
    1077        20788 :             tree res_op1;
    1078        20788 :             {
    1079        20788 :               tree _o1[1], _r1;
    1080        20788 :               _o1[0] = captures[2];
    1081        20788 :               if (TREE_TYPE (_o1[0]) != utype)
    1082              :                 {
    1083        20788 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1084              :                 }
    1085              :               else
    1086              :                 _r1 = _o1[0];
    1087        20788 :               res_op1 = _r1;
    1088              :             }
    1089        20788 :             tree _r;
    1090        20788 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1091        20788 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 265, __FILE__, __LINE__, true);
    1092        20788 :             return _r;
    1093              :           }
    1094            0 : next_after_fail352:;
    1095              :       }
    1096              :     }
    1097              :   return NULL_TREE;
    1098              : }
    1099              : 
    1100              : tree
    1101        12859 : generic_simplify_224 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1102              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1103              :  const enum tree_code ARG_UNUSED (op))
    1104              : {
    1105        12859 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1106        12859 :   if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1107        12859 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1108        12859 :  && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
    1109              : )
    1110              :     {
    1111        12859 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail383;
    1112        12859 :       {
    1113        12859 :         tree res_op0;
    1114        12859 :         res_op0 = captures[3];
    1115        12859 :         tree res_op1;
    1116        12859 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
    1117        12859 :         tree _r;
    1118        12859 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1119        12859 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1120            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1121        12859 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 295, __FILE__, __LINE__, true);
    1122        12859 :         return _r;
    1123              :       }
    1124            0 : next_after_fail383:;
    1125              :     }
    1126              :   return NULL_TREE;
    1127              : }
    1128              : 
    1129              : tree
    1130           21 : generic_simplify_232 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1131              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1132              :  const enum tree_code ARG_UNUSED (cmp))
    1133              : {
    1134           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1135           21 :   if (TREE_INT_CST_LOW (captures[1]) & 1
    1136              : )
    1137              :     {
    1138            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail391;
    1139            2 :       {
    1140            2 :         tree _r;
    1141            2 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1142            2 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1143            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1144            2 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1145            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1146            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 302, __FILE__, __LINE__, true);
    1147            2 :         return _r;
    1148              :       }
    1149            0 : next_after_fail391:;
    1150              :     }
    1151              :   return NULL_TREE;
    1152              : }
    1153              : 
    1154              : tree
    1155           22 : generic_simplify_239 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1156              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1157              :  const enum tree_code ARG_UNUSED (cmp),
    1158              :  const enum tree_code ARG_UNUSED (icmp))
    1159              : {
    1160           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1161           22 :   {
    1162           22 :  int c1 = wi::clz (wi::to_wide (captures[0]));
    1163           22 :  int c2 = wi::clz (wi::to_wide (captures[2]));
    1164           22 :       if (c1 < c2
    1165           44 :  || !wi::fits_to_tree_p (wi::shwi (c1 - c2, HOST_BITS_PER_INT),
    1166           22 :  TREE_TYPE (captures[1]))
    1167              : )
    1168              :         {
    1169           16 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail400;
    1170           16 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail400;
    1171           16 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail400;
    1172           16 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail400;
    1173           16 :           {
    1174           16 :             tree _r;
    1175           16 :             _r =  constant_boolean_node (cmp != NE_EXPR, type);
    1176           16 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1177            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1178           16 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 311, __FILE__, __LINE__, true);
    1179           16 :             return _r;
    1180              :           }
    1181              : next_after_fail400:;
    1182              :         }
    1183              :       else
    1184              :         {
    1185            6 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail401;
    1186            6 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail401;
    1187            6 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail401;
    1188            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail401;
    1189            6 :           {
    1190            6 :             tree res_op0;
    1191            6 :             res_op0 = captures[1];
    1192            6 :             tree res_op1;
    1193            6 :             res_op1 =  build_int_cst (TREE_TYPE (captures[1]), c1 - c2);
    1194            6 :             tree _r;
    1195            6 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1196            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 312, __FILE__, __LINE__, true);
    1197            6 :             return _r;
    1198              :           }
    1199              : next_after_fail401:;
    1200              :         }
    1201              :   }
    1202              :   return NULL_TREE;
    1203              : }
    1204              : 
    1205              : tree
    1206           14 : generic_simplify_249 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1207              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1208              :  const enum tree_code ARG_UNUSED (cmp),
    1209              :  const combined_fn ARG_UNUSED (bswap))
    1210              : {
    1211           14 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1212           14 :   {
    1213           14 :  tree ctype = TREE_TYPE (captures[0]);
    1214           14 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail420;
    1215           14 :       {
    1216           14 :         tree res_op0;
    1217           14 :         {
    1218           14 :           tree _o1[1], _r1;
    1219           14 :           _o1[0] = captures[1];
    1220           14 :           if (TREE_TYPE (_o1[0]) != ctype)
    1221              :             {
    1222            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1223              :             }
    1224              :           else
    1225              :             _r1 = _o1[0];
    1226           14 :           res_op0 = _r1;
    1227              :         }
    1228           14 :         tree res_op1;
    1229           14 :         {
    1230           14 :           tree _o1[1], _r1;
    1231           14 :           _o1[0] = captures[2];
    1232           14 :           if (TREE_TYPE (_o1[0]) != ctype)
    1233              :             {
    1234            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1235              :             }
    1236              :           else
    1237              :             _r1 = _o1[0];
    1238           14 :           res_op1 = _r1;
    1239              :         }
    1240           14 :         tree _r;
    1241           14 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1242           14 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 331, __FILE__, __LINE__, true);
    1243              :         return _r;
    1244              :       }
    1245            0 : next_after_fail420:;
    1246              :   }
    1247            0 :   return NULL_TREE;
    1248              : }
    1249              : 
    1250              : tree
    1251       163852 : generic_simplify_257 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1252              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1253              :  const enum tree_code ARG_UNUSED (cmp))
    1254              : {
    1255       163852 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1256       322700 :   if (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1257       164577 :  || ! tree_expr_maybe_nan_p (captures[0])
    1258              : )
    1259              :     {
    1260       158197 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail433;
    1261       158197 :       {
    1262       158197 :         tree _r;
    1263       158197 :         _r =  constant_boolean_node (true, type);
    1264       158197 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1265            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1266       158197 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 343, __FILE__, __LINE__, true);
    1267       158197 :         return _r;
    1268              :       }
    1269            0 : next_after_fail433:;
    1270              :     }
    1271              :   else
    1272              :     {
    1273         5655 :       if (cmp != EQ_EXPR
    1274         5655 :  && (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1275           79 :  || ! flag_trapping_math)
    1276              : )
    1277              :         {
    1278            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail434;
    1279            0 :           {
    1280            0 :             tree res_op0;
    1281            0 :             res_op0 = unshare_expr (captures[0]);
    1282            0 :             tree res_op1;
    1283            0 :             res_op1 = captures[0];
    1284            0 :             tree _r;
    1285            0 :             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1286            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 344, __FILE__, __LINE__, true);
    1287            0 :             return _r;
    1288              :           }
    1289            0 : next_after_fail434:;
    1290              :         }
    1291              :     }
    1292              :   return NULL_TREE;
    1293              : }
    1294              : 
    1295              : tree
    1296        19590 : generic_simplify_264 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1297              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1298              :  const enum tree_code ARG_UNUSED (cmp))
    1299              : {
    1300        19590 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1301        19590 :   if (flag_associative_math
    1302              : )
    1303              :     {
    1304           13 :       {
    1305           13 :  tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
    1306           13 :           if (tem && !TREE_OVERFLOW (tem)
    1307              : )
    1308              :             {
    1309           13 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail455;
    1310           13 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail455;
    1311           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail455;
    1312           13 :               {
    1313           13 :                 tree res_op0;
    1314           13 :                 res_op0 =  tem;
    1315           13 :                 tree res_op1;
    1316           13 :                 res_op1 = captures[1];
    1317           13 :                 tree _r;
    1318           13 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1319           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 364, __FILE__, __LINE__, true);
    1320           13 :                 return _r;
    1321              :               }
    1322              : next_after_fail455:;
    1323              :             }
    1324              :       }
    1325              :     }
    1326              :   return NULL_TREE;
    1327              : }
    1328              : 
    1329              : tree
    1330           69 : generic_simplify_269 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1331              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1332              :  const enum tree_code ARG_UNUSED (cmp))
    1333              : {
    1334           69 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1335           69 :   if (!integer_zerop (captures[1])
    1336              : )
    1337              :     {
    1338           69 :       if (wi::to_wide (captures[2]) == 0
    1339              : )
    1340              :         {
    1341           22 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail485;
    1342           22 :           {
    1343           22 :             tree res_op0;
    1344           22 :             res_op0 = captures[0];
    1345           22 :             tree res_op1;
    1346           22 :             res_op1 = captures[2];
    1347           22 :             tree _r;
    1348           22 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1349           22 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1350            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1351           22 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 394, __FILE__, __LINE__, true);
    1352           22 :             return _r;
    1353              :           }
    1354            0 : next_after_fail485:;
    1355              :         }
    1356              :       else
    1357              :         {
    1358           47 :           if (TREE_CODE (captures[1]) == INTEGER_CST
    1359              : )
    1360              :             {
    1361           47 :               {
    1362           47 :  wi::overflow_type ovf;
    1363           47 :  wide_int prod = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[1]),
    1364           94 :  TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
    1365           47 :                   if (ovf
    1366              : )
    1367              :                     {
    1368            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail486;
    1369            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail486;
    1370            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail486;
    1371            0 :                       {
    1372            0 :                         tree _r;
    1373            0 :                         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1374            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1375            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1376            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 395, __FILE__, __LINE__, true);
    1377            0 :                         return _r;
    1378              :                       }
    1379            0 : next_after_fail486:;
    1380              :                     }
    1381              :                   else
    1382              :                     {
    1383           47 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail487;
    1384           47 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail487;
    1385           47 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail487;
    1386           47 :                       {
    1387           47 :                         tree res_op0;
    1388           47 :                         res_op0 = captures[0];
    1389           47 :                         tree res_op1;
    1390           47 :                         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
    1391           47 :                         tree _r;
    1392           47 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1393           47 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 396, __FILE__, __LINE__, true);
    1394           47 :                         return _r;
    1395              :                       }
    1396            0 : next_after_fail487:;
    1397              :                     }
    1398           47 :               }
    1399              :             }
    1400              :         }
    1401              :     }
    1402              :   return NULL_TREE;
    1403              : }
    1404              : 
    1405              : tree
    1406           62 : generic_simplify_277 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1407              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1408              :  const enum tree_code ARG_UNUSED (cmp))
    1409              : {
    1410           62 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1411           62 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail512;
    1412           62 :   {
    1413           62 :     tree res_op0;
    1414           62 :     res_op0 = captures[1];
    1415           62 :     tree res_op1;
    1416           62 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1417           62 :     tree _r;
    1418           62 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1419           62 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1420            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1421           62 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 413, __FILE__, __LINE__, true);
    1422              :     return _r;
    1423              :   }
    1424            0 : next_after_fail512:;
    1425            0 :   return NULL_TREE;
    1426              : }
    1427              : 
    1428              : tree
    1429           26 : generic_simplify_281 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1430              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1431              :  const enum tree_code ARG_UNUSED (cmp))
    1432              : {
    1433           26 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1434           26 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1435              : )
    1436              :     {
    1437           26 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail516;
    1438           26 :       {
    1439           26 :         tree res_op0;
    1440           26 :         res_op0 = captures[1];
    1441           26 :         tree res_op1;
    1442           26 :         {
    1443           26 :           tree _o1[2], _r1;
    1444           26 :           _o1[0] = captures[2];
    1445           26 :           {
    1446           26 :             tree _o2[1], _r2;
    1447           26 :             _o2[0] = captures[3];
    1448           26 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
    1449              :               {
    1450            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
    1451              :               }
    1452              :             else
    1453              :               _r2 = _o2[0];
    1454           26 :             _o1[1] = _r2;
    1455              :           }
    1456           26 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1457           26 :           res_op1 = _r1;
    1458              :         }
    1459           26 :         tree _r;
    1460           26 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1461           26 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 417, __FILE__, __LINE__, true);
    1462           26 :         return _r;
    1463              :       }
    1464            0 : next_after_fail516:;
    1465              :     }
    1466              :   return NULL_TREE;
    1467              : }
    1468              : 
    1469              : tree
    1470       110646 : generic_simplify_285 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1471              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1472              :  const enum tree_code ARG_UNUSED (cmp),
    1473              :  const enum tree_code ARG_UNUSED (ncmp))
    1474              : {
    1475       110646 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1476       220887 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1477        62888 :  && type_has_mode_precision_p (TREE_TYPE (captures[1]))
    1478        61955 :  && element_precision (captures[0]) >= element_precision (captures[1])
    1479       221292 :  && wi::only_sign_bit_p (wi::to_wide (captures[2]), element_precision (captures[1]))
    1480              : )
    1481              :     {
    1482         6395 :       {
    1483         6395 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1484         6395 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail520;
    1485         6395 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail520;
    1486         6395 :           {
    1487         6395 :             tree res_op0;
    1488         6395 :             {
    1489         6395 :               tree _o1[1], _r1;
    1490         6395 :               _o1[0] = captures[1];
    1491         6395 :               if (TREE_TYPE (_o1[0]) != stype)
    1492              :                 {
    1493         5743 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1494              :                 }
    1495              :               else
    1496              :                 _r1 = _o1[0];
    1497         6395 :               res_op0 = _r1;
    1498              :             }
    1499         6395 :             tree res_op1;
    1500         6395 :             res_op1 =  build_zero_cst (stype);
    1501         6395 :             tree _r;
    1502         6395 :             _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1503         6395 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1504            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1505         6395 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 421, __FILE__, __LINE__, true);
    1506         6395 :             return _r;
    1507              :           }
    1508              : next_after_fail520:;
    1509              :       }
    1510              :     }
    1511              :   return NULL_TREE;
    1512              : }
    1513              : 
    1514              : tree
    1515      4918627 : generic_simplify_291 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1516              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1517              :  const enum tree_code ARG_UNUSED (cmp))
    1518              : {
    1519      4918627 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1520      4918627 :   {
    1521      4918627 :  poly_int64 off0, off1;
    1522      4918627 :  tree base0, base1;
    1523      4918627 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[2], base0, base1,
    1524              :  off0, off1,
    1525              : 1
    1526              : );
    1527      4918627 :       if (equal == 1
    1528              : )
    1529              :         {
    1530      4877936 :           if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
    1531              : )
    1532              :             {
    1533       540771 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail526;
    1534       540771 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail526;
    1535       540771 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail526;
    1536       540771 :               {
    1537       540771 :                 tree _r;
    1538       540771 :                 _r =  constant_boolean_node (known_eq (off0, off1), type);
    1539       540771 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 425, __FILE__, __LINE__, true);
    1540      4901760 :                 return _r;
    1541              :               }
    1542        16867 : next_after_fail526:;
    1543              :             }
    1544              :           else
    1545              :             {
    1546      4273676 :               if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
    1547              : )
    1548              :                 {
    1549      4273676 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail527;
    1550      4273676 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail527;
    1551      4273676 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail527;
    1552      4273676 :                   {
    1553      4273676 :                     tree _r;
    1554      4273676 :                     _r =  constant_boolean_node (known_ne (off0, off1), type);
    1555      4273676 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 426, __FILE__, __LINE__, true);
    1556      4273676 :                     return _r;
    1557              :                   }
    1558        16867 : next_after_fail527:;
    1559              :                 }
    1560              :               else
    1561              :                 {
    1562        53535 :                   if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
    1563              : )
    1564              :                     {
    1565        53535 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail528;
    1566        53535 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail528;
    1567        53535 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail528;
    1568        53535 :                       {
    1569        53535 :                         tree _r;
    1570        53535 :                         _r =  constant_boolean_node (known_lt (off0, off1), type);
    1571        53535 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 427, __FILE__, __LINE__, true);
    1572        53535 :                         return _r;
    1573              :                       }
    1574        16867 : next_after_fail528:;
    1575              :                     }
    1576              :                   else
    1577              :                     {
    1578         6035 :                       if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
    1579              : )
    1580              :                         {
    1581         6035 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail529;
    1582         6035 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail529;
    1583         6035 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail529;
    1584         6035 :                           {
    1585         6035 :                             tree _r;
    1586         6035 :                             _r =  constant_boolean_node (known_le (off0, off1), type);
    1587         6035 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 428, __FILE__, __LINE__, true);
    1588         6035 :                             return _r;
    1589              :                           }
    1590        16867 : next_after_fail529:;
    1591              :                         }
    1592              :                       else
    1593              :                         {
    1594         3419 :                           if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
    1595              : )
    1596              :                             {
    1597         3419 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail530;
    1598         3419 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail530;
    1599         3419 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail530;
    1600         3419 :                               {
    1601         3419 :                                 tree _r;
    1602         3419 :                                 _r =  constant_boolean_node (known_ge (off0, off1), type);
    1603         3419 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 429, __FILE__, __LINE__, true);
    1604         3419 :                                 return _r;
    1605              :                               }
    1606        16867 : next_after_fail530:;
    1607              :                             }
    1608              :                           else
    1609              :                             {
    1610          500 :                               if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
    1611              : )
    1612              :                                 {
    1613          500 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail531;
    1614          500 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail531;
    1615          500 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail531;
    1616          500 :                                   {
    1617          500 :                                     tree _r;
    1618          500 :                                     _r =  constant_boolean_node (known_gt (off0, off1), type);
    1619          500 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 430, __FILE__, __LINE__, true);
    1620          500 :                                     return _r;
    1621              :                                   }
    1622        16867 : next_after_fail531:;
    1623              :                                 }
    1624              :                             }
    1625              :                         }
    1626              :                     }
    1627              :                 }
    1628              :             }
    1629              :         }
    1630              :       else
    1631              :         {
    1632        40691 :           if (equal == 0
    1633              : )
    1634              :             {
    1635        23824 :               if (cmp == EQ_EXPR
    1636              : )
    1637              :                 {
    1638        17778 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail532;
    1639        17778 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail532;
    1640        17778 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail532;
    1641        17778 :                   {
    1642        17778 :                     tree _r;
    1643        17778 :                     _r =  constant_boolean_node (false, type);
    1644        17778 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 431, __FILE__, __LINE__, true);
    1645        17778 :                     return _r;
    1646              :                   }
    1647        16867 : next_after_fail532:;
    1648              :                 }
    1649              :               else
    1650              :                 {
    1651         6046 :                   if (cmp == NE_EXPR
    1652              : )
    1653              :                     {
    1654         6046 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail533;
    1655         6046 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail533;
    1656         6046 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail533;
    1657         6046 :                       {
    1658         6046 :                         tree _r;
    1659         6046 :                         _r =  constant_boolean_node (true, type);
    1660         6046 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 432, __FILE__, __LINE__, true);
    1661         6046 :                         return _r;
    1662              :                       }
    1663        16867 : next_after_fail533:;
    1664              :                     }
    1665              :                 }
    1666              :             }
    1667              :         }
    1668              :   }
    1669        16867 :   return NULL_TREE;
    1670              : }
    1671              : 
    1672              : tree
    1673       294276 : generic_simplify_306 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1674              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1675              :  const enum tree_code ARG_UNUSED (cmp),
    1676              :  const enum tree_code ARG_UNUSED (icmp),
    1677              :  const enum tree_code ARG_UNUSED (ncmp))
    1678              : {
    1679       294276 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1680       294276 :   if (types_match (type, TREE_TYPE (captures[0]))
    1681              : )
    1682              :     {
    1683        46994 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail574;
    1684        46994 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail574;
    1685        46994 :       {
    1686        46994 :         tree res_op0;
    1687        46994 :         res_op0 = captures[1];
    1688        46994 :         tree res_op1;
    1689        46994 :         res_op1 = captures[2];
    1690        46994 :         tree _r;
    1691        46994 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1692        46994 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 465, __FILE__, __LINE__, true);
    1693        46994 :         return _r;
    1694              :       }
    1695              : next_after_fail574:;
    1696              :     }
    1697              :   return NULL_TREE;
    1698              : }
    1699              : 
    1700              : tree
    1701            0 : generic_simplify_311 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1702              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1703              :  const combined_fn ARG_UNUSED (copysigns))
    1704              : {
    1705            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1706            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail580;
    1707            0 :   {
    1708            0 :     tree res_op0;
    1709            0 :     res_op0 = captures[0];
    1710            0 :     tree res_op1;
    1711            0 :     res_op1 = captures[2];
    1712            0 :     tree _r;
    1713            0 :     _r = maybe_build_call_expr_loc (loc, copysigns, type, 2, res_op0, res_op1);
    1714            0 :     if (!_r)
    1715            0 :       goto next_after_fail580;
    1716            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1717            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1718            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 471, __FILE__, __LINE__, true);
    1719              :     return _r;
    1720              :   }
    1721              : next_after_fail580:;
    1722              :   return NULL_TREE;
    1723              : }
    1724              : 
    1725              : tree
    1726         2749 : generic_simplify_318 (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 (div))
    1729              : {
    1730         2749 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1731         2749 :   if (!TYPE_UNSIGNED (type)
    1732              : )
    1733              :     {
    1734         1683 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail589;
    1735         1683 :       {
    1736         1683 :         tree res_op0;
    1737         1683 :         res_op0 = captures[0];
    1738         1683 :         tree _r;
    1739         1683 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    1740         1683 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1741            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1742         1683 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 478, __FILE__, __LINE__, true);
    1743         1683 :         return _r;
    1744              :       }
    1745            0 : next_after_fail589:;
    1746              :     }
    1747              :   return NULL_TREE;
    1748              : }
    1749              : 
    1750              : tree
    1751        46817 : generic_simplify_324 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1752              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1753              :  const enum tree_code ARG_UNUSED (div))
    1754              : {
    1755        46817 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1756        46817 :   if (integer_pow2p (captures[2])
    1757        37526 :  && tree_int_cst_sgn (captures[2]) > 0
    1758        37526 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    1759        93634 :  && wi::to_wide (captures[2]) + wi::to_wide (captures[1]) == 0
    1760              : )
    1761              :     {
    1762            1 :       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail596;
    1763            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail596;
    1764            1 :       {
    1765            1 :         tree res_op0;
    1766            1 :         {
    1767            1 :           tree _o1[1], _r1;
    1768            1 :           _o1[0] = captures[0];
    1769            1 :           if (TREE_TYPE (_o1[0]) != type)
    1770              :             {
    1771            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1772              :             }
    1773              :           else
    1774              :             _r1 = _o1[0];
    1775            1 :           res_op0 = _r1;
    1776              :         }
    1777            1 :         tree res_op1;
    1778            1 :         res_op1 =  build_int_cst (integer_type_node,
    1779            1 :  wi::exact_log2 (wi::to_wide (captures[2])));
    1780            1 :         tree _r;
    1781            1 :         _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    1782            1 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1783            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1784            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 485, __FILE__, __LINE__, true);
    1785            1 :         return _r;
    1786              :       }
    1787              : next_after_fail596:;
    1788              :     }
    1789              :   return NULL_TREE;
    1790              : }
    1791              : 
    1792              : tree
    1793          529 : generic_simplify_331 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1794              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1795              :  const enum tree_code ARG_UNUSED (mod))
    1796              : {
    1797          529 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1798          529 :   if (!TYPE_UNSIGNED (type)
    1799              : )
    1800              :     {
    1801           20 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail603;
    1802           20 :       {
    1803           20 :         tree _r;
    1804           20 :         _r =  build_zero_cst (type);
    1805           20 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1806            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1807           20 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1808            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1809           20 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 492, __FILE__, __LINE__, true);
    1810           20 :         return _r;
    1811              :       }
    1812            0 : next_after_fail603:;
    1813              :     }
    1814              :   return NULL_TREE;
    1815              : }
    1816              : 
    1817              : tree
    1818            3 : generic_simplify_342 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1819              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1820              :  const combined_fn ARG_UNUSED (TANH),
    1821              :  const combined_fn ARG_UNUSED (SINH),
    1822              :  const combined_fn ARG_UNUSED (COSH))
    1823              : {
    1824            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1825            3 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1826              : )
    1827              :     {
    1828            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail616;
    1829            3 :       {
    1830            3 :         tree res_op0;
    1831            3 :         res_op0 = build_one_cst (type);
    1832            3 :         tree res_op1;
    1833            3 :         {
    1834            3 :           tree _o1[1], _r1;
    1835            3 :           _o1[0] = captures[1];
    1836            3 :           _r1 = maybe_build_call_expr_loc (loc, COSH, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1837            3 :           if (!_r1)
    1838            0 :             goto next_after_fail616;
    1839            3 :           res_op1 = _r1;
    1840              :         }
    1841            3 :         tree _r;
    1842            3 :         _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1843            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 505, __FILE__, __LINE__, true);
    1844            3 :         return _r;
    1845              :       }
    1846              : next_after_fail616:;
    1847              :     }
    1848              :   return NULL_TREE;
    1849              : }
    1850              : 
    1851              : tree
    1852           20 : generic_simplify_350 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1853              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1854              :  const enum tree_code ARG_UNUSED (cmp),
    1855              :  const enum tree_code ARG_UNUSED (minmax))
    1856              : {
    1857           20 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1858           20 :   {
    1859           20 :  tree_code code = minmax_from_comparison (cmp, captures[0], captures[1], captures[0], captures[3]);
    1860           20 :       if (code == MIN_EXPR
    1861              : )
    1862              :         {
    1863            1 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail627;
    1864            1 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail627;
    1865            1 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail627;
    1866            1 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail627;
    1867            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail627;
    1868            1 :           {
    1869            1 :             tree res_op0;
    1870            1 :             {
    1871            1 :               tree _o1[2], _r1;
    1872            1 :               _o1[0] = captures[0];
    1873            1 :               _o1[1] = captures[3];
    1874            1 :               _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1875            1 :               res_op0 = _r1;
    1876              :             }
    1877            1 :             tree res_op1;
    1878            1 :             res_op1 = captures[2];
    1879            1 :             tree _r;
    1880            1 :             _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    1881            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 516, __FILE__, __LINE__, true);
    1882            1 :             return _r;
    1883              :           }
    1884              : next_after_fail627:;
    1885              :         }
    1886              :       else
    1887              :         {
    1888           19 :           if (code == MAX_EXPR
    1889              : )
    1890              :             {
    1891            3 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail628;
    1892            3 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail628;
    1893            3 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail628;
    1894            3 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail628;
    1895            3 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail628;
    1896            3 :               {
    1897            3 :                 tree res_op0;
    1898            3 :                 {
    1899            3 :                   tree _o1[2], _r1;
    1900            3 :                   _o1[0] = captures[0];
    1901            3 :                   _o1[1] = captures[3];
    1902            3 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1903            3 :                   res_op0 = _r1;
    1904              :                 }
    1905            3 :                 tree res_op1;
    1906            3 :                 res_op1 = captures[2];
    1907            3 :                 tree _r;
    1908            3 :                 _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    1909            3 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 517, __FILE__, __LINE__, true);
    1910            3 :                 return _r;
    1911              :               }
    1912              : next_after_fail628:;
    1913              :             }
    1914              :         }
    1915              :   }
    1916              :   return NULL_TREE;
    1917              : }
    1918              : 
    1919              : tree
    1920           36 : generic_simplify_366 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1921              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1922              :  const enum tree_code ARG_UNUSED (op))
    1923              : {
    1924           36 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1925           36 :   {
    1926           36 :  auto c1 = wi::to_wide (captures[1]);
    1927           36 :  auto c2 = wi::to_wide (captures[2]);
    1928           36 :       if (wi::popcount (c1) == 1
    1929          120 :  && ((op == PLUS_EXPR && wi::eq_p (wi::neg (c2), c1))
    1930           48 :  || (op == BIT_AND_EXPR && wi::eq_p (wi::bit_not (c2), c1)))
    1931              : )
    1932              :         {
    1933           24 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail646;
    1934           24 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail646;
    1935           24 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail646;
    1936           24 :           {
    1937           24 :             tree res_op0;
    1938           24 :             res_op0 = captures[0];
    1939           24 :             tree res_op1;
    1940           24 :             res_op1 = captures[1];
    1941           24 :             tree _r;
    1942           24 :             _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    1943           24 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 535, __FILE__, __LINE__, true);
    1944           24 :             return _r;
    1945              :           }
    1946           12 : next_after_fail646:;
    1947              :         }
    1948              :   }
    1949           12 :   return NULL_TREE;
    1950              : }
    1951              : 
    1952              : tree
    1953         1682 : generic_simplify_376 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1954              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1955              : {
    1956         1682 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1957         1682 :   if (INTEGRAL_TYPE_P (type)
    1958              : )
    1959              :     {
    1960         1682 :       {
    1961         1682 :  tree itype = TREE_TYPE (captures[2]);
    1962         1682 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail657;
    1963         1682 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail657;
    1964         1682 :           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail657;
    1965         1682 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail657;
    1966         1682 :           {
    1967         1682 :             tree res_op0;
    1968         1682 :             {
    1969         1682 :               tree _o1[2], _r1;
    1970         1682 :               _o1[0] = captures[2];
    1971         1682 :               {
    1972         1682 :                 tree _o2[1], _r2;
    1973         1682 :                 _o2[0] = captures[0];
    1974         1682 :                 if (TREE_TYPE (_o2[0]) != itype)
    1975              :                   {
    1976         1681 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    1977              :                   }
    1978              :                 else
    1979              :                   _r2 = _o2[0];
    1980         1682 :                 _o1[1] = _r2;
    1981              :               }
    1982         1682 :               _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1983         1682 :               res_op0 = _r1;
    1984              :             }
    1985         1682 :             tree _r;
    1986         1682 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1987         1682 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 545, __FILE__, __LINE__, true);
    1988         1682 :             return _r;
    1989              :           }
    1990              : next_after_fail657:;
    1991              :       }
    1992              :     }
    1993              :   return NULL_TREE;
    1994              : }
    1995              : 
    1996              : tree
    1997       479543 : generic_simplify_385 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1998              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1999              :  const enum tree_code ARG_UNUSED (op))
    2000              : {
    2001       479543 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2002       959085 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2003       958998 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    2004       297923 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
    2005       959042 :  && (CONSTANT_CLASS_P (captures[1]) || single_use (captures[0]))
    2006              : )
    2007              :     {
    2008       297850 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail670;
    2009       297850 :       {
    2010       297850 :         tree res_op0;
    2011       297850 :         res_op0 = captures[1];
    2012       297850 :         tree res_op1;
    2013       297850 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2014       297850 :         tree _r;
    2015       297850 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2016       297850 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2017            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2018       297850 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 557, __FILE__, __LINE__, true);
    2019       297850 :         return _r;
    2020              :       }
    2021            0 : next_after_fail670:;
    2022              :     }
    2023              :   return NULL_TREE;
    2024              : }
    2025              : 
    2026              : tree
    2027           64 : generic_simplify_392 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2028              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2029              :  const enum tree_code ARG_UNUSED (minmax),
    2030              :  const enum tree_code ARG_UNUSED (cmp),
    2031              :  const enum tree_code ARG_UNUSED (comb))
    2032              : {
    2033           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2034           64 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail678;
    2035           64 :   {
    2036           64 :     if (! tree_invariant_p (captures[2])) goto next_after_fail678;
    2037           64 :     tree res_op0;
    2038           64 :     {
    2039           64 :       tree _o1[2], _r1;
    2040           64 :       _o1[0] = captures[0];
    2041           64 :       _o1[1] = unshare_expr (captures[2]);
    2042           64 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
    2043           64 :       res_op0 = _r1;
    2044              :     }
    2045           64 :     tree res_op1;
    2046           64 :     {
    2047           64 :       tree _o1[2], _r1;
    2048           64 :       _o1[0] = captures[1];
    2049           64 :       _o1[1] = captures[2];
    2050           64 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
    2051           64 :       res_op1 = _r1;
    2052              :     }
    2053           64 :     tree _r;
    2054           64 :     _r = fold_build2_loc (loc, comb, type, res_op0, res_op1);
    2055           64 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 565, __FILE__, __LINE__, true);
    2056              :     return _r;
    2057              :   }
    2058              : next_after_fail678:;
    2059              :   return NULL_TREE;
    2060              : }
    2061              : 
    2062              : tree
    2063            0 : generic_simplify_404 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2064              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2065              :  const enum tree_code ARG_UNUSED (cmp),
    2066              :  const enum tree_code ARG_UNUSED (out))
    2067              : {
    2068            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2069            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2070            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2071              : )
    2072              :     {
    2073            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail722;
    2074            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail722;
    2075            0 :       {
    2076            0 :         tree res_op0;
    2077            0 :         {
    2078            0 :           tree _o1[1], _r1;
    2079            0 :           _o1[0] = captures[0];
    2080            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2081            0 :           res_op0 = _r1;
    2082              :         }
    2083            0 :         tree res_op1;
    2084            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2085            0 :         tree _r;
    2086            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2087            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 592, __FILE__, __LINE__, true);
    2088            0 :         return _r;
    2089              :       }
    2090              : next_after_fail722:;
    2091              :     }
    2092              :   return NULL_TREE;
    2093              : }
    2094              : 
    2095              : tree
    2096            0 : generic_simplify_410 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2097              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2098              :  const enum tree_code ARG_UNUSED (op),
    2099              :  const enum tree_code ARG_UNUSED (cmp))
    2100              : {
    2101            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2102            0 :   {
    2103            0 :  bool ok = true;
    2104            0 :  HOST_WIDE_INT val = 0;
    2105            0 :  if (!tree_fits_shwi_p (captures[3]))
    2106              :  ok = false;
    2107              :  else
    2108              :  {
    2109            0 :  val = tree_to_shwi (captures[3]);
    2110            0 :  if (op == GT_EXPR || op == LE_EXPR)
    2111              :  {
    2112            0 :  if (val == HOST_WIDE_INT_MAX)
    2113              :  ok = false;
    2114              :  else
    2115            0 :  val++;
    2116              :  }
    2117              :  }
    2118            0 :  HOST_WIDE_INT zero_val = tree_to_shwi (captures[2]);
    2119            0 :  tree type0 = TREE_TYPE (captures[1]);
    2120            0 :  int prec = TYPE_PRECISION (type0);
    2121            0 :  if (prec > MAX_FIXED_MODE_SIZE)
    2122            0 :  ok = false;
    2123            0 :       if (val <= 0
    2124              : )
    2125              :         {
    2126            0 :           if (ok && zero_val >= val
    2127              : )
    2128              :             {
    2129            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail733;
    2130            0 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail733;
    2131            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail733;
    2132            0 :               {
    2133            0 :                 tree _r;
    2134            0 :                 _r =  constant_boolean_node (cmp == EQ_EXPR, type);
    2135            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2136            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2137            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 603, __FILE__, __LINE__, true);
    2138            0 :                 return _r;
    2139              :               }
    2140              : next_after_fail733:;
    2141              :             }
    2142              :         }
    2143              :       else
    2144              :         {
    2145            0 :           if (val >= prec
    2146              : )
    2147              :             {
    2148            0 :               if (ok && zero_val < val
    2149              : )
    2150              :                 {
    2151            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail734;
    2152            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail734;
    2153            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail734;
    2154            0 :                   {
    2155            0 :                     tree _r;
    2156            0 :                     _r =  constant_boolean_node (cmp != EQ_EXPR, type);
    2157            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2158            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2159            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 604, __FILE__, __LINE__, true);
    2160            0 :                     return _r;
    2161              :                   }
    2162              : next_after_fail734:;
    2163              :                 }
    2164              :             }
    2165              :           else
    2166              :             {
    2167            0 :               if (ok && (zero_val < 0 || zero_val >= prec)
    2168              : )
    2169              :                 {
    2170            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail735;
    2171            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail735;
    2172            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail735;
    2173            0 :                   {
    2174            0 :                     tree res_op0;
    2175            0 :                     {
    2176            0 :                       tree _o1[2], _r1;
    2177            0 :                       _o1[0] = captures[1];
    2178            0 :                       _o1[1] =  wide_int_to_tree (type0,
    2179            0 :  wi::mask (val, false, prec));
    2180            0 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2181            0 :                       res_op0 = _r1;
    2182              :                     }
    2183            0 :                     tree res_op1;
    2184            0 :                     res_op1 =  build_zero_cst (type0);
    2185            0 :                     tree _r;
    2186            0 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2187            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 605, __FILE__, __LINE__, true);
    2188            0 :                     return _r;
    2189              :                   }
    2190              : next_after_fail735:;
    2191              :                 }
    2192              :             }
    2193              :         }
    2194              :   }
    2195              :   return NULL_TREE;
    2196              : }
    2197              : 
    2198              : tree
    2199      1690664 : generic_simplify_424 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2200              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2201              :  const enum tree_code ARG_UNUSED (shift))
    2202              : {
    2203      1690664 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2204      1690664 :   if ((
    2205              : 
    2206      1690664 :  || !sanitize_flags_p (SANITIZE_SHIFT_EXPONENT))
    2207      1688714 :  && (TYPE_UNSIGNED (type)
    2208       405129 :  || shift == LSHIFT_EXPR
    2209       207033 :  || tree_expr_nonnegative_p (captures[0]))
    2210      3174360 :  && wi::ges_p (wi::to_wide (uniform_integer_cst_p (captures[1])),
    2211      3173138 :  element_precision (type))
    2212              : )
    2213              :     {
    2214         1222 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail753;
    2215         1222 :       {
    2216         1222 :         tree _r;
    2217         1222 :         _r =  build_zero_cst (type);
    2218         1222 :         if (TREE_SIDE_EFFECTS (captures[0]))
    2219            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2220         1222 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2221            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2222         1222 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 619, __FILE__, __LINE__, true);
    2223         1222 :         return _r;
    2224              :       }
    2225            0 : next_after_fail753:;
    2226              :     }
    2227              :   return NULL_TREE;
    2228              : }
    2229              : 
    2230              : tree
    2231           90 : generic_simplify_430 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2232              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2233              :  const enum tree_code ARG_UNUSED (op))
    2234              : {
    2235           90 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2236           90 :   {
    2237           90 :  unsigned int prec = element_precision (type);
    2238           90 :       if (wi::ge_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    2239           90 :  && wi::lt_p (wi::to_wide (captures[1]), prec, TYPE_SIGN (TREE_TYPE (captures[1])))
    2240           90 :  && wi::ge_p (wi::to_wide (captures[2]), 0, TYPE_SIGN (TREE_TYPE (captures[2])))
    2241          180 :  && wi::lt_p (wi::to_wide (captures[2]), prec, TYPE_SIGN (TREE_TYPE (captures[2])))
    2242              : )
    2243              :         {
    2244           90 :           {
    2245           90 :  unsigned int low = (tree_to_uhwi (captures[1])
    2246           90 :  + tree_to_uhwi (captures[2]));
    2247           90 :               if (low >= prec
    2248              : )
    2249              :                 {
    2250           25 :                   if (op == LROTATE_EXPR || op == RROTATE_EXPR
    2251              : )
    2252              :                     {
    2253            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail759;
    2254            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail759;
    2255            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail759;
    2256            0 :                       {
    2257            0 :                         tree res_op0;
    2258            0 :                         res_op0 = captures[0];
    2259            0 :                         tree res_op1;
    2260            0 :                         res_op1 =  build_int_cst (TREE_TYPE (captures[1]), low % prec);
    2261            0 :                         tree _r;
    2262            0 :                         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2263            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 624, __FILE__, __LINE__, true);
    2264           90 :                         return _r;
    2265              :                       }
    2266              : next_after_fail759:;
    2267              :                     }
    2268              :                   else
    2269              :                     {
    2270           25 :                       if (TYPE_UNSIGNED (type) || op == LSHIFT_EXPR
    2271              : )
    2272              :                         {
    2273           24 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail760;
    2274           24 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail760;
    2275           24 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail760;
    2276           24 :                           {
    2277           24 :                             tree _r;
    2278           24 :                             _r =  build_zero_cst (type);
    2279           24 :                             if (TREE_SIDE_EFFECTS (captures[0]))
    2280           14 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2281           24 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 625, __FILE__, __LINE__, true);
    2282           24 :                             return _r;
    2283              :                           }
    2284              : next_after_fail760:;
    2285              :                         }
    2286              :                       else
    2287              :                         {
    2288            1 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail761;
    2289            1 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail761;
    2290            1 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail761;
    2291            1 :                           {
    2292            1 :                             tree res_op0;
    2293            1 :                             res_op0 = captures[0];
    2294            1 :                             tree res_op1;
    2295            1 :                             res_op1 =  build_int_cst (TREE_TYPE (captures[1]), prec - 1);
    2296            1 :                             tree _r;
    2297            1 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2298            1 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 626, __FILE__, __LINE__, true);
    2299            1 :                             return _r;
    2300              :                           }
    2301              : next_after_fail761:;
    2302              :                         }
    2303              :                     }
    2304              :                 }
    2305              :               else
    2306              :                 {
    2307           65 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail762;
    2308           65 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail762;
    2309           65 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail762;
    2310           65 :                   {
    2311           65 :                     tree res_op0;
    2312           65 :                     res_op0 = captures[0];
    2313           65 :                     tree res_op1;
    2314           65 :                     res_op1 =  build_int_cst (TREE_TYPE (captures[1]), low);
    2315           65 :                     tree _r;
    2316           65 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2317           65 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 627, __FILE__, __LINE__, true);
    2318           65 :                     return _r;
    2319              :                   }
    2320              : next_after_fail762:;
    2321              :                 }
    2322              :           }
    2323              :         }
    2324              :   }
    2325            0 :   return NULL_TREE;
    2326              : }
    2327              : 
    2328              : tree
    2329            0 : generic_simplify_446 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2330              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2331              :  const combined_fn ARG_UNUSED (coss),
    2332              :  const combined_fn ARG_UNUSED (atans),
    2333              :  const combined_fn ARG_UNUSED (sqrts),
    2334              :  const combined_fn ARG_UNUSED (copysigns))
    2335              : {
    2336            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2337            0 :   {
    2338            0 :  REAL_VALUE_TYPE r_cst;
    2339            0 :  build_sinatan_real (&r_cst, type);
    2340            0 :  tree t_cst = build_real (type, r_cst);
    2341            0 :  tree t_one = build_one_cst (type);
    2342            0 :  tree t_zero = build_zero_cst (type);
    2343            0 :       if (SCALAR_FLOAT_TYPE_P (type)
    2344              : )
    2345              :         {
    2346            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail796;
    2347            0 :           {
    2348            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail796;
    2349            0 :             tree res_op0;
    2350            0 :             {
    2351            0 :               tree _o1[2], _r1;
    2352            0 :               {
    2353            0 :                 tree _o2[1], _r2;
    2354            0 :                 _o2[0] = unshare_expr (captures[1]);
    2355            0 :                 _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    2356            0 :                 _o1[0] = _r2;
    2357              :               }
    2358            0 :               _o1[1] =  t_cst;
    2359            0 :               _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    2360            0 :               res_op0 = _r1;
    2361              :             }
    2362            0 :             tree res_op1;
    2363            0 :             {
    2364            0 :               tree _o1[2], _r1;
    2365            0 :               _o1[0] =  t_one;
    2366            0 :               {
    2367            0 :                 tree _o2[1], _r2;
    2368            0 :                 {
    2369            0 :                   tree _o3[2], _r3;
    2370            0 :                   {
    2371            0 :                     tree _o4[2], _r4;
    2372            0 :                     _o4[0] = unshare_expr (captures[1]);
    2373            0 :                     _o4[1] = unshare_expr (captures[1]);
    2374            0 :                     _r4 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
    2375            0 :                     _o3[0] = _r4;
    2376              :                   }
    2377            0 :                   _o3[1] =  t_one;
    2378            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2379            0 :                   _o2[0] = _r3;
    2380              :                 }
    2381            0 :                 _r2 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o2[0]), 1, _o2[0]);
    2382            0 :                 if (!_r2)
    2383            0 :                   goto next_after_fail796;
    2384            0 :                 _o1[1] = _r2;
    2385              :               }
    2386            0 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2387            0 :               res_op1 = _r1;
    2388              :             }
    2389            0 :             tree res_op2;
    2390            0 :             {
    2391            0 :               tree _o1[2], _r1;
    2392            0 :               _o1[0] =  t_zero;
    2393            0 :               _o1[1] = captures[1];
    2394            0 :               _r1 = maybe_build_call_expr_loc (loc, copysigns, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
    2395            0 :               if (!_r1)
    2396            0 :                 goto next_after_fail796;
    2397            0 :               res_op2 = _r1;
    2398              :             }
    2399            0 :             tree _r;
    2400            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2401            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 648, __FILE__, __LINE__, true);
    2402            0 :             return _r;
    2403              :           }
    2404            0 : next_after_fail796:;
    2405              :         }
    2406              :   }
    2407            0 :   return NULL_TREE;
    2408              : }
    2409              : 
    2410              : tree
    2411            0 : generic_simplify_452 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2412              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2413              : {
    2414            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2415            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail802;
    2416            0 :   {
    2417            0 :     tree _r;
    2418            0 :     _r = captures[0];
    2419            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2420            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2421            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 654, __FILE__, __LINE__, true);
    2422              :     return _r;
    2423              :   }
    2424            0 : next_after_fail802:;
    2425            0 :   return NULL_TREE;
    2426              : }
    2427              : 
    2428              : tree
    2429            0 : generic_simplify_456 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2430              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2431              :  const combined_fn ARG_UNUSED (HYPOT))
    2432              : {
    2433            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2434            0 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    2435              : )
    2436              :     {
    2437            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail806;
    2438            0 :       {
    2439            0 :         tree res_op0;
    2440            0 :         {
    2441            0 :           tree _o1[1], _r1;
    2442            0 :           _o1[0] = captures[0];
    2443            0 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2444            0 :           res_op0 = _r1;
    2445              :         }
    2446            0 :         tree res_op1;
    2447            0 :         res_op1 =  build_real_truncate (type, dconst_sqrt2 ());
    2448            0 :         tree _r;
    2449            0 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2450            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 658, __FILE__, __LINE__, true);
    2451            0 :         return _r;
    2452              :       }
    2453            0 : next_after_fail806:;
    2454              :     }
    2455              :   return NULL_TREE;
    2456              : }
    2457              : 
    2458              : tree
    2459       126893 : generic_simplify_462 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2460              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2461              : {
    2462       126893 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2463       126893 :   {
    2464       126893 :  bool wascmp;
    2465       126893 :       if (bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
    2466       126893 :  && (!wascmp || element_precision (type) == 1)
    2467              : )
    2468              :         {
    2469            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail812;
    2470            1 :           {
    2471            1 :             tree res_op0;
    2472            1 :             res_op0 = captures[0];
    2473            1 :             tree res_op1;
    2474            1 :             res_op1 = captures[2];
    2475            1 :             tree _r;
    2476            1 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2477            1 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2478            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2479            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 664, __FILE__, __LINE__, true);
    2480            1 :             return _r;
    2481              :           }
    2482            0 : next_after_fail812:;
    2483              :         }
    2484              :   }
    2485       126892 :   return NULL_TREE;
    2486              : }
    2487              : 
    2488              : tree
    2489           15 : generic_simplify_468 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2490              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2491              :  const enum tree_code ARG_UNUSED (bitop))
    2492              : {
    2493           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2494           15 :   {
    2495           15 :  tree pmop[2];
    2496           15 :  tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[4], NEGATE_EXPR, captures[1],
    2497              :  bitop, captures[2], captures[3], NULL_TREE, ERROR_MARK,
    2498              :  NULL_TREE, NULL_TREE, pmop);
    2499           15 :       if (utype
    2500              : )
    2501              :         {
    2502            7 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail818;
    2503            7 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail818;
    2504            7 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail818;
    2505            7 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail818;
    2506            7 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail818;
    2507            7 :           {
    2508            7 :             tree res_op0;
    2509            7 :             {
    2510            7 :               tree _o1[2], _r1;
    2511            7 :               {
    2512            7 :                 tree _o2[1], _r2;
    2513            7 :                 {
    2514            7 :                   tree _o3[1], _r3;
    2515            7 :                   _o3[0] =  pmop[0];
    2516            7 :                   if (TREE_TYPE (_o3[0]) != utype)
    2517              :                     {
    2518            4 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2519              :                     }
    2520              :                   else
    2521              :                     _r3 = _o3[0];
    2522            7 :                   _o2[0] = _r3;
    2523              :                 }
    2524            7 :                 _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    2525            7 :                 _o1[0] = _r2;
    2526              :               }
    2527            7 :               {
    2528            7 :                 tree _o2[1], _r2;
    2529            7 :                 _o2[0] = captures[4];
    2530            7 :                 if (TREE_TYPE (_o2[0]) != utype)
    2531              :                   {
    2532            4 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2533              :                   }
    2534              :                 else
    2535              :                   _r2 = _o2[0];
    2536            7 :                 _o1[1] = _r2;
    2537              :               }
    2538            7 :               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2539            7 :               res_op0 = _r1;
    2540              :             }
    2541            7 :             tree _r;
    2542            7 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2543            7 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 669, __FILE__, __LINE__, true);
    2544            7 :             return _r;
    2545              :           }
    2546            8 : next_after_fail818:;
    2547              :         }
    2548              :   }
    2549            8 :   return NULL_TREE;
    2550              : }
    2551              : 
    2552              : tree
    2553            0 : generic_simplify_483 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2554              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2555              :  const enum tree_code ARG_UNUSED (eqne))
    2556              : {
    2557            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2558            0 :   if (eqne == EQ_EXPR
    2559              : )
    2560              :     {
    2561            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail853;
    2562            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail853;
    2563            0 :       {
    2564            0 :         tree _r;
    2565            0 :         _r =  constant_boolean_node (false, type);
    2566            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2567            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2568            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 678, __FILE__, __LINE__, true);
    2569            0 :         return _r;
    2570              :       }
    2571              : next_after_fail853:;
    2572              :     }
    2573              :   else
    2574              :     {
    2575            0 :       if (eqne == NE_EXPR
    2576              : )
    2577              :         {
    2578            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail854;
    2579            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail854;
    2580            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail854;
    2581            0 :           {
    2582            0 :             tree _r;
    2583            0 :             _r = captures[0];
    2584            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 679, __FILE__, __LINE__, true);
    2585            0 :             return _r;
    2586              :           }
    2587              : next_after_fail854:;
    2588              :         }
    2589              :     }
    2590              :   return NULL_TREE;
    2591              : }
    2592              : 
    2593              : tree
    2594            0 : generic_simplify_492 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2595              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2596              : {
    2597            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2598            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2599            0 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    2600              : )
    2601              :     {
    2602            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail876;
    2603            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail876;
    2604            0 :       {
    2605            0 :         tree res_op0;
    2606            0 :         res_op0 = captures[3];
    2607            0 :         tree res_op1;
    2608            0 :         {
    2609            0 :           tree _o1[2], _r1;
    2610            0 :           _o1[0] = captures[1];
    2611            0 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
    2612            0 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2613            0 :           res_op1 = _r1;
    2614              :         }
    2615            0 :         tree _r;
    2616            0 :         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2617            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 698, __FILE__, __LINE__, true);
    2618            0 :         return _r;
    2619              :       }
    2620              : next_after_fail876:;
    2621              :     }
    2622              :   return NULL_TREE;
    2623              : }
    2624              : 
    2625              : tree
    2626          234 : generic_simplify_498 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2627              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2628              :  const combined_fn ARG_UNUSED (bswap))
    2629              : {
    2630          234 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2631          234 :   if (BITS_PER_UNIT == 8
    2632          234 :  && tree_fits_uhwi_p (captures[3])
    2633          234 :  && tree_fits_uhwi_p (captures[4])
    2634              : )
    2635              :     {
    2636          234 :       {
    2637          234 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
    2638          234 :  unsigned HOST_WIDE_INT bits = tree_to_uhwi (captures[3]);
    2639          234 :  unsigned HOST_WIDE_INT mask = tree_to_uhwi (captures[4]);
    2640          234 :  unsigned HOST_WIDE_INT lo = bits & 7;
    2641          234 :  unsigned HOST_WIDE_INT hi = bits - lo;
    2642          234 :           if (bits < prec
    2643          234 :  && mask < (256u>>lo)
    2644          468 :  && bits < TYPE_PRECISION (TREE_TYPE(captures[0]))
    2645              : )
    2646              :             {
    2647          234 :               {
    2648          234 :  unsigned HOST_WIDE_INT ns = (prec - (hi + 8)) + lo;
    2649          234 :                   if (ns == 0
    2650              : )
    2651              :                     {
    2652            1 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail890;
    2653            1 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail890;
    2654            1 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail890;
    2655            1 :                       {
    2656            1 :                         tree res_op0;
    2657            1 :                         {
    2658            1 :                           tree _o1[1], _r1;
    2659            1 :                           _o1[0] = captures[2];
    2660            1 :                           if (TREE_TYPE (_o1[0]) != type)
    2661              :                             {
    2662            1 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2663              :                             }
    2664              :                           else
    2665              :                             _r1 = _o1[0];
    2666            1 :                           res_op0 = _r1;
    2667              :                         }
    2668            1 :                         tree res_op1;
    2669            1 :                         res_op1 = captures[4];
    2670            1 :                         tree _r;
    2671            1 :                         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2672            1 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 703, __FILE__, __LINE__, true);
    2673            1 :                         return _r;
    2674              :                       }
    2675              : next_after_fail890:;
    2676              :                     }
    2677              :                   else
    2678              :                     {
    2679          233 :                       {
    2680          233 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2681          233 :  tree nst = build_int_cst (integer_type_node, ns);
    2682          233 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail891;
    2683          233 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail891;
    2684          233 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail891;
    2685          233 :                           {
    2686          233 :                             tree res_op0;
    2687          233 :                             {
    2688          233 :                               tree _o1[1], _r1;
    2689          233 :                               {
    2690          233 :                                 tree _o2[2], _r2;
    2691          233 :                                 {
    2692          233 :                                   tree _o3[1], _r3;
    2693          233 :                                   _o3[0] = captures[2];
    2694          233 :                                   if (TREE_TYPE (_o3[0]) != utype)
    2695              :                                     {
    2696            0 :                                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2697              :                                     }
    2698              :                                   else
    2699              :                                     _r3 = _o3[0];
    2700          233 :                                   _o2[0] = _r3;
    2701              :                                 }
    2702          233 :                                 _o2[1] = nst;
    2703          233 :                                 _r2 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o2[0], _o2[1]);
    2704          233 :                                 _o1[0] = _r2;
    2705              :                               }
    2706          233 :                               if (TREE_TYPE (_o1[0]) != type)
    2707              :                                 {
    2708          101 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2709              :                                 }
    2710              :                               else
    2711              :                                 _r1 = _o1[0];
    2712          233 :                               res_op0 = _r1;
    2713              :                             }
    2714          233 :                             tree res_op1;
    2715          233 :                             res_op1 = captures[4];
    2716          233 :                             tree _r;
    2717          233 :                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2718          233 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 704, __FILE__, __LINE__, true);
    2719          233 :                             return _r;
    2720              :                           }
    2721              : next_after_fail891:;
    2722              :                       }
    2723              :                     }
    2724              :               }
    2725              :             }
    2726              :       }
    2727              :     }
    2728              :   return NULL_TREE;
    2729              : }
    2730              : 
    2731              : tree
    2732            0 : generic_simplify_500 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2733              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2734              : {
    2735            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2736            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail893;
    2737            0 :   {
    2738            0 :     tree res_op0;
    2739            0 :     res_op0 = captures[0];
    2740            0 :     tree res_op1;
    2741            0 :     res_op1 = captures[1];
    2742            0 :     tree _r;
    2743            0 :     _r = fold_build2_loc (loc, LTGT_EXPR, type, res_op0, res_op1);
    2744            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 706, __FILE__, __LINE__, true);
    2745              :     return _r;
    2746              :   }
    2747            0 : next_after_fail893:;
    2748            0 :   return NULL_TREE;
    2749              : }
    2750              : 
    2751              : tree
    2752            0 : generic_simplify_501 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2753              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2754              : {
    2755            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2756            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail894;
    2757            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail894;
    2758            0 :   {
    2759            0 :     tree _r;
    2760            0 :     _r = captures[1];
    2761            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 707, __FILE__, __LINE__, true);
    2762              :     return _r;
    2763              :   }
    2764              : next_after_fail894:;
    2765              :   return NULL_TREE;
    2766              : }
    2767              : 
    2768              : tree
    2769       424388 : generic_simplify_503 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2770              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2771              :  const enum tree_code ARG_UNUSED (op))
    2772              : {
    2773       424388 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2774       848776 :   if (INTEGRAL_TYPE_P (type)
    2775       424388 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2776        68049 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2777        68049 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2778        68049 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2779        68049 :  && type_has_mode_precision_p (type)
    2780        68049 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2781           33 :  && types_match (captures[2], captures[4])
    2782           33 :  && (tree_int_cst_min_precision (captures[5], TYPE_SIGN (TREE_TYPE (captures[2])))
    2783           33 :  <= TYPE_PRECISION (TREE_TYPE (captures[2])))
    2784       424415 :  && (wi::to_wide (captures[5])
    2785       424442 :  & wi::mask (TYPE_PRECISION (TREE_TYPE (captures[2])),
    2786       424442 :  true, TYPE_PRECISION (type))) == 0
    2787              : )
    2788              :     {
    2789           25 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2790              : )
    2791              :         {
    2792           12 :           {
    2793           12 :  tree ntype = TREE_TYPE (captures[2]);
    2794           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail896;
    2795           12 :               {
    2796           12 :                 tree res_op0;
    2797           12 :                 {
    2798           12 :                   tree _o1[2], _r1;
    2799           12 :                   {
    2800           12 :                     tree _o2[2], _r2;
    2801           12 :                     _o2[0] = captures[2];
    2802           12 :                     _o2[1] = captures[4];
    2803           12 :                     _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2804           12 :                     _o1[0] = _r2;
    2805              :                   }
    2806           12 :                   {
    2807           12 :                     tree _o2[1], _r2;
    2808           12 :                     _o2[0] = captures[5];
    2809           12 :                     if (TREE_TYPE (_o2[0]) != ntype)
    2810              :                       {
    2811           12 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, ntype, _o2[0]);
    2812              :                       }
    2813              :                     else
    2814              :                       _r2 = _o2[0];
    2815           12 :                     _o1[1] = _r2;
    2816              :                   }
    2817           12 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2818           12 :                   res_op0 = _r1;
    2819              :                 }
    2820           12 :                 tree _r;
    2821           12 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2822           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 708, __FILE__, __LINE__, true);
    2823           12 :                 return _r;
    2824              :               }
    2825            0 : next_after_fail896:;
    2826              :           }
    2827              :         }
    2828              :       else
    2829              :         {
    2830           13 :           {
    2831           13 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2832           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail897;
    2833           13 :               {
    2834           13 :                 tree res_op0;
    2835           13 :                 {
    2836           13 :                   tree _o1[2], _r1;
    2837           13 :                   {
    2838           13 :                     tree _o2[2], _r2;
    2839           13 :                     {
    2840           13 :                       tree _o3[1], _r3;
    2841           13 :                       _o3[0] = captures[2];
    2842           13 :                       if (TREE_TYPE (_o3[0]) != utype)
    2843              :                         {
    2844           13 :                           _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2845              :                         }
    2846              :                       else
    2847              :                         _r3 = _o3[0];
    2848           13 :                       _o2[0] = _r3;
    2849              :                     }
    2850           13 :                     {
    2851           13 :                       tree _o3[1], _r3;
    2852           13 :                       _o3[0] = captures[4];
    2853           13 :                       if (TREE_TYPE (_o3[0]) != utype)
    2854              :                         {
    2855           13 :                           _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2856              :                         }
    2857              :                       else
    2858              :                         _r3 = _o3[0];
    2859           13 :                       _o2[1] = _r3;
    2860              :                     }
    2861           13 :                     _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2862           13 :                     _o1[0] = _r2;
    2863              :                   }
    2864           13 :                   {
    2865           13 :                     tree _o2[1], _r2;
    2866           13 :                     _o2[0] = captures[5];
    2867           13 :                     if (TREE_TYPE (_o2[0]) != utype)
    2868              :                       {
    2869           13 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2870              :                       }
    2871              :                     else
    2872              :                       _r2 = _o2[0];
    2873           13 :                     _o1[1] = _r2;
    2874              :                   }
    2875           13 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2876           13 :                   res_op0 = _r1;
    2877              :                 }
    2878           13 :                 tree _r;
    2879           13 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2880           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 709, __FILE__, __LINE__, true);
    2881           13 :                 return _r;
    2882              :               }
    2883            0 : next_after_fail897:;
    2884              :           }
    2885              :         }
    2886              :     }
    2887              :   return NULL_TREE;
    2888              : }
    2889              : 
    2890              : tree
    2891            0 : generic_simplify_533 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2892              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2893              :  const enum tree_code ARG_UNUSED (minmax))
    2894              : {
    2895            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2896            0 :   if (INTEGRAL_TYPE_P (type)
    2897            0 :  && TYPE_OVERFLOW_UNDEFINED (type)
    2898            0 :  && !TYPE_OVERFLOW_SANITIZED (type)
    2899              : )
    2900              :     {
    2901            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail929;
    2902            0 :       {
    2903            0 :         tree res_op0;
    2904            0 :         {
    2905            0 :           tree _o1[2], _r1;
    2906            0 :           _o1[0] = captures[1];
    2907            0 :           _o1[1] = captures[4];
    2908            0 :           _r1 = fold_build2_loc (loc, minmax, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2909            0 :           res_op0 = _r1;
    2910              :         }
    2911            0 :         tree res_op1;
    2912            0 :         res_op1 = captures[2];
    2913            0 :         tree _r;
    2914            0 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    2915            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 738, __FILE__, __LINE__, true);
    2916            0 :         return _r;
    2917              :       }
    2918            0 : next_after_fail929:;
    2919              :     }
    2920              :   return NULL_TREE;
    2921              : }
    2922              : 
    2923              : tree
    2924            2 : generic_simplify_542 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2925              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2926              :  const combined_fn ARG_UNUSED (func))
    2927              : {
    2928            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2929            2 :   if (types_match (captures[1], captures[3])
    2930            2 :  && (!sanitize_flags_p (SANITIZE_BUILTIN)
    2931            0 :  || (cfun && (cfun->curr_properties & PROP_ssa) != 0))
    2932              : )
    2933              :     {
    2934            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail952;
    2935            2 :       {
    2936            2 :         tree res_op0;
    2937            2 :         {
    2938            2 :           tree _o1[2], _r1;
    2939            2 :           _o1[0] = captures[1];
    2940            2 :           _o1[1] = captures[3];
    2941            2 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2942            2 :           res_op0 = _r1;
    2943              :         }
    2944            2 :         tree _r;
    2945            2 :         _r = maybe_build_call_expr_loc (loc, func, type, 1, res_op0);
    2946            2 :         if (!_r)
    2947            0 :           goto next_after_fail952;
    2948            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 749, __FILE__, __LINE__, true);
    2949            2 :         return _r;
    2950              :       }
    2951              : next_after_fail952:;
    2952              :     }
    2953              :   return NULL_TREE;
    2954              : }
    2955              : 
    2956              : tree
    2957            0 : generic_simplify_549 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2958              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2959              :  const combined_fn ARG_UNUSED (FMAX_ALL))
    2960              : {
    2961            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2962            0 :   if (flag_finite_math_only
    2963              : )
    2964              :     {
    2965            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail959;
    2966            0 :       {
    2967            0 :         tree res_op0;
    2968            0 :         res_op0 = captures[0];
    2969            0 :         tree res_op1;
    2970            0 :         res_op1 = captures[1];
    2971            0 :         tree _r;
    2972            0 :         _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
    2973            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 756, __FILE__, __LINE__, true);
    2974            0 :         return _r;
    2975              :       }
    2976            0 : next_after_fail959:;
    2977              :     }
    2978              :   return NULL_TREE;
    2979              : }
    2980              : 
    2981              : tree
    2982            0 : generic_simplify_557 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2983              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2984              :  const combined_fn ARG_UNUSED (cond_op))
    2985              : {
    2986            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2987            0 :   {
    2988            0 :  tree op_type = TREE_TYPE (captures[4]);
    2989            0 :       if (element_precision (type) == element_precision (op_type)
    2990              : )
    2991              :         {
    2992            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail967;
    2993            0 :           {
    2994            0 :             tree res_op0;
    2995            0 :             {
    2996            0 :               tree _o1[5], _r1;
    2997            0 :               _o1[0] = captures[0];
    2998            0 :               _o1[1] = captures[1];
    2999            0 :               _o1[2] = captures[2];
    3000            0 :               _o1[3] = captures[3];
    3001            0 :               {
    3002            0 :                 tree _o2[1], _r2;
    3003            0 :                 _o2[0] = captures[5];
    3004            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    3005              :                   {
    3006            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    3007              :                   }
    3008              :                 else
    3009              :                   _r2 = _o2[0];
    3010            0 :                 _o1[4] = _r2;
    3011              :               }
    3012            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]);
    3013            0 :               if (!_r1)
    3014            0 :                 goto next_after_fail967;
    3015            0 :               res_op0 = _r1;
    3016              :             }
    3017            0 :             tree _r;
    3018            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3019            0 :             if (TREE_SIDE_EFFECTS (captures[4]))
    3020            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3021            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 759, __FILE__, __LINE__, true);
    3022            0 :             return _r;
    3023              :           }
    3024              : next_after_fail967:;
    3025              :         }
    3026              :   }
    3027              :   return NULL_TREE;
    3028              : }
    3029              : 
    3030              : tree
    3031            0 : generic_simplify_566 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3032              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    3033              :  const enum tree_code ARG_UNUSED (rotate),
    3034              :  const enum tree_code ARG_UNUSED (orotate))
    3035              : {
    3036            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3037            0 :   {
    3038            0 :  auto prec = element_precision (TREE_TYPE (captures[0]));
    3039            0 :       if (prec == wi::to_wide (captures[2])
    3040              : )
    3041              :         {
    3042            0 :           if (expr_not_equal_to (captures[3], wi::uhwi (prec,
    3043            0 :  TYPE_PRECISION (TREE_TYPE (captures[3]))),
    3044              :  gimple_match_ctx (captures[1]))
    3045              : )
    3046              :             {
    3047            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail976;
    3048            0 :               {
    3049            0 :                 tree res_op0;
    3050            0 :                 res_op0 = captures[0];
    3051            0 :                 tree res_op1;
    3052            0 :                 res_op1 = captures[3];
    3053            0 :                 tree _r;
    3054            0 :                 _r = fold_build2_loc (loc, orotate, type, res_op0, res_op1);
    3055            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    3056            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3057            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 768, __FILE__, __LINE__, true);
    3058            0 :                 return _r;
    3059              :               }
    3060            0 : next_after_fail976:;
    3061              :             }
    3062              :           else
    3063              :             {
    3064            0 :               if (single_use (captures[1])
    3065            0 :  && pow2p_hwi (prec)
    3066            0 :  && cfun
    3067            0 :  && (fold_before_rtl_expansion_p ()
    3068            0 :  || !flag_tree_vrp
    3069            0 :  || optimize_debug)
    3070              : )
    3071              :                 {
    3072            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail977;
    3073            0 :                   {
    3074            0 :                     tree res_op0;
    3075            0 :                     res_op0 = captures[0];
    3076            0 :                     tree res_op1;
    3077            0 :                     {
    3078            0 :                       tree _o1[2], _r1;
    3079            0 :                       _o1[0] = captures[3];
    3080            0 :                       _o1[1] =  build_int_cst (TREE_TYPE (captures[3]), prec - 1);
    3081            0 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3082            0 :                       res_op1 = _r1;
    3083              :                     }
    3084            0 :                     tree _r;
    3085            0 :                     _r = fold_build2_loc (loc, orotate, type, res_op0, res_op1);
    3086            0 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    3087            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3088            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 769, __FILE__, __LINE__, true);
    3089            0 :                     return _r;
    3090              :                   }
    3091            0 : next_after_fail977:;
    3092              :                 }
    3093              :             }
    3094              :         }
    3095              :   }
    3096            0 :   return NULL_TREE;
    3097              : }
    3098              : 
    3099              : tree
    3100            0 : generic_simplify_587 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3101              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3102              :  const combined_fn ARG_UNUSED (floors),
    3103              :  const combined_fn ARG_UNUSED (truncs))
    3104              : {
    3105            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3106            0 :   if (canonicalize_math_p ()
    3107              : )
    3108              :     {
    3109            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1000;
    3110            0 :       {
    3111            0 :         tree res_op0;
    3112            0 :         res_op0 = captures[0];
    3113            0 :         tree _r;
    3114            0 :         _r = maybe_build_call_expr_loc (loc, truncs, type, 1, res_op0);
    3115            0 :         if (!_r)
    3116            0 :           goto next_after_fail1000;
    3117            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 792, __FILE__, __LINE__, true);
    3118            0 :         return _r;
    3119              :       }
    3120              : next_after_fail1000:;
    3121              :     }
    3122              :   return NULL_TREE;
    3123              : }
    3124              : 
    3125              : tree
    3126            0 : generic_simplify_594 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3127              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3128              :  const combined_fn ARG_UNUSED (ifn),
    3129              :  const combined_fn ARG_UNUSED (lfn),
    3130              :  const combined_fn ARG_UNUSED (llfn))
    3131              : {
    3132            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3133            0 :   if (canonicalize_math_p ()
    3134              : )
    3135              :     {
    3136            0 :       if (TYPE_PRECISION (integer_type_node)
    3137            0 :  == TYPE_PRECISION (long_integer_type_node)
    3138              : )
    3139              :         {
    3140            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1007;
    3141            0 :           {
    3142            0 :             tree res_op0;
    3143            0 :             res_op0 = captures[0];
    3144            0 :             tree _r;
    3145            0 :             _r = maybe_build_call_expr_loc (loc, lfn, type, 1, res_op0);
    3146            0 :             if (!_r)
    3147            0 :               goto next_after_fail1007;
    3148            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 799, __FILE__, __LINE__, true);
    3149            0 :             return _r;
    3150              :           }
    3151              : next_after_fail1007:;
    3152              :         }
    3153              :     }
    3154              :   return NULL_TREE;
    3155              : }
    3156              : 
    3157              : tree
    3158            0 : generic_simplify_605 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3159              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3160              : {
    3161            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3162            0 :   if (canonicalize_math_after_vectorization_p ()
    3163              : )
    3164              :     {
    3165              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1018;
    3166              :       {
    3167              :         tree res_op0;
    3168              :         res_op0 = captures[0];
    3169              :         tree res_op1;
    3170              :         res_op1 = captures[1];
    3171              :         tree res_op2;
    3172              :         res_op2 = captures[2];
    3173              :         tree _r;
    3174              :         _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3175              :         if (!_r)
    3176              :           goto next_after_fail1018;
    3177              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 810, __FILE__, __LINE__, true);
    3178              :         return _r;
    3179              :       }
    3180            0 : next_after_fail1018:;
    3181              :     }
    3182            0 :   return NULL_TREE;
    3183              : }
    3184              : 
    3185              : tree
    3186            0 : generic_simplify_614 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3187              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3188              : {
    3189            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3190            0 :   if (canonicalize_math_after_vectorization_p ()
    3191              : )
    3192              :     {
    3193              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1027;
    3194              :       {
    3195              :         tree res_op0;
    3196              :         res_op0 = captures[0];
    3197              :         tree res_op1;
    3198              :         res_op1 = captures[1];
    3199              :         tree res_op2;
    3200              :         res_op2 = captures[2];
    3201              :         tree res_op3;
    3202              :         res_op3 = captures[3];
    3203              :         tree res_op4;
    3204              :         res_op4 = captures[4];
    3205              :         tree _r;
    3206              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3207              :         if (!_r)
    3208              :           goto next_after_fail1027;
    3209              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 819, __FILE__, __LINE__, true);
    3210              :         return _r;
    3211              :       }
    3212            0 : next_after_fail1027:;
    3213              :     }
    3214            0 :   return NULL_TREE;
    3215              : }
    3216              : 
    3217              : tree
    3218            0 : generic_simplify_623 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3219              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3220              :  const combined_fn ARG_UNUSED (POPCOUNT))
    3221              : {
    3222            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3223            0 :   {
    3224            0 :  tree type0 = TREE_TYPE (captures[1]);
    3225            0 :  tree type2 = TREE_TYPE (captures[0]);
    3226            0 :       if (INTEGRAL_TYPE_P (type0)
    3227            0 :  && TYPE_PRECISION (type2) <= TYPE_PRECISION (type0)
    3228              : )
    3229              :         {
    3230            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1036;
    3231            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1036;
    3232            0 :           {
    3233            0 :             tree res_op0;
    3234            0 :             {
    3235            0 :               tree _o1[2], _r1;
    3236            0 :               {
    3237            0 :                 tree _o2[1], _r2;
    3238            0 :                 _o2[0] = captures[2];
    3239            0 :                 if (TREE_TYPE (_o2[0]) != type2)
    3240              :                   {
    3241            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, type2, _o2[0]);
    3242              :                   }
    3243              :                 else
    3244              :                   _r2 = _o2[0];
    3245            0 :                 _o1[0] = _r2;
    3246              :               }
    3247            0 :               _o1[1] =  build_zero_cst (type2);
    3248            0 :               _r1 = fold_build2_loc (loc, NE_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3249            0 :               res_op0 = _r1;
    3250              :             }
    3251            0 :             tree _r;
    3252            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3253            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 825, __FILE__, __LINE__, true);
    3254            0 :             return _r;
    3255              :           }
    3256              : next_after_fail1036:;
    3257              :         }
    3258              :   }
    3259              :   return NULL_TREE;
    3260              : }
    3261              : 
    3262              : tree
    3263            0 : generic_simplify_631 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3264              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3265              :  const enum tree_code ARG_UNUSED (rot),
    3266              :  const combined_fn ARG_UNUSED (parity))
    3267              : {
    3268            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3269            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3270            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3271            0 :  && (
    3272              : 
    3273            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3274            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3275            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3276              : )
    3277              :     {
    3278            0 :       {
    3279            0 :  tree type0 = TREE_TYPE (captures[0]);
    3280            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1046;
    3281            0 :           {
    3282            0 :             tree res_op0;
    3283            0 :             {
    3284            0 :               tree _o1[1], _r1;
    3285            0 :               _o1[0] = captures[2];
    3286            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3287              :                 {
    3288            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3289              :                 }
    3290              :               else
    3291              :                 _r1 = _o1[0];
    3292            0 :               res_op0 = _r1;
    3293              :             }
    3294            0 :             tree _r;
    3295            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3296            0 :             if (!_r)
    3297            0 :               goto next_after_fail1046;
    3298            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    3299            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3300            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 831, __FILE__, __LINE__, true);
    3301            0 :             return _r;
    3302              :           }
    3303              : next_after_fail1046:;
    3304              :       }
    3305              :     }
    3306              :   return NULL_TREE;
    3307              : }
    3308              : 
    3309              : tree
    3310    479807981 : generic_simplify_VIEW_CONVERT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3311              : {
    3312    479807981 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3313    479807981 :   {
    3314    479807981 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3315    959615962 :     if ((
    3316              : 
    3317              :  && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
    3318              :  || (
    3319              : 1
    3320    479807981 :  && type == TREE_TYPE (captures[0]))
    3321              : )
    3322              :       {
    3323    217086727 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1122;
    3324    217086727 :         {
    3325    217086727 :           tree _r;
    3326    217086727 :           _r = captures[0];
    3327    217086727 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 847, __FILE__, __LINE__, true);
    3328    217086727 :           return _r;
    3329              :         }
    3330            0 : next_after_fail1122:;
    3331              :       }
    3332              :   }
    3333    262721254 :   switch (TREE_CODE (_p0))
    3334              :     {
    3335     28931971 :     case VIEW_CONVERT_EXPR:
    3336     28931971 :       {
    3337     28931971 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3338     28931971 :         {
    3339     28931971 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3340     28931971 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1123;
    3341     28931971 :           {
    3342     28931971 :             tree res_op0;
    3343     28931971 :             res_op0 = captures[0];
    3344     28931971 :             tree _r;
    3345     28931971 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3346     28931971 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 881, __FILE__, __LINE__, true);
    3347    479807981 :             return _r;
    3348              :           }
    3349            0 : next_after_fail1123:;
    3350              :         }
    3351            0 :         break;
    3352              :       }
    3353            0 :     case BIT_FIELD_REF:
    3354            0 :       {
    3355            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3356            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3357            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3358            0 :         {
    3359            0 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3360            0 :           if (is_gimple_reg_type (type)
    3361            0 :  && (!INTEGRAL_TYPE_P (type)
    3362            0 :  || type_has_mode_precision_p (type))
    3363            0 :  && (!INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3364            0 :  || type_has_mode_precision_p (TREE_TYPE (captures[0])))
    3365              : )
    3366              :             {
    3367            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1124;
    3368            0 :               {
    3369            0 :                 tree res_op0;
    3370            0 :                 res_op0 = captures[1];
    3371            0 :                 tree res_op1;
    3372            0 :                 res_op1 = captures[2];
    3373            0 :                 tree res_op2;
    3374            0 :                 res_op2 = captures[3];
    3375            0 :                 tree _r;
    3376            0 :                 _r = fold_build3_loc (loc, BIT_FIELD_REF, type, res_op0, res_op1, res_op2);
    3377            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    3378            0 :                 return _r;
    3379              :               }
    3380            0 : next_after_fail1124:;
    3381              :             }
    3382              :         }
    3383            0 :         break;
    3384              :       }
    3385    233789283 :     default:;
    3386              :     }
    3387    233789283 :   {
    3388    233789283 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3389    231983553 :     if ((INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))
    3390      2810902 :  && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0])))
    3391    236321032 :  && TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    3392              : )
    3393              :       {
    3394      2151862 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1125;
    3395      2151862 :         {
    3396      2151862 :           tree res_op0;
    3397      2151862 :           res_op0 = captures[0];
    3398      2151862 :           tree _r;
    3399      2151862 :           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3400      2151862 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3401      2151862 :           return _r;
    3402              :         }
    3403            0 : next_after_fail1125:;
    3404              :       }
    3405              :   }
    3406    231637421 :   switch (TREE_CODE (_p0))
    3407              :     {
    3408         3498 :     CASE_CONVERT:
    3409         3498 :       {
    3410         3498 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3411         3498 :         {
    3412         3498 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3413         3498 :           {
    3414         3498 :  bool extended_bitint = false;
    3415         3498 :  if (BITINT_TYPE_P (TREE_TYPE (captures[0])))
    3416              :  {
    3417            0 :  struct bitint_info info;
    3418            0 :  extended_bitint
    3419            0 :  = targetm.c.bitint_type_info (TYPE_PRECISION (TREE_TYPE (captures[0])),
    3420              :  &info);
    3421            0 :  extended_bitint = extended_bitint && info.extended;
    3422              :  }
    3423         6996 :               if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0])))
    3424           71 :  && (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) || POINTER_TYPE_P (TREE_TYPE (captures[1])))
    3425           71 :  && !extended_bitint
    3426           71 :  && TYPE_SIZE (TREE_TYPE (captures[0])) == TYPE_SIZE (TREE_TYPE (captures[1]))
    3427         3498 :  && (TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))
    3428            0 :  || (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    3429            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    3430              : )
    3431              :                 {
    3432            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1126;
    3433            0 :                   {
    3434            0 :                     tree res_op0;
    3435            0 :                     res_op0 = captures[1];
    3436            0 :                     tree _r;
    3437            0 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3438            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 884, __FILE__, __LINE__, true);
    3439            0 :                     return _r;
    3440              :                   }
    3441            0 : next_after_fail1126:;
    3442              :                 }
    3443              :           }
    3444              :         }
    3445         3498 :         break;
    3446              :       }
    3447        83614 :     case CONSTRUCTOR:
    3448        83614 :       {
    3449        83614 :         {
    3450        83614 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3451        83614 :           {
    3452        83614 :  tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
    3453              :  ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
    3454        83614 :               if (CONSTRUCTOR_NELTS (ctor) == 0
    3455              : )
    3456              :                 {
    3457            6 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1127;
    3458            6 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1127;
    3459            6 :                   {
    3460            6 :                     tree _r;
    3461            6 :                     _r =  build_zero_cst (type);
    3462            6 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 885, __FILE__, __LINE__, true);
    3463            6 :                     return _r;
    3464              :                   }
    3465              : next_after_fail1127:;
    3466              :                 }
    3467              :               else
    3468              :                 {
    3469        83608 :                   if (CONSTRUCTOR_NELTS (ctor) == 1
    3470           40 :  && VECTOR_TYPE_P (TREE_TYPE (ctor))
    3471        83643 :  && operand_equal_p (TYPE_SIZE (type),
    3472           35 :  TYPE_SIZE (TREE_TYPE
    3473              :  (CONSTRUCTOR_ELT (ctor, 0)->value)))
    3474              : )
    3475              :                     {
    3476            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1128;
    3477            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1128;
    3478            0 :                       {
    3479            0 :                         tree res_op0;
    3480            0 :                         res_op0 =  CONSTRUCTOR_ELT (ctor, 0)->value;
    3481            0 :                         tree _r;
    3482            0 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3483            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 886, __FILE__, __LINE__, true);
    3484            0 :                         return _r;
    3485              :                       }
    3486              : next_after_fail1128:;
    3487              :                     }
    3488              :                 }
    3489              :           }
    3490              :         }
    3491              :         break;
    3492              :       }
    3493       289998 :     case VEC_COND_EXPR:
    3494       289998 :       {
    3495       289998 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3496       289998 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3497       289998 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3498       289998 :         {
    3499       289998 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3500       289949 :           if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    3501       290355 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
    3502              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[2])))
    3503        42292 :  && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (captures[2])))
    3504       331933 :  && (expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    3505          371 :  || !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1])))
    3506              : )
    3507              :             {
    3508        41935 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1129;
    3509        41935 :               {
    3510        41935 :                 tree res_op0;
    3511        41935 :                 res_op0 = captures[1];
    3512        41935 :                 tree res_op1;
    3513        41935 :                 {
    3514        41935 :                   tree _o1[1], _r1;
    3515        41935 :                   _o1[0] = captures[2];
    3516        41935 :                   if (TREE_TYPE (_o1[0]) != type)
    3517              :                     {
    3518        41935 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3519        41935 :                       if (EXPR_P (_r1))
    3520          166 :                         goto next_after_fail1129;
    3521              :                     }
    3522              :                   else
    3523              :                     _r1 = _o1[0];
    3524        41769 :                   res_op1 = _r1;
    3525              :                 }
    3526        41769 :                 tree res_op2;
    3527        41769 :                 {
    3528        41769 :                   tree _o1[1], _r1;
    3529        41769 :                   _o1[0] = captures[3];
    3530        41769 :                   if (TREE_TYPE (_o1[0]) != type)
    3531              :                     {
    3532        41769 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3533        41769 :                       if (EXPR_P (_r1))
    3534            0 :                         goto next_after_fail1129;
    3535              :                     }
    3536              :                   else
    3537              :                     _r1 = _o1[0];
    3538        41769 :                   res_op2 = _r1;
    3539              :                 }
    3540        41769 :                 tree _r;
    3541        41769 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3542        41769 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 887, __FILE__, __LINE__, true);
    3543        41769 :                 return _r;
    3544              :               }
    3545       248229 : next_after_fail1129:;
    3546              :             }
    3547              :         }
    3548       248229 :         break;
    3549              :       }
    3550              :     default:;
    3551              :     }
    3552              :   return NULL_TREE;
    3553              : }
    3554              : 
    3555              : tree
    3556   1750604405 : generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0)
    3557              : {
    3558   1750604405 :   switch (code)
    3559              :     {
    3560      3230809 :     case ABS_EXPR:
    3561      3230809 :       return generic_simplify_ABS_EXPR (loc, code, type, _p0);
    3562    872068504 :     CASE_CONVERT:
    3563    872068504 :       return generic_simplify_CONVERT_EXPR (loc, code, type, _p0);
    3564      2788568 :     case BIT_NOT_EXPR:
    3565      2788568 :       return generic_simplify_BIT_NOT_EXPR (loc, code, type, _p0);
    3566          943 :     case ABSU_EXPR:
    3567          943 :       return generic_simplify_ABSU_EXPR (loc, code, type, _p0);
    3568      4300656 :     case NEGATE_EXPR:
    3569      4300656 :       return generic_simplify_NEGATE_EXPR (loc, code, type, _p0);
    3570      6568896 :     case FLOAT_EXPR:
    3571      6568896 :       return generic_simplify_FLOAT_EXPR (loc, code, type, _p0);
    3572    479807981 :     case VIEW_CONVERT_EXPR:
    3573    479807981 :       return generic_simplify_VIEW_CONVERT_EXPR (loc, code, type, _p0);
    3574       511332 :     case FIX_TRUNC_EXPR:
    3575       511332 :       return generic_simplify_FIX_TRUNC_EXPR (loc, code, type, _p0);
    3576         3678 :     case PAREN_EXPR:
    3577         3678 :       return generic_simplify_PAREN_EXPR (loc, code, type, _p0);
    3578      1938560 :     case REALPART_EXPR:
    3579      1938560 :       return generic_simplify_REALPART_EXPR (loc, code, type, _p0);
    3580      2207030 :     case IMAGPART_EXPR:
    3581      2207030 :       return generic_simplify_IMAGPART_EXPR (loc, code, type, _p0);
    3582         1330 :     case CONJ_EXPR:
    3583         1330 :       return generic_simplify_CONJ_EXPR (loc, code, type, _p0);
    3584              :     default:;
    3585              :     }
    3586              :   return NULL_TREE;
    3587              : }
    3588              : 
    3589              : tree
    3590     80385896 : generic_simplify_POINTER_PLUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3591              : {
    3592     80385896 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3593     80385896 :   if (integer_zerop (_p1))
    3594              :     {
    3595      2759774 :       {
    3596      2759774 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3597      2759774 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1277;
    3598      2759774 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1277;
    3599      2759774 :         {
    3600      2759774 :           tree res_op0;
    3601      2759774 :           res_op0 = captures[0];
    3602      2759774 :           tree _r;
    3603      2759774 :           _r = non_lvalue_loc (loc, res_op0);
    3604      2759774 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    3605      2759774 :           return _r;
    3606              :         }
    3607              : next_after_fail1277:;
    3608              :       }
    3609              :     }
    3610     77626122 :   switch (TREE_CODE (_p0))
    3611              :     {
    3612      5936950 :     case POINTER_PLUS_EXPR:
    3613      5936950 :       {
    3614      5936950 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3615      5936950 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3616      5936950 :         {
    3617      5936950 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3618      5936950 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1278;
    3619      5936950 :           {
    3620      5936950 :             tree res_op0;
    3621      5936950 :             res_op0 = captures[1];
    3622      5936950 :             tree res_op1;
    3623      5936950 :             {
    3624      5936950 :               tree _o1[2], _r1;
    3625      5936950 :               _o1[0] = captures[2];
    3626      5936950 :               _o1[1] = captures[3];
    3627      5936950 :               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3628      5936950 :               res_op1 = _r1;
    3629              :             }
    3630      5936950 :             tree _r;
    3631      5936950 :             _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3632      5936950 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 917, __FILE__, __LINE__, true);
    3633      5936950 :             return _r;
    3634              :           }
    3635            0 : next_after_fail1278:;
    3636              :         }
    3637            0 :         break;
    3638              :       }
    3639     47787310 :     CASE_CONVERT:
    3640     47787310 :       {
    3641     47787310 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3642     47787310 :         switch (TREE_CODE (_q20))
    3643              :           {
    3644        27380 :           case POINTER_PLUS_EXPR:
    3645        27380 :             {
    3646        27380 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3647        27380 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3648        27380 :               {
    3649        27380 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
    3650        27380 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1279;
    3651        27380 :                 {
    3652        27380 :                   tree res_op0;
    3653        27380 :                   {
    3654        27380 :                     tree _o1[1], _r1;
    3655        27380 :                     _o1[0] = captures[2];
    3656        27380 :                     if (TREE_TYPE (_o1[0]) != type)
    3657              :                       {
    3658        27272 :                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3659              :                       }
    3660              :                     else
    3661              :                       _r1 = _o1[0];
    3662        27380 :                     res_op0 = _r1;
    3663              :                   }
    3664        27380 :                   tree res_op1;
    3665        27380 :                   {
    3666        27380 :                     tree _o1[2], _r1;
    3667        27380 :                     _o1[0] = captures[3];
    3668        27380 :                     _o1[1] = captures[4];
    3669        27380 :                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3670        27380 :                     res_op1 = _r1;
    3671              :                   }
    3672        27380 :                   tree _r;
    3673        27380 :                   _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3674        27380 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 918, __FILE__, __LINE__, true);
    3675        27380 :                   return _r;
    3676              :                 }
    3677            0 : next_after_fail1279:;
    3678              :               }
    3679            0 :               break;
    3680              :             }
    3681              :           default:;
    3682              :           }
    3683              :         break;
    3684              :       }
    3685     71661792 :     default:;
    3686              :     }
    3687     71661792 : if (integer_zerop (_p0))
    3688              :   {
    3689          649 :     {
    3690          649 :       tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
    3691          649 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1280;
    3692          649 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1280;
    3693          649 :       {
    3694          649 :         tree res_op0;
    3695          649 :         {
    3696          649 :           tree _o1[1], _r1;
    3697          649 :           _o1[0] = captures[0];
    3698          649 :           if (TREE_TYPE (_o1[0]) != type)
    3699              :             {
    3700          649 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3701              :             }
    3702              :           else
    3703              :             _r1 = _o1[0];
    3704          649 :           res_op0 = _r1;
    3705              :         }
    3706          649 :         tree _r;
    3707          649 :         _r = non_lvalue_loc (loc, res_op0);
    3708          649 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 919, __FILE__, __LINE__, true);
    3709          649 :         return _r;
    3710              :       }
    3711              : next_after_fail1280:;
    3712              :     }
    3713              :   }
    3714     71661143 :   switch (TREE_CODE (_p1))
    3715              :     {
    3716      9471505 :     CASE_CONVERT:
    3717      9471505 :       {
    3718      9471505 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3719      9471505 :         switch (TREE_CODE (_q30))
    3720              :           {
    3721       207023 :           case MINUS_EXPR:
    3722       207023 :             {
    3723       207023 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3724       207023 :               tree _q41 = TREE_OPERAND (_q30, 1);
    3725       207023 :               switch (TREE_CODE (_q40))
    3726              :                 {
    3727        93590 :                 CASE_CONVERT:
    3728        93590 :                   {
    3729        93590 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3730        93590 :                     switch (TREE_CODE (_q41))
    3731              :                       {
    3732         7368 :                       CASE_CONVERT:
    3733         7368 :                         {
    3734         7368 :                           tree _q70 = TREE_OPERAND (_q41, 0);
    3735         7368 :                           if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    3736              :                             {
    3737         4479 :                               {
    3738         4479 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q50 };
    3739         4479 :                                 if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
    3740         4479 :  && ((
    3741              : 
    3742              :  && useless_type_conversion_p (type, TREE_TYPE (captures[3])))
    3743              :  || (
    3744              : 1
    3745         4479 :  && type == TREE_TYPE (captures[3])))
    3746              : )
    3747              :                                   {
    3748         2903 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1281;
    3749         2903 :                                     {
    3750         2903 :                                       tree _r;
    3751         2903 :                                       _r = captures[3];
    3752         2903 :                                       if (TREE_SIDE_EFFECTS (captures[0]))
    3753            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3754         2903 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    3755         2903 :                                       return _r;
    3756              :                                     }
    3757            0 : next_after_fail1281:;
    3758              :                                   }
    3759              :                               }
    3760              :                             }
    3761              :                           break;
    3762              :                         }
    3763              :                       default:;
    3764              :                       }
    3765              :                     break;
    3766              :                   }
    3767              :                 default:;
    3768              :                 }
    3769              :               break;
    3770              :             }
    3771          596 :           case POINTER_DIFF_EXPR:
    3772          596 :             {
    3773          596 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3774          596 :               tree _q41 = TREE_OPERAND (_q30, 1);
    3775          596 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
    3776              :                 {
    3777            7 :                   {
    3778            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
    3779            7 :                     if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
    3780              : )
    3781              :                       {
    3782            7 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1282;
    3783            7 :                         {
    3784            7 :                           tree res_op0;
    3785            7 :                           res_op0 = captures[3];
    3786            7 :                           tree _r;
    3787            7 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3788            7 :                           if (TREE_SIDE_EFFECTS (captures[4]))
    3789            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3790            7 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 921, __FILE__, __LINE__, true);
    3791            7 :                           return _r;
    3792              :                         }
    3793            0 : next_after_fail1282:;
    3794              :                       }
    3795              :                   }
    3796              :                 }
    3797              :               break;
    3798              :             }
    3799              :           default:;
    3800              :           }
    3801              :         break;
    3802              :       }
    3803        46032 :     case MINUS_EXPR:
    3804        46032 :       {
    3805        46032 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3806        46032 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3807        46032 :         switch (TREE_CODE (_q30))
    3808              :           {
    3809        42575 :           CASE_CONVERT:
    3810        42575 :             {
    3811        42575 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3812        42575 :               switch (TREE_CODE (_q31))
    3813              :                 {
    3814        25545 :                 CASE_CONVERT:
    3815        25545 :                   {
    3816        25545 :                     tree _q60 = TREE_OPERAND (_q31, 0);
    3817        25545 :                     if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    3818              :                       {
    3819           24 :                         {
    3820           24 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _p1, _q40 };
    3821           24 :                           if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
    3822           24 :  && ((
    3823              : 
    3824              :  && useless_type_conversion_p (type, TREE_TYPE (captures[3])))
    3825              :  || (
    3826              : 1
    3827           24 :  && type == TREE_TYPE (captures[3])))
    3828              : )
    3829              :                             {
    3830            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1283;
    3831            0 :                               {
    3832            0 :                                 tree _r;
    3833            0 :                                 _r = captures[3];
    3834            0 :                                 if (TREE_SIDE_EFFECTS (captures[0]))
    3835            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3836            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
    3837            0 :                                 return _r;
    3838              :                               }
    3839            0 : next_after_fail1283:;
    3840              :                             }
    3841              :                         }
    3842              :                       }
    3843              :                     break;
    3844              :                   }
    3845              :                 default:;
    3846              :                 }
    3847              :               break;
    3848              :             }
    3849          438 :           case INTEGER_CST:
    3850          438 :             {
    3851          438 :               switch (TREE_CODE (_q31))
    3852              :                 {
    3853           16 :                 case BIT_AND_EXPR:
    3854           16 :                   {
    3855           16 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    3856           16 :                     tree _q51 = TREE_OPERAND (_q31, 1);
    3857           16 :                     switch (TREE_CODE (_q50))
    3858              :                       {
    3859           16 :                       CASE_CONVERT:
    3860           16 :                         {
    3861           16 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    3862           16 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    3863              :                             {
    3864            0 :                               switch (TREE_CODE (_q51))
    3865              :                                 {
    3866            0 :                                 case INTEGER_CST:
    3867            0 :                                   {
    3868            0 :                                     {
    3869            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q51 };
    3870            0 :                                       if (tree_int_cst_min_precision (captures[3], UNSIGNED) <= tree_ctz (captures[2])
    3871              : )
    3872              :                                         {
    3873            0 :                                           {
    3874            0 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[3]));
    3875            0 :                                               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1284;
    3876            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1284;
    3877            0 :                                               {
    3878            0 :                                                 tree res_op0;
    3879            0 :                                                 {
    3880            0 :                                                   tree _o1[2], _r1;
    3881            0 :                                                   _o1[0] = captures[0];
    3882            0 :                                                   _o1[1] =  algn;
    3883            0 :                                                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3884            0 :                                                   res_op0 = _r1;
    3885              :                                                 }
    3886            0 :                                                 tree res_op1;
    3887            0 :                                                 res_op1 = captures[2];
    3888            0 :                                                 tree _r;
    3889            0 :                                                 _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3890            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    3891            0 :                                                 return _r;
    3892              :                                               }
    3893            0 : next_after_fail1284:;
    3894              :                                           }
    3895              :                                         }
    3896              :                                     }
    3897            0 :                                     break;
    3898              :                                   }
    3899              :                                 default:;
    3900              :                                 }
    3901              :                             }
    3902           16 :                           switch (TREE_CODE (_q60))
    3903              :                             {
    3904            0 :                             case POINTER_PLUS_EXPR:
    3905            0 :                               {
    3906            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    3907            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    3908            0 :                                 if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    3909              :                                   {
    3910            0 :                                     switch (TREE_CODE (_q71))
    3911              :                                       {
    3912            0 :                                       case INTEGER_CST:
    3913            0 :                                         {
    3914            0 :                                           switch (TREE_CODE (_q51))
    3915              :                                             {
    3916            0 :                                             case INTEGER_CST:
    3917            0 :                                               {
    3918            0 :                                                 {
    3919            0 :                                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q71, _q51 };
    3920            0 :                                                   {
    3921            0 :  auto mask_width = tree_int_cst_min_precision (captures[4], UNSIGNED);
    3922            0 :                                                       if (mask_width <= tree_ctz (captures[2]) && mask_width <= tree_ctz (captures[3])
    3923              : )
    3924              :                                                         {
    3925            0 :                                                           {
    3926            0 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[4]));
    3927            0 :                                                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1285;
    3928            0 :                                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1285;
    3929            0 :                                                               {
    3930            0 :                                                                 tree res_op0;
    3931            0 :                                                                 {
    3932            0 :                                                                   tree _o1[2], _r1;
    3933            0 :                                                                   _o1[0] = captures[0];
    3934            0 :                                                                   _o1[1] =  algn;
    3935            0 :                                                                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3936            0 :                                                                   res_op0 = _r1;
    3937              :                                                                 }
    3938            0 :                                                                 tree res_op1;
    3939            0 :                                                                 res_op1 = captures[2];
    3940            0 :                                                                 tree _r;
    3941            0 :                                                                 _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3942            0 :                                                                 if (TREE_SIDE_EFFECTS (captures[3]))
    3943            0 :                                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3944            0 :                                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
    3945            0 :                                                                 return _r;
    3946              :                                                               }
    3947            0 : next_after_fail1285:;
    3948              :                                                           }
    3949              :                                                         }
    3950              :                                                   }
    3951              :                                                 }
    3952            0 :                                                 break;
    3953              :                                               }
    3954              :                                             default:;
    3955              :                                             }
    3956              :                                           break;
    3957              :                                         }
    3958              :                                       default:;
    3959              :                                       }
    3960              :                                   }
    3961              :                                 break;
    3962              :                               }
    3963              :                             default:;
    3964              :                             }
    3965              :                           break;
    3966              :                         }
    3967              :                       default:;
    3968              :                       }
    3969              :                     break;
    3970              :                   }
    3971              :                 default:;
    3972              :                 }
    3973              :               break;
    3974              :             }
    3975              :           default:;
    3976              :           }
    3977              :         break;
    3978              :       }
    3979            0 :     case POINTER_DIFF_EXPR:
    3980            0 :       {
    3981            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3982            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3983            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
    3984              :           {
    3985            0 :             {
    3986            0 :               tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
    3987            0 :               if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
    3988              : )
    3989              :                 {
    3990            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1286;
    3991            0 :                   {
    3992            0 :                     tree res_op0;
    3993            0 :                     res_op0 = captures[3];
    3994            0 :                     tree _r;
    3995            0 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3996            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
    3997            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3998            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 921, __FILE__, __LINE__, true);
    3999            0 :                     return _r;
    4000              :                   }
    4001            0 : next_after_fail1286:;
    4002              :                 }
    4003              :             }
    4004              :           }
    4005              :         break;
    4006              :       }
    4007       366097 :     case NEGATE_EXPR:
    4008       366097 :       {
    4009       366097 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4010       366097 :         switch (TREE_CODE (_q30))
    4011              :           {
    4012           22 :           case BIT_AND_EXPR:
    4013           22 :             {
    4014           22 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4015           22 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4016           22 :               switch (TREE_CODE (_q40))
    4017              :                 {
    4018           22 :                 CASE_CONVERT:
    4019           22 :                   {
    4020           22 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4021           22 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    4022              :                       {
    4023            1 :                         switch (TREE_CODE (_q41))
    4024              :                           {
    4025            1 :                           case INTEGER_CST:
    4026            1 :                             {
    4027            1 :                               {
    4028            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    4029            1 :                                 {
    4030            1 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[1]));
    4031            1 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1287;
    4032            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1287;
    4033            1 :                                     {
    4034            1 :                                       tree res_op0;
    4035            1 :                                       res_op0 = captures[0];
    4036            1 :                                       tree res_op1;
    4037            1 :                                       res_op1 =  algn;
    4038            1 :                                       tree _r;
    4039            1 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    4040            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 924, __FILE__, __LINE__, true);
    4041            1 :                                       return _r;
    4042              :                                     }
    4043            0 : next_after_fail1287:;
    4044              :                                 }
    4045              :                               }
    4046            0 :                               break;
    4047              :                             }
    4048              :                           default:;
    4049              :                           }
    4050              :                       }
    4051           21 :                     switch (TREE_CODE (_q50))
    4052              :                       {
    4053            0 :                       case POINTER_PLUS_EXPR:
    4054            0 :                         {
    4055            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    4056            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    4057            0 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    4058              :                             {
    4059            0 :                               switch (TREE_CODE (_q61))
    4060              :                                 {
    4061            0 :                                 case INTEGER_CST:
    4062            0 :                                   {
    4063            0 :                                     switch (TREE_CODE (_q41))
    4064              :                                       {
    4065            0 :                                       case INTEGER_CST:
    4066            0 :                                         {
    4067            0 :                                           {
    4068            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q61, _q41 };
    4069            0 :                                             if (tree_int_cst_min_precision (captures[2], UNSIGNED) <= tree_ctz (captures[1])
    4070              : )
    4071              :                                               {
    4072            0 :                                                 {
    4073            0 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[2]));
    4074            0 :                                                     if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1288;
    4075            0 :                                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1288;
    4076            0 :                                                     {
    4077            0 :                                                       tree res_op0;
    4078            0 :                                                       res_op0 = captures[0];
    4079            0 :                                                       tree res_op1;
    4080            0 :                                                       res_op1 =  algn;
    4081            0 :                                                       tree _r;
    4082            0 :                                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    4083            0 :                                                       if (TREE_SIDE_EFFECTS (captures[1]))
    4084            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4085            0 :                                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 925, __FILE__, __LINE__, true);
    4086            0 :                                                       return _r;
    4087              :                                                     }
    4088            0 : next_after_fail1288:;
    4089              :                                                 }
    4090              :                                               }
    4091              :                                           }
    4092            0 :                                           break;
    4093              :                                         }
    4094              :                                       default:;
    4095              :                                       }
    4096              :                                     break;
    4097              :                                   }
    4098              :                                 default:;
    4099              :                                 }
    4100              :                             }
    4101              :                           break;
    4102              :                         }
    4103              :                       default:;
    4104              :                       }
    4105              :                     break;
    4106              :                   }
    4107              :                 default:;
    4108              :                 }
    4109              :               break;
    4110              :             }
    4111              :           default:;
    4112              :           }
    4113              :         break;
    4114              :       }
    4115              :     default:;
    4116              :     }
    4117              :   return NULL_TREE;
    4118              : }
    4119              : 
    4120              : tree
    4121     38766056 : generic_simplify_NE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4122              : {
    4123     38766056 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4124     38766056 :   switch (TREE_CODE (_p1))
    4125              :     {
    4126         2267 :     case NEGATE_EXPR:
    4127         2267 :       {
    4128         2267 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4129         2267 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4130              :           {
    4131            0 :             {
    4132            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4133            0 :               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4134            0 :               if (res) return res;
    4135              :             }
    4136              :           }
    4137              :         break;
    4138              :       }
    4139     38766056 :     default:;
    4140              :     }
    4141     38766056 :   switch (TREE_CODE (_p0))
    4142              :     {
    4143         6192 :     case NEGATE_EXPR:
    4144         6192 :       {
    4145         6192 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4146         6192 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4147              :           {
    4148           88 :             {
    4149           88 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4150           88 :               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, NE_EXPR);
    4151           88 :               if (res) return res;
    4152              :             }
    4153              :           }
    4154              :         break;
    4155              :       }
    4156            0 :     case CEIL_MOD_EXPR:
    4157            0 :       {
    4158            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4159            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4160            0 :         if (integer_pow2p (_q21))
    4161              :           {
    4162            0 :             if (integer_zerop (_p1))
    4163              :               {
    4164            0 :                 {
    4165            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4166            0 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, NE_EXPR, CEIL_MOD_EXPR);
    4167            0 :                   if (res) return res;
    4168              :                 }
    4169              :               }
    4170              :           }
    4171              :         break;
    4172              :       }
    4173         1617 :     case FLOOR_MOD_EXPR:
    4174         1617 :       {
    4175         1617 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4176         1617 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4177         1617 :         if (integer_pow2p (_q21))
    4178              :           {
    4179           20 :             if (integer_zerop (_p1))
    4180              :               {
    4181           20 :                 {
    4182           20 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4183           20 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, NE_EXPR, FLOOR_MOD_EXPR);
    4184           20 :                   if (res) return res;
    4185              :                 }
    4186              :               }
    4187              :           }
    4188              :         break;
    4189              :       }
    4190            0 :     case ROUND_MOD_EXPR:
    4191            0 :       {
    4192            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4193            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4194            0 :         if (integer_pow2p (_q21))
    4195              :           {
    4196            0 :             if (integer_zerop (_p1))
    4197              :               {
    4198            0 :                 {
    4199            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4200            0 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, NE_EXPR, ROUND_MOD_EXPR);
    4201            0 :                   if (res) return res;
    4202              :                 }
    4203              :               }
    4204              :           }
    4205              :         break;
    4206              :       }
    4207        84864 :     case TRUNC_MOD_EXPR:
    4208        84864 :       {
    4209        84864 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4210        84864 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4211        84864 :         if (integer_pow2p (_q21))
    4212              :           {
    4213        21622 :             if (integer_zerop (_p1))
    4214              :               {
    4215        20180 :                 {
    4216        20180 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4217        20180 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, NE_EXPR, TRUNC_MOD_EXPR);
    4218        20180 :                   if (res) return res;
    4219              :                 }
    4220              :               }
    4221              :           }
    4222              :         break;
    4223              :       }
    4224      8644981 :     CASE_CONVERT:
    4225      8644981 :       {
    4226      8644981 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4227      8644981 :         switch (TREE_CODE (_p1))
    4228              :           {
    4229           69 :           case LSHIFT_EXPR:
    4230           69 :             {
    4231           69 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4232           69 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4233           69 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4234              :                 {
    4235            0 :                   {
    4236            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4237            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4238            0 :                     if (res) return res;
    4239              :                   }
    4240              :                 }
    4241              :               break;
    4242              :             }
    4243      8644981 :           default:;
    4244              :           }
    4245      8644981 :       {
    4246      8644981 :         tree _p1_pops[1];
    4247      8644981 :         if (tree_nop_convert (_p1, _p1_pops))
    4248              :           {
    4249      4710529 :             tree _q40 = _p1_pops[0];
    4250      4710529 :             switch (TREE_CODE (_q40))
    4251              :               {
    4252            0 :               case LSHIFT_EXPR:
    4253            0 :                 {
    4254            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4255            0 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4256            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4257              :                     {
    4258            0 :                       {
    4259            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    4260            0 :                         tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4261            0 :                         if (res) return res;
    4262              :                       }
    4263              :                     }
    4264              :                   break;
    4265              :                 }
    4266              :               default:;
    4267              :               }
    4268              :           }
    4269              :       }
    4270      8644981 :         switch (TREE_CODE (_q20))
    4271              :           {
    4272            0 :           case EXACT_DIV_EXPR:
    4273            0 :             {
    4274            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4275            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4276            0 :               switch (TREE_CODE (_q31))
    4277              :                 {
    4278            0 :                 case INTEGER_CST:
    4279            0 :                   {
    4280            0 :                     switch (TREE_CODE (_p1))
    4281              :                       {
    4282            0 :                       CASE_CONVERT:
    4283            0 :                         {
    4284            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4285            0 :                           switch (TREE_CODE (_q60))
    4286              :                             {
    4287            0 :                             case EXACT_DIV_EXPR:
    4288            0 :                               {
    4289            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4290            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4291            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    4292              :                                   {
    4293            0 :                                     {
    4294            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    4295            0 :                                       tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, NE_EXPR);
    4296            0 :                                       if (res) return res;
    4297              :                                     }
    4298              :                                   }
    4299              :                                 break;
    4300              :                               }
    4301              :                             default:;
    4302              :                             }
    4303              :                           break;
    4304              :                         }
    4305              :                       default:;
    4306              :                       }
    4307              :                     break;
    4308              :                   }
    4309              :                 default:;
    4310              :                 }
    4311              :               break;
    4312              :             }
    4313      8644981 :           default:;
    4314              :           }
    4315      8644981 :         switch (TREE_CODE (_p1))
    4316              :           {
    4317        20849 :           case PLUS_EXPR:
    4318        20849 :             {
    4319        20849 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4320        20849 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4321        20849 :               switch (TREE_CODE (_q41))
    4322              :                 {
    4323          203 :                 CASE_CONVERT:
    4324          203 :                   {
    4325          203 :                     tree _q60 = TREE_OPERAND (_q41, 0);
    4326          203 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4327              :                       {
    4328            0 :                         {
    4329            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4330            0 :                           tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    4331            0 :                           if (res) return res;
    4332              :                         }
    4333              :                       }
    4334              :                     break;
    4335              :                   }
    4336        20849 :                 default:;
    4337              :                 }
    4338        20849 :               switch (TREE_CODE (_q40))
    4339              :                 {
    4340          800 :                 CASE_CONVERT:
    4341          800 :                   {
    4342          800 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4343          800 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4344              :                       {
    4345           15 :                         {
    4346           15 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4347           15 :                           tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    4348           15 :                           if (res) return res;
    4349              :                         }
    4350              :                       }
    4351              :                     break;
    4352              :                   }
    4353        20842 :                 default:;
    4354              :                 }
    4355        20842 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4356              :                 {
    4357            0 :                   {
    4358            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4359            0 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    4360            0 :                     if (res) return res;
    4361              :                   }
    4362              :                 }
    4363        20842 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    4364              :                 {
    4365            0 :                   {
    4366            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4367            0 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    4368            0 :                     if (res) return res;
    4369              :                   }
    4370              :                 }
    4371              :               break;
    4372              :             }
    4373      8644974 :           default:;
    4374              :           }
    4375      8644974 :       {
    4376      8644974 :         tree _p1_pops[1];
    4377      8644974 :         if (tree_nop_convert (_p1, _p1_pops))
    4378              :           {
    4379      4710529 :             tree _q40 = _p1_pops[0];
    4380      4710529 :             switch (TREE_CODE (_q40))
    4381              :               {
    4382          174 :               case PLUS_EXPR:
    4383          174 :                 {
    4384          174 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4385          174 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4386          174 :                   switch (TREE_CODE (_q51))
    4387              :                     {
    4388            0 :                     CASE_CONVERT:
    4389            0 :                       {
    4390            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4391            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4392              :                           {
    4393            0 :                             {
    4394            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4395            0 :                               tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4396            0 :                               if (res) return res;
    4397              :                             }
    4398              :                           }
    4399              :                         break;
    4400              :                       }
    4401          174 :                     default:;
    4402              :                     }
    4403          174 :                   switch (TREE_CODE (_q50))
    4404              :                     {
    4405           89 :                     CASE_CONVERT:
    4406           89 :                       {
    4407           89 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    4408           89 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4409              :                           {
    4410            0 :                             {
    4411            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4412            0 :                               tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4413            0 :                               if (res) return res;
    4414              :                             }
    4415              :                           }
    4416              :                         break;
    4417              :                       }
    4418          174 :                     default:;
    4419              :                     }
    4420          174 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4421              :                     {
    4422            0 :                       {
    4423            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4424            0 :                         tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4425            0 :                         if (res) return res;
    4426              :                       }
    4427              :                     }
    4428          174 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4429              :                     {
    4430            0 :                       {
    4431            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4432            0 :                         tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4433            0 :                         if (res) return res;
    4434              :                       }
    4435              :                     }
    4436              :                   break;
    4437              :                 }
    4438              :               default:;
    4439              :               }
    4440              :           }
    4441              :       }
    4442      8644974 :         break;
    4443              :       }
    4444     38745849 :     default:;
    4445              :     }
    4446     38745849 : {
    4447     38745849 :   tree _p0_pops[1];
    4448     38745849 :   if (tree_nop_convert (_p0, _p0_pops))
    4449              :     {
    4450      6374390 :       tree _q20 = _p0_pops[0];
    4451      6374390 :       switch (TREE_CODE (_q20))
    4452              :         {
    4453           15 :         case LSHIFT_EXPR:
    4454           15 :           {
    4455           15 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4456           15 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4457           15 :             switch (TREE_CODE (_p1))
    4458              :               {
    4459            1 :               CASE_CONVERT:
    4460            1 :                 {
    4461            1 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4462            1 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4463              :                     {
    4464            0 :                       {
    4465            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4466            0 :                         tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4467            0 :                         if (res) return res;
    4468              :                       }
    4469              :                     }
    4470              :                   break;
    4471              :                 }
    4472           15 :               default:;
    4473              :               }
    4474           15 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4475              :               {
    4476            1 :                 {
    4477            1 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4478            1 :                   tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4479            1 :                   if (res) return res;
    4480              :                 }
    4481              :               }
    4482              :             break;
    4483              :           }
    4484        33043 :         case PLUS_EXPR:
    4485        33043 :           {
    4486        33043 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4487        33043 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4488        33043 :             switch (TREE_CODE (_q31))
    4489              :               {
    4490           37 :               CASE_CONVERT:
    4491           37 :                 {
    4492           37 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4493           37 :                   switch (TREE_CODE (_p1))
    4494              :                     {
    4495            0 :                     CASE_CONVERT:
    4496            0 :                       {
    4497            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4498            0 :                         if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    4499              :                           {
    4500            0 :                             {
    4501            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4502            0 :                               tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4503            0 :                               if (res) return res;
    4504              :                             }
    4505              :                           }
    4506              :                         break;
    4507              :                       }
    4508              :                     default:;
    4509              :                     }
    4510              :                   break;
    4511              :                 }
    4512        33043 :               default:;
    4513              :               }
    4514        33043 :             switch (TREE_CODE (_q30))
    4515              :               {
    4516        26191 :               CASE_CONVERT:
    4517        26191 :                 {
    4518        26191 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4519        26191 :                   switch (TREE_CODE (_p1))
    4520              :                     {
    4521          354 :                     CASE_CONVERT:
    4522          354 :                       {
    4523          354 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4524          354 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    4525              :                           {
    4526          100 :                             {
    4527          100 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4528          100 :                               tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4529          100 :                               if (res) return res;
    4530              :                             }
    4531              :                           }
    4532              :                         break;
    4533              :                       }
    4534        26091 :                     default:;
    4535              :                     }
    4536        26091 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4537              :                     {
    4538           20 :                       {
    4539           20 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4540           20 :                         tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4541           20 :                         if (res) return res;
    4542              :                       }
    4543              :                     }
    4544              :                   break;
    4545              :                 }
    4546        32923 :               default:;
    4547              :               }
    4548        32923 :             switch (TREE_CODE (_q31))
    4549              :               {
    4550           37 :               CASE_CONVERT:
    4551           37 :                 {
    4552           37 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4553           37 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    4554              :                     {
    4555            0 :                       {
    4556            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4557            0 :                         tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4558            0 :                         if (res) return res;
    4559              :                       }
    4560              :                     }
    4561              :                   break;
    4562              :                 }
    4563        32923 :               default:;
    4564              :               }
    4565        32923 :             switch (TREE_CODE (_p1))
    4566              :               {
    4567          326 :               CASE_CONVERT:
    4568          326 :                 {
    4569          326 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4570          326 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4571              :                     {
    4572            0 :                       {
    4573            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4574            0 :                         tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4575            0 :                         if (res) return res;
    4576              :                       }
    4577              :                     }
    4578          326 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4579              :                     {
    4580           62 :                       {
    4581           62 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4582           62 :                         tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4583           62 :                         if (res) return res;
    4584              :                       }
    4585              :                     }
    4586              :                   break;
    4587              :                 }
    4588        32861 :               default:;
    4589              :               }
    4590        32861 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4591              :               {
    4592            0 :                 {
    4593            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4594            0 :                   tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4595            0 :                   if (res) return res;
    4596              :                 }
    4597              :               }
    4598        32861 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4599              :               {
    4600            0 :                 {
    4601            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4602            0 :                   tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    4603            0 :                   if (res) return res;
    4604              :                 }
    4605              :               }
    4606              :             break;
    4607              :           }
    4608              :         default:;
    4609              :         }
    4610              :     }
    4611              : }
    4612     38745666 :   {
    4613     38745666 :     tree _p1_pops[1];
    4614     38745666 :     if (tree_nop_convert (_p1, _p1_pops))
    4615              :       {
    4616      5079038 :         tree _q30 = _p1_pops[0];
    4617      5079038 :         switch (TREE_CODE (_q30))
    4618              :           {
    4619            0 :           case LSHIFT_EXPR:
    4620            0 :             {
    4621            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4622            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4623            0 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    4624              :                 {
    4625            0 :                   {
    4626            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    4627            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4628            0 :                     if (res) return res;
    4629              :                   }
    4630              :                 }
    4631              :               break;
    4632              :             }
    4633              :           default:;
    4634              :           }
    4635              :       }
    4636              :   }
    4637     38745666 :   switch (TREE_CODE (_p0))
    4638              :     {
    4639         5108 :     case LSHIFT_EXPR:
    4640         5108 :       {
    4641         5108 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4642         5108 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4643         5108 :         switch (TREE_CODE (_p1))
    4644              :           {
    4645           35 :           CASE_CONVERT:
    4646           35 :             {
    4647           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4648           35 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4649              :                 {
    4650            4 :                   {
    4651            4 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4652            4 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4653            4 :                     if (res) return res;
    4654              :                   }
    4655              :                 }
    4656              :               break;
    4657              :             }
    4658         5107 :           default:;
    4659              :           }
    4660         5107 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4661              :           {
    4662           27 :             {
    4663           27 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4664           27 :               tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4665           27 :               if (res) return res;
    4666              :             }
    4667              :           }
    4668         5103 :         if (tree_zero_one_valued_p (_q20))
    4669              :           {
    4670          479 :             switch (TREE_CODE (_q21))
    4671              :               {
    4672          117 :               case INTEGER_CST:
    4673          117 :                 {
    4674          117 :                   if (integer_zerop (_p1))
    4675              :                     {
    4676            5 :                       {
    4677            5 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4678            5 :                         tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, NE_EXPR);
    4679            5 :                         if (res) return res;
    4680              :                       }
    4681              :                     }
    4682              :                   break;
    4683              :                 }
    4684              :               default:;
    4685              :               }
    4686              :           }
    4687              :         break;
    4688              :       }
    4689     38745656 :     default:;
    4690              :     }
    4691     38745656 :   switch (TREE_CODE (_p1))
    4692              :     {
    4693          264 :     case LSHIFT_EXPR:
    4694          264 :       {
    4695          264 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4696          264 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4697          264 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4698              :           {
    4699            0 :             {
    4700            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    4701            0 :               tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR);
    4702            0 :               if (res) return res;
    4703              :             }
    4704              :           }
    4705              :         break;
    4706              :       }
    4707     38745656 :     default:;
    4708              :     }
    4709     38745656 :   switch (TREE_CODE (_p0))
    4710              :     {
    4711          255 :     case VIEW_CONVERT_EXPR:
    4712          255 :       {
    4713          255 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4714          255 :         if (tree_zero_one_valued_p (_q20))
    4715              :           {
    4716            0 :             if (integer_zerop (_p1))
    4717              :               {
    4718            0 :                 {
    4719            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    4720            0 :                   tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    4721            0 :                   if (res) return res;
    4722              :                 }
    4723              :               }
    4724              :           }
    4725              :         break;
    4726              :       }
    4727        21088 :     case RSHIFT_EXPR:
    4728        21088 :       {
    4729        21088 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4730        21088 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4731        21088 :         switch (TREE_CODE (_q21))
    4732              :           {
    4733        18738 :           case INTEGER_CST:
    4734        18738 :             {
    4735        18738 :               switch (TREE_CODE (_p1))
    4736              :                 {
    4737          210 :                 case RSHIFT_EXPR:
    4738          210 :                   {
    4739          210 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4740          210 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4741          210 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4742              :                       {
    4743           15 :                         switch (TREE_CODE (_q51))
    4744              :                           {
    4745           15 :                           case INTEGER_CST:
    4746           15 :                             {
    4747           15 :                               {
    4748           15 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4749           15 :                                 tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
    4750           15 :                                 if (res) return res;
    4751              :                               }
    4752            3 :                               break;
    4753              :                             }
    4754              :                           default:;
    4755              :                           }
    4756              :                       }
    4757              :                     break;
    4758              :                   }
    4759        18726 :                 default:;
    4760              :                 }
    4761        18726 :             if (integer_zerop (_p1))
    4762              :               {
    4763         8044 :                 {
    4764         8044 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4765         8044 :                   tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
    4766         8044 :                   if (res) return res;
    4767              :                 }
    4768              :               }
    4769              :               break;
    4770              :             }
    4771              :           default:;
    4772              :           }
    4773              :         break;
    4774              :       }
    4775        98212 :     case MULT_EXPR:
    4776        98212 :       {
    4777        98212 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4778        98212 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4779        98212 :         switch (TREE_CODE (_p1))
    4780              :           {
    4781         3344 :           case MULT_EXPR:
    4782         3344 :             {
    4783         3344 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4784         3344 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4785         3344 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4786              :                 {
    4787         1659 :                   {
    4788         1659 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4789         1659 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, NE_EXPR);
    4790         1659 :                     if (res) return res;
    4791              :                   }
    4792              :                 }
    4793         3340 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4794              :                 {
    4795           53 :                   {
    4796           53 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    4797           53 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, NE_EXPR);
    4798           53 :                     if (res) return res;
    4799              :                   }
    4800              :                 }
    4801         3340 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4802              :                 {
    4803           22 :                   {
    4804           22 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    4805           22 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, NE_EXPR);
    4806           22 :                     if (res) return res;
    4807              :                   }
    4808              :                 }
    4809         3340 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4810              :                 {
    4811          260 :                   {
    4812          260 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    4813          260 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, NE_EXPR);
    4814          260 :                     if (res) return res;
    4815              :                   }
    4816              :                 }
    4817              :               break;
    4818              :             }
    4819        98208 :           default:;
    4820              :           }
    4821        98208 :         switch (TREE_CODE (_q21))
    4822              :           {
    4823        79394 :           case INTEGER_CST:
    4824        79394 :             {
    4825        79394 :               switch (TREE_CODE (_p1))
    4826              :                 {
    4827         2482 :                 case MULT_EXPR:
    4828         2482 :                   {
    4829         2482 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4830         2482 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4831         2482 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4832              :                       {
    4833         1127 :                         {
    4834         1127 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4835         1127 :                           tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    4836         1127 :                           if (res) return res;
    4837              :                         }
    4838              :                       }
    4839              :                     break;
    4840              :                   }
    4841              :                 default:;
    4842              :                 }
    4843              :               break;
    4844              :             }
    4845              :           default:;
    4846              :           }
    4847              :         break;
    4848              :       }
    4849         2043 :     case EXACT_DIV_EXPR:
    4850         2043 :       {
    4851         2043 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4852         2043 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4853         2043 :         switch (TREE_CODE (_q21))
    4854              :           {
    4855         2043 :           case INTEGER_CST:
    4856         2043 :             {
    4857         2043 :               switch (TREE_CODE (_p1))
    4858              :                 {
    4859           22 :                 case EXACT_DIV_EXPR:
    4860           22 :                   {
    4861           22 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4862           22 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4863           22 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4864              :                       {
    4865           12 :                         {
    4866           12 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    4867           12 :                           tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, NE_EXPR);
    4868           12 :                           if (res) return res;
    4869              :                         }
    4870              :                       }
    4871              :                     break;
    4872              :                   }
    4873              :                 default:;
    4874              :                 }
    4875              :               break;
    4876              :             }
    4877              :           default:;
    4878              :           }
    4879              :         break;
    4880              :       }
    4881        11205 :     case TRUNC_DIV_EXPR:
    4882        11205 :       {
    4883        11205 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4884        11205 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4885        11205 :         switch (TREE_CODE (_q21))
    4886              :           {
    4887         8405 :           case INTEGER_CST:
    4888         8405 :             {
    4889         8405 :               switch (TREE_CODE (_p1))
    4890              :                 {
    4891         2241 :                 case INTEGER_CST:
    4892         2241 :                   {
    4893         2241 :                     {
    4894         2241 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4895         2241 :                       tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, NE_EXPR);
    4896         2241 :                       if (res) return res;
    4897              :                     }
    4898          126 :                     break;
    4899              :                   }
    4900              :                 default:;
    4901              :                 }
    4902              :               break;
    4903              :             }
    4904              :           default:;
    4905              :           }
    4906              :         break;
    4907              :       }
    4908      1548367 :     case PLUS_EXPR:
    4909      1548367 :       {
    4910      1548367 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4911      1548367 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4912      1548367 :         switch (TREE_CODE (_p1))
    4913              :           {
    4914       194927 :           case PLUS_EXPR:
    4915       194927 :             {
    4916       194927 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4917       194927 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4918       194927 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4919              :                 {
    4920          723 :                   {
    4921          723 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4922         1446 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4923         1415 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4924          609 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4925              : )
    4926              :                       {
    4927          692 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1549;
    4928          692 :                         {
    4929          692 :                           tree res_op0;
    4930          692 :                           res_op0 = captures[0];
    4931          692 :                           tree res_op1;
    4932          692 :                           res_op1 = captures[2];
    4933          692 :                           tree _r;
    4934          692 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4935          692 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4936            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4937          692 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 936, __FILE__, __LINE__, true);
    4938          692 :                           return _r;
    4939              :                         }
    4940            0 : next_after_fail1549:;
    4941              :                       }
    4942              :                   }
    4943              :                 }
    4944       194235 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4945              :                 {
    4946            0 :                   {
    4947            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    4948            0 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4949            0 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4950            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4951              : )
    4952              :                       {
    4953            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1550;
    4954            0 :                         {
    4955            0 :                           tree res_op0;
    4956            0 :                           res_op0 = captures[0];
    4957            0 :                           tree res_op1;
    4958            0 :                           res_op1 = captures[2];
    4959            0 :                           tree _r;
    4960            0 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4961            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4962            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4963            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 936, __FILE__, __LINE__, true);
    4964            0 :                           return _r;
    4965              :                         }
    4966            0 : next_after_fail1550:;
    4967              :                       }
    4968              :                   }
    4969              :                 }
    4970       194235 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4971              :                 {
    4972          102 :                   {
    4973          102 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    4974          204 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4975          204 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4976          102 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4977              : )
    4978              :                       {
    4979          102 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1551;
    4980          102 :                         {
    4981          102 :                           tree res_op0;
    4982          102 :                           res_op0 = captures[0];
    4983          102 :                           tree res_op1;
    4984          102 :                           res_op1 = captures[2];
    4985          102 :                           tree _r;
    4986          102 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4987          102 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4988            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4989          102 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 936, __FILE__, __LINE__, true);
    4990          102 :                           return _r;
    4991              :                         }
    4992            0 : next_after_fail1551:;
    4993              :                       }
    4994              :                   }
    4995              :                 }
    4996       194133 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4997              :                 {
    4998       110759 :                   {
    4999       110759 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5000       221518 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5001       221495 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5002       110736 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5003              : )
    5004              :                       {
    5005       110736 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1552;
    5006       110736 :                         {
    5007       110736 :                           tree res_op0;
    5008       110736 :                           res_op0 = captures[0];
    5009       110736 :                           tree res_op1;
    5010       110736 :                           res_op1 = captures[2];
    5011       110736 :                           tree _r;
    5012       110736 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    5013       110736 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5014            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5015       110736 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 936, __FILE__, __LINE__, true);
    5016       110736 :                           return _r;
    5017              :                         }
    5018            0 : next_after_fail1552:;
    5019              :                       }
    5020              :                   }
    5021              :                 }
    5022              :               break;
    5023              :             }
    5024      1436837 :           default:;
    5025              :           }
    5026      1436837 :         switch (TREE_CODE (_q21))
    5027              :           {
    5028          813 :           CASE_CONVERT:
    5029          813 :             {
    5030          813 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5031          813 :               switch (TREE_CODE (_p1))
    5032              :                 {
    5033           88 :                 CASE_CONVERT:
    5034           88 :                   {
    5035           88 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5036           88 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    5037              :                       {
    5038            0 :                         {
    5039            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5040            0 :                           tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5041            0 :                           if (res) return res;
    5042              :                         }
    5043              :                       }
    5044              :                     break;
    5045              :                   }
    5046              :                 default:;
    5047              :                 }
    5048              :               break;
    5049              :             }
    5050      1436837 :           default:;
    5051              :           }
    5052      1436837 :         switch (TREE_CODE (_q20))
    5053              :           {
    5054       142080 :           CASE_CONVERT:
    5055       142080 :             {
    5056       142080 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5057       142080 :               switch (TREE_CODE (_p1))
    5058              :                 {
    5059         3994 :                 CASE_CONVERT:
    5060         3994 :                   {
    5061         3994 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5062         3994 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5063              :                       {
    5064          405 :                         {
    5065          405 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5066          405 :                           tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5067          405 :                           if (res) return res;
    5068              :                         }
    5069              :                       }
    5070              :                     break;
    5071              :                   }
    5072       141675 :                 default:;
    5073              :                 }
    5074       141675 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5075              :                 {
    5076            0 :                   {
    5077            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5078            0 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5079            0 :                     if (res) return res;
    5080              :                   }
    5081              :                 }
    5082              :               break;
    5083              :             }
    5084      1436432 :           default:;
    5085              :           }
    5086      1436432 :         switch (TREE_CODE (_q21))
    5087              :           {
    5088          813 :           CASE_CONVERT:
    5089          813 :             {
    5090          813 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5091          813 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5092              :                 {
    5093            0 :                   {
    5094            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5095            0 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5096            0 :                     if (res) return res;
    5097              :                   }
    5098              :                 }
    5099              :               break;
    5100              :             }
    5101      1436432 :           default:;
    5102              :           }
    5103      1436432 :         switch (TREE_CODE (_p1))
    5104              :           {
    5105        43678 :           CASE_CONVERT:
    5106        43678 :             {
    5107        43678 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5108        43678 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5109              :                 {
    5110            0 :                   {
    5111            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5112            0 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5113            0 :                     if (res) return res;
    5114              :                   }
    5115              :                 }
    5116        43678 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5117              :                 {
    5118            0 :                   {
    5119            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5120            0 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5121            0 :                     if (res) return res;
    5122              :                   }
    5123              :                 }
    5124              :               break;
    5125              :             }
    5126      1436432 :           default:;
    5127              :           }
    5128      1436432 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5129              :           {
    5130        77166 :             {
    5131        77166 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5132        77166 :               tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5133        77166 :               if (res) return res;
    5134              :             }
    5135              :           }
    5136      1359974 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5137              :           {
    5138        19404 :             {
    5139        19404 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5140        19404 :               tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5141        19404 :               if (res) return res;
    5142              :             }
    5143              :           }
    5144              :         break;
    5145              :       }
    5146       540698 :     case POINTER_PLUS_EXPR:
    5147       540698 :       {
    5148       540698 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5149       540698 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5150       540698 :         switch (TREE_CODE (_p1))
    5151              :           {
    5152        37122 :           case POINTER_PLUS_EXPR:
    5153        37122 :             {
    5154        37122 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5155        37122 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5156        37122 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5157              :                 {
    5158         9871 :                   {
    5159         9871 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5160         9871 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, NE_EXPR);
    5161         9871 :                     if (res) return res;
    5162              :                   }
    5163              :                 }
    5164              :               break;
    5165              :             }
    5166       530827 :           default:;
    5167              :           }
    5168       530827 :         switch (TREE_CODE (_q20))
    5169              :           {
    5170        76857 :           CASE_CONVERT:
    5171        76857 :             {
    5172        76857 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5173        76857 :               switch (TREE_CODE (_p1))
    5174              :                 {
    5175          194 :                 CASE_CONVERT:
    5176          194 :                   {
    5177          194 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5178          194 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5179              :                       {
    5180            0 :                         {
    5181            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5182            0 :                           tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, NE_EXPR);
    5183            0 :                           if (res) return res;
    5184              :                         }
    5185              :                       }
    5186              :                     break;
    5187              :                   }
    5188        76857 :                 default:;
    5189              :                 }
    5190        76857 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5191              :                 {
    5192           63 :                   {
    5193           63 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5194           63 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, NE_EXPR);
    5195           63 :                     if (res) return res;
    5196              :                   }
    5197              :                 }
    5198              :               break;
    5199              :             }
    5200       530764 :           default:;
    5201              :           }
    5202       530764 :         switch (TREE_CODE (_p1))
    5203              :           {
    5204         3261 :           CASE_CONVERT:
    5205         3261 :             {
    5206         3261 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5207         3261 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5208              :                 {
    5209            0 :                   {
    5210            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5211            0 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, NE_EXPR);
    5212            0 :                     if (res) return res;
    5213              :                   }
    5214              :                 }
    5215              :               break;
    5216              :             }
    5217       530764 :           default:;
    5218              :           }
    5219       530764 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5220              :           {
    5221        11256 :             {
    5222        11256 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5223        11256 :               tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, NE_EXPR);
    5224        11256 :               if (res) return res;
    5225              :             }
    5226              :           }
    5227              :         break;
    5228              :       }
    5229       106350 :     case MINUS_EXPR:
    5230       106350 :       {
    5231       106350 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5232       106350 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5233       106350 :         switch (TREE_CODE (_p1))
    5234              :           {
    5235         5736 :           case MINUS_EXPR:
    5236         5736 :             {
    5237         5736 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5238         5736 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5239         5736 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5240              :                 {
    5241          170 :                   {
    5242          170 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5243          340 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5244          173 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5245            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5246              : )
    5247              :                       {
    5248            3 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1553;
    5249            3 :                         {
    5250            3 :                           tree res_op0;
    5251            3 :                           res_op0 = captures[0];
    5252            3 :                           tree res_op1;
    5253            3 :                           res_op1 = captures[2];
    5254            3 :                           tree _r;
    5255            3 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    5256            3 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5257            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5258            3 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
    5259            3 :                           return _r;
    5260              :                         }
    5261            0 : next_after_fail1553:;
    5262              :                       }
    5263              :                   }
    5264              :                 }
    5265         5733 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5266              :                 {
    5267          166 :                   {
    5268          166 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5269          332 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    5270          166 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    5271            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
    5272              : )
    5273              :                       {
    5274            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1554;
    5275            0 :                         {
    5276            0 :                           tree res_op0;
    5277            0 :                           res_op0 = captures[2];
    5278            0 :                           tree res_op1;
    5279            0 :                           res_op1 = captures[1];
    5280            0 :                           tree _r;
    5281            0 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    5282            0 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    5283            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5284            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    5285            0 :                           return _r;
    5286              :                         }
    5287            0 : next_after_fail1554:;
    5288              :                       }
    5289              :                   }
    5290              :                 }
    5291              :               break;
    5292              :             }
    5293       106347 :           default:;
    5294              :           }
    5295       106347 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5296              :           {
    5297         1754 :             {
    5298         1754 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5299         1754 :               tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5300         1754 :               if (res) return res;
    5301              :             }
    5302              :           }
    5303              :         break;
    5304              :       }
    5305        26857 :     case POINTER_DIFF_EXPR:
    5306        26857 :       {
    5307        26857 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5308        26857 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5309        26857 :         switch (TREE_CODE (_p1))
    5310              :           {
    5311         2314 :           case POINTER_DIFF_EXPR:
    5312         2314 :             {
    5313         2314 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5314         2314 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5315         2314 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5316              :                 {
    5317            0 :                   {
    5318            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5319            0 :                     tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, NE_EXPR);
    5320            0 :                     if (res) return res;
    5321              :                   }
    5322              :                 }
    5323         2314 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5324              :                 {
    5325            0 :                   {
    5326            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5327            0 :                     tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, NE_EXPR);
    5328            0 :                     if (res) return res;
    5329              :                   }
    5330              :                 }
    5331              :               break;
    5332              :             }
    5333              :           default:;
    5334              :           }
    5335              :         break;
    5336              :       }
    5337     38512656 :     default:;
    5338              :     }
    5339     38512656 : {
    5340     38512656 :   tree _p0_pops[1];
    5341     38512656 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    5342              :     {
    5343       648473 :       tree _q20 = _p0_pops[0];
    5344       648473 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5345              :         {
    5346           24 :           if (tree_truth_valued_p (_p1))
    5347              :             {
    5348            0 :               {
    5349            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5350            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1555;
    5351            0 :                 {
    5352            0 :                   tree _r;
    5353            0 :                   _r =  constant_boolean_node (NE_EXPR != EQ_EXPR, type);
    5354            0 :                   if (TREE_SIDE_EFFECTS (captures[0]))
    5355            0 :                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5356            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 905, __FILE__, __LINE__, true);
    5357            0 :                   return _r;
    5358              :                 }
    5359            0 : next_after_fail1555:;
    5360              :               }
    5361              :             }
    5362              :         }
    5363              :     }
    5364              : }
    5365     38512656 : if (tree_truth_valued_p (_p0))
    5366              :   {
    5367      5635645 :     {
    5368      5635645 :       tree _p1_pops[1];
    5369      5635645 :       if (tree_logical_inverted_value (_p1, _p1_pops))
    5370              :         {
    5371         1159 :           tree _q30 = _p1_pops[0];
    5372         1159 :           if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5373              :             {
    5374            0 :               {
    5375            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5376            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1556;
    5377            0 :                 {
    5378            0 :                   tree _r;
    5379            0 :                   _r =  constant_boolean_node (NE_EXPR != EQ_EXPR, type);
    5380            0 :                   if (TREE_SIDE_EFFECTS (captures[0]))
    5381            0 :                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5382            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 905, __FILE__, __LINE__, true);
    5383            0 :                   return _r;
    5384              :                 }
    5385            0 : next_after_fail1556:;
    5386              :               }
    5387              :             }
    5388              :         }
    5389              :     }
    5390              :   }
    5391     38512656 :   switch (TREE_CODE (_p1))
    5392              :     {
    5393       125364 :     case PLUS_EXPR:
    5394       125364 :       {
    5395       125364 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5396       125364 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5397       125364 :         switch (TREE_CODE (_q31))
    5398              :           {
    5399          368 :           CASE_CONVERT:
    5400          368 :             {
    5401          368 :               tree _q50 = TREE_OPERAND (_q31, 0);
    5402          368 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5403              :                 {
    5404            0 :                   {
    5405            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5406            0 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5407            0 :                     if (res) return res;
    5408              :                   }
    5409              :                 }
    5410              :               break;
    5411              :             }
    5412       125364 :           default:;
    5413              :           }
    5414       125364 :         switch (TREE_CODE (_q30))
    5415              :           {
    5416         6248 :           CASE_CONVERT:
    5417         6248 :             {
    5418         6248 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5419         6248 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5420              :                 {
    5421            0 :                   {
    5422            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5423            0 :                     tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5424            0 :                     if (res) return res;
    5425              :                   }
    5426              :                 }
    5427              :               break;
    5428              :             }
    5429       125364 :           default:;
    5430              :           }
    5431       125364 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5432              :           {
    5433            0 :             {
    5434            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5435            0 :               tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5436            0 :               if (res) return res;
    5437              :             }
    5438              :           }
    5439       125364 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5440              :           {
    5441            8 :             {
    5442            8 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5443            8 :               tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    5444            8 :               if (res) return res;
    5445              :             }
    5446              :           }
    5447              :         break;
    5448              :       }
    5449     38512648 :     default:;
    5450              :     }
    5451     38512648 : {
    5452     38512648 :   tree _p1_pops[1];
    5453     38512648 :   if (tree_nop_convert (_p1, _p1_pops))
    5454              :     {
    5455      5078631 :       tree _q30 = _p1_pops[0];
    5456      5078631 :       switch (TREE_CODE (_q30))
    5457              :         {
    5458         1980 :         case PLUS_EXPR:
    5459         1980 :           {
    5460         1980 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5461         1980 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5462         1980 :             switch (TREE_CODE (_q41))
    5463              :               {
    5464            3 :               CASE_CONVERT:
    5465            3 :                 {
    5466            3 :                   tree _q60 = TREE_OPERAND (_q41, 0);
    5467            3 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    5468              :                     {
    5469            0 :                       {
    5470            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5471            0 :                         tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    5472            0 :                         if (res) return res;
    5473              :                       }
    5474              :                     }
    5475              :                   break;
    5476              :                 }
    5477         1980 :               default:;
    5478              :               }
    5479         1980 :             switch (TREE_CODE (_q40))
    5480              :               {
    5481         1169 :               CASE_CONVERT:
    5482         1169 :                 {
    5483         1169 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5484         1169 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5485              :                     {
    5486            0 :                       {
    5487            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5488            0 :                         tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    5489            0 :                         if (res) return res;
    5490              :                       }
    5491              :                     }
    5492              :                   break;
    5493              :                 }
    5494         1980 :               default:;
    5495              :               }
    5496         1980 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    5497              :               {
    5498            0 :                 {
    5499            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5500            0 :                   tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    5501            0 :                   if (res) return res;
    5502              :                 }
    5503              :               }
    5504         1980 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5505              :               {
    5506            0 :                 {
    5507            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5508            0 :                   tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR);
    5509            0 :                   if (res) return res;
    5510              :                 }
    5511              :               }
    5512              :             break;
    5513              :           }
    5514              :         default:;
    5515              :         }
    5516              :     }
    5517              : }
    5518     38512648 :   switch (TREE_CODE (_p0))
    5519              :     {
    5520      8644783 :     CASE_CONVERT:
    5521      8644783 :       {
    5522      8644783 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5523      8644783 :         switch (TREE_CODE (_p1))
    5524              :           {
    5525          164 :           case POINTER_PLUS_EXPR:
    5526          164 :             {
    5527          164 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5528          164 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5529          164 :               switch (TREE_CODE (_q40))
    5530              :                 {
    5531           48 :                 CASE_CONVERT:
    5532           48 :                   {
    5533           48 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5534           48 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5535              :                       {
    5536            0 :                         {
    5537            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5538            0 :                           tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, NE_EXPR);
    5539            0 :                           if (res) return res;
    5540              :                         }
    5541              :                       }
    5542              :                     break;
    5543              :                   }
    5544          164 :                 default:;
    5545              :                 }
    5546          164 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    5547              :                 {
    5548            0 :                   {
    5549            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5550            0 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, NE_EXPR);
    5551            0 :                     if (res) return res;
    5552              :                   }
    5553              :                 }
    5554              :               break;
    5555              :             }
    5556      8644783 :           default:;
    5557              :           }
    5558      8644783 :       {
    5559      8644783 :         tree _p1_pops[1];
    5560      8644783 :         if (tree_nop_convert (_p1, _p1_pops))
    5561              :           {
    5562      4710367 :             tree _q40 = _p1_pops[0];
    5563      4710367 :             switch (TREE_CODE (_q40))
    5564              :               {
    5565           48 :               case POINTER_PLUS_EXPR:
    5566           48 :                 {
    5567           48 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5568           48 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    5569           48 :                   switch (TREE_CODE (_q50))
    5570              :                     {
    5571            8 :                     CASE_CONVERT:
    5572            8 :                       {
    5573            8 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    5574            8 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5575              :                           {
    5576            0 :                             {
    5577            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5578            0 :                               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, NE_EXPR);
    5579            0 :                               if (res) return res;
    5580              :                             }
    5581              :                           }
    5582              :                         break;
    5583              :                       }
    5584           48 :                     default:;
    5585              :                     }
    5586           48 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5587              :                     {
    5588            0 :                       {
    5589            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5590            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, NE_EXPR);
    5591            0 :                         if (res) return res;
    5592              :                       }
    5593              :                     }
    5594              :                   break;
    5595              :                 }
    5596              :               default:;
    5597              :               }
    5598              :           }
    5599              :       }
    5600      8644783 :         break;
    5601              :       }
    5602     38512648 :     default:;
    5603              :     }
    5604     38512648 : {
    5605     38512648 :   tree _p0_pops[1];
    5606     38512648 :   if (tree_nop_convert (_p0, _p0_pops))
    5607              :     {
    5608      6374207 :       tree _q20 = _p0_pops[0];
    5609      6374207 :       switch (TREE_CODE (_q20))
    5610              :         {
    5611          185 :         case POINTER_PLUS_EXPR:
    5612          185 :           {
    5613          185 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5614          185 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5615          185 :             switch (TREE_CODE (_q30))
    5616              :               {
    5617           24 :               CASE_CONVERT:
    5618           24 :                 {
    5619           24 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    5620           24 :                   switch (TREE_CODE (_p1))
    5621              :                     {
    5622            8 :                     CASE_CONVERT:
    5623            8 :                       {
    5624            8 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    5625            8 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    5626              :                           {
    5627            0 :                             {
    5628            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5629            0 :                               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, NE_EXPR);
    5630            0 :                               if (res) return res;
    5631              :                             }
    5632              :                           }
    5633              :                         break;
    5634              :                       }
    5635           24 :                     default:;
    5636              :                     }
    5637           24 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5638              :                     {
    5639            0 :                       {
    5640            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5641            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, NE_EXPR);
    5642            0 :                         if (res) return res;
    5643              :                       }
    5644              :                     }
    5645              :                   break;
    5646              :                 }
    5647          185 :               default:;
    5648              :               }
    5649          185 :             switch (TREE_CODE (_p1))
    5650              :               {
    5651           50 :               CASE_CONVERT:
    5652           50 :                 {
    5653           50 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5654           50 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5655              :                     {
    5656            0 :                       {
    5657            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5658            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, NE_EXPR);
    5659            0 :                         if (res) return res;
    5660              :                       }
    5661              :                     }
    5662              :                   break;
    5663              :                 }
    5664          185 :               default:;
    5665              :               }
    5666          185 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5667              :               {
    5668            0 :                 {
    5669            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5670            0 :                   tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, NE_EXPR);
    5671            0 :                   if (res) return res;
    5672              :                 }
    5673              :               }
    5674              :             break;
    5675              :           }
    5676              :         default:;
    5677              :         }
    5678              :     }
    5679              : }
    5680     38512648 :   switch (TREE_CODE (_p1))
    5681              :     {
    5682        32022 :     case POINTER_PLUS_EXPR:
    5683        32022 :       {
    5684        32022 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5685        32022 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5686        32022 :         switch (TREE_CODE (_q30))
    5687              :           {
    5688         3536 :           CASE_CONVERT:
    5689         3536 :             {
    5690         3536 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5691         3536 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5692              :                 {
    5693            0 :                   {
    5694            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5695            0 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, NE_EXPR);
    5696            0 :                     if (res) return res;
    5697              :                   }
    5698              :                 }
    5699              :               break;
    5700              :             }
    5701        32022 :           default:;
    5702              :           }
    5703        32022 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5704              :           {
    5705            0 :             {
    5706            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5707            0 :               tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, NE_EXPR);
    5708            0 :               if (res) return res;
    5709              :             }
    5710              :           }
    5711              :         break;
    5712              :       }
    5713     38512648 :     default:;
    5714              :     }
    5715     38512648 : {
    5716     38512648 :   tree _p1_pops[1];
    5717     38512648 :   if (tree_nop_convert (_p1, _p1_pops))
    5718              :     {
    5719      5078631 :       tree _q30 = _p1_pops[0];
    5720      5078631 :       switch (TREE_CODE (_q30))
    5721              :         {
    5722          387 :         case POINTER_PLUS_EXPR:
    5723          387 :           {
    5724          387 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5725          387 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5726          387 :             switch (TREE_CODE (_q40))
    5727              :               {
    5728            8 :               CASE_CONVERT:
    5729            8 :                 {
    5730            8 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5731            8 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5732              :                     {
    5733            0 :                       {
    5734            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5735            0 :                         tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, NE_EXPR);
    5736            0 :                         if (res) return res;
    5737              :                       }
    5738              :                     }
    5739              :                   break;
    5740              :                 }
    5741          387 :               default:;
    5742              :               }
    5743          387 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5744              :               {
    5745            0 :                 {
    5746            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5747            0 :                   tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, NE_EXPR);
    5748            0 :                   if (res) return res;
    5749              :                 }
    5750              :               }
    5751              :             break;
    5752              :           }
    5753              :         default:;
    5754              :         }
    5755              :     }
    5756              : }
    5757     38512648 :   switch (TREE_CODE (_p0))
    5758              :     {
    5759       519508 :     case POINTER_PLUS_EXPR:
    5760       519508 :       {
    5761       519508 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5762       519508 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5763       519508 :         switch (TREE_CODE (_p1))
    5764              :           {
    5765        52423 :           case ADDR_EXPR:
    5766        52423 :             {
    5767        52423 :               {
    5768        52423 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5769        52423 :                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    5770        52423 :                 if (res) return res;
    5771              :               }
    5772        36165 :               break;
    5773              :             }
    5774       503250 :           default:;
    5775              :           }
    5776       503250 :         switch (TREE_CODE (_q20))
    5777              :           {
    5778         5316 :           case ADDR_EXPR:
    5779         5316 :             {
    5780         5316 :               switch (TREE_CODE (_p1))
    5781              :                 {
    5782          413 :                 case POINTER_PLUS_EXPR:
    5783          413 :                   {
    5784          413 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5785          413 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5786          413 :                     switch (TREE_CODE (_q50))
    5787              :                       {
    5788            0 :                       case ADDR_EXPR:
    5789            0 :                         {
    5790            0 :                           {
    5791            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    5792            0 :                             tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, NE_EXPR);
    5793            0 :                             if (res) return res;
    5794              :                           }
    5795            0 :                           break;
    5796              :                         }
    5797              :                       default:;
    5798              :                       }
    5799              :                     break;
    5800              :                   }
    5801              :                 default:;
    5802              :                 }
    5803              :               break;
    5804              :             }
    5805              :           default:;
    5806              :           }
    5807              :         break;
    5808              :       }
    5809       206557 :     case ADDR_EXPR:
    5810       206557 :       {
    5811       206557 :         switch (TREE_CODE (_p1))
    5812              :           {
    5813            0 :           case POINTER_PLUS_EXPR:
    5814            0 :             {
    5815            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    5816            0 :               tree _q31 = TREE_OPERAND (_p1, 1);
    5817            0 :               {
    5818            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5819            0 :                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    5820            0 :                 if (res) return res;
    5821              :               }
    5822            0 :               break;
    5823              :             }
    5824              :           default:;
    5825              :           }
    5826              :         break;
    5827              :       }
    5828     38496390 :     default:;
    5829              :     }
    5830     38496390 :   switch (TREE_CODE (_p1))
    5831              :     {
    5832        30237 :     case MINUS_EXPR:
    5833        30237 :       {
    5834        30237 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5835        30237 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5836        30237 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5837              :           {
    5838            0 :             {
    5839            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5840            0 :               tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5841            0 :               if (res) return res;
    5842              :             }
    5843              :           }
    5844              :         break;
    5845              :       }
    5846     38496390 :     default:;
    5847              :     }
    5848     38496390 :   switch (TREE_CODE (_p0))
    5849              :     {
    5850         9090 :     case TRUNC_DIV_EXPR:
    5851         9090 :       {
    5852         9090 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5853         9090 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5854         9090 :         if (tree_expr_nonnegative_p (_q20))
    5855              :           {
    5856         3429 :             if (tree_expr_nonnegative_p (_q21))
    5857              :               {
    5858         3205 :                 if (integer_zerop (_p1))
    5859              :                   {
    5860          182 :                     {
    5861          182 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5862          182 :                       tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
    5863          182 :                       if (res) return res;
    5864              :                     }
    5865              :                   }
    5866              :               }
    5867              :           }
    5868              :         break;
    5869              :       }
    5870      8644783 :     CASE_CONVERT:
    5871      8644783 :       {
    5872      8644783 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5873      8644783 :         switch (TREE_CODE (_p1))
    5874              :           {
    5875      4850706 :           CASE_CONVERT:
    5876      4850706 :             {
    5877      4850706 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5878      4850706 :               switch (TREE_CODE (_q40))
    5879              :                 {
    5880            0 :                 case MINUS_EXPR:
    5881            0 :                   {
    5882            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5883            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5884            0 :                     switch (TREE_CODE (_q50))
    5885              :                       {
    5886            0 :                       case INTEGER_CST:
    5887            0 :                         {
    5888            0 :                           switch (TREE_CODE (_q51))
    5889              :                             {
    5890            0 :                             CASE_CONVERT:
    5891            0 :                               {
    5892            0 :                                 tree _q70 = TREE_OPERAND (_q51, 0);
    5893            0 :                                 if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    5894              :                                   {
    5895            0 :                                     {
    5896            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    5897            0 :                                       tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    5898            0 :                                       if (res) return res;
    5899              :                                     }
    5900              :                                   }
    5901              :                                 break;
    5902              :                               }
    5903              :                             default:;
    5904              :                             }
    5905              :                           break;
    5906              :                         }
    5907              :                       default:;
    5908              :                       }
    5909              :                     break;
    5910              :                   }
    5911              :                 default:;
    5912              :                 }
    5913              :               break;
    5914              :             }
    5915      8644783 :           default:;
    5916              :           }
    5917      8644783 :         switch (TREE_CODE (_q20))
    5918              :           {
    5919           99 :           case MINUS_EXPR:
    5920           99 :             {
    5921           99 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5922           99 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5923           99 :               switch (TREE_CODE (_q30))
    5924              :                 {
    5925           49 :                 case INTEGER_CST:
    5926           49 :                   {
    5927           49 :                     switch (TREE_CODE (_q31))
    5928              :                       {
    5929            0 :                       CASE_CONVERT:
    5930            0 :                         {
    5931            0 :                           tree _q50 = TREE_OPERAND (_q31, 0);
    5932            0 :                           switch (TREE_CODE (_p1))
    5933              :                             {
    5934            0 :                             CASE_CONVERT:
    5935            0 :                               {
    5936            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    5937            0 :                                 if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    5938              :                                   {
    5939            0 :                                     {
    5940            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    5941            0 :                                       tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    5942            0 :                                       if (res) return res;
    5943              :                                     }
    5944              :                                   }
    5945              :                                 break;
    5946              :                               }
    5947            0 :                             default:;
    5948              :                             }
    5949            0 :                           if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    5950              :                             {
    5951            0 :                               {
    5952            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    5953            0 :                                 tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    5954            0 :                                 if (res) return res;
    5955              :                               }
    5956              :                             }
    5957              :                           break;
    5958              :                         }
    5959           49 :                       default:;
    5960              :                       }
    5961           49 :                     switch (TREE_CODE (_p1))
    5962              :                       {
    5963            0 :                       CASE_CONVERT:
    5964            0 :                         {
    5965            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    5966            0 :                           if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    5967              :                             {
    5968            0 :                               {
    5969            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    5970            0 :                                 tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    5971            0 :                                 if (res) return res;
    5972              :                               }
    5973              :                             }
    5974              :                           break;
    5975              :                         }
    5976           49 :                       default:;
    5977              :                       }
    5978           49 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    5979              :                       {
    5980            0 :                         {
    5981            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    5982            0 :                           tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    5983            0 :                           if (res) return res;
    5984              :                         }
    5985              :                       }
    5986              :                     break;
    5987              :                   }
    5988              :                 default:;
    5989              :                 }
    5990              :               break;
    5991              :             }
    5992      8644783 :           default:;
    5993              :           }
    5994      8644783 :         switch (TREE_CODE (_p1))
    5995              :           {
    5996      4850706 :           CASE_CONVERT:
    5997      4850706 :             {
    5998      4850706 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5999      4850706 :               switch (TREE_CODE (_q40))
    6000              :                 {
    6001            0 :                 case MINUS_EXPR:
    6002            0 :                   {
    6003            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6004            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6005            0 :                     switch (TREE_CODE (_q50))
    6006              :                       {
    6007            0 :                       case INTEGER_CST:
    6008            0 :                         {
    6009            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6010              :                             {
    6011            0 :                               {
    6012            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    6013            0 :                                 tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6014            0 :                                 if (res) return res;
    6015              :                               }
    6016              :                             }
    6017              :                           break;
    6018              :                         }
    6019              :                       default:;
    6020              :                       }
    6021              :                     break;
    6022              :                   }
    6023              :                 default:;
    6024              :                 }
    6025              :               break;
    6026              :             }
    6027        21620 :           case MINUS_EXPR:
    6028        21620 :             {
    6029        21620 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6030        21620 :               tree _q41 = TREE_OPERAND (_p1, 1);
    6031        21620 :               switch (TREE_CODE (_q40))
    6032              :                 {
    6033          401 :                 case INTEGER_CST:
    6034          401 :                   {
    6035          401 :                     switch (TREE_CODE (_q41))
    6036              :                       {
    6037           20 :                       CASE_CONVERT:
    6038           20 :                         {
    6039           20 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6040           20 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6041              :                             {
    6042            0 :                               {
    6043            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6044            0 :                                 tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6045            0 :                                 if (res) return res;
    6046              :                               }
    6047              :                             }
    6048              :                           break;
    6049              :                         }
    6050          401 :                       default:;
    6051              :                       }
    6052          401 :                     if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6053              :                       {
    6054            0 :                         {
    6055            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6056            0 :                           tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6057            0 :                           if (res) return res;
    6058              :                         }
    6059              :                       }
    6060              :                     break;
    6061              :                   }
    6062              :                 default:;
    6063              :                 }
    6064              :               break;
    6065              :             }
    6066              :           default:;
    6067              :           }
    6068              :         break;
    6069              :       }
    6070       104635 :     case MINUS_EXPR:
    6071       104635 :       {
    6072       104635 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6073       104635 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6074       104635 :         switch (TREE_CODE (_q20))
    6075              :           {
    6076         2256 :           case INTEGER_CST:
    6077         2256 :             {
    6078         2256 :               switch (TREE_CODE (_q21))
    6079              :                 {
    6080          190 :                 CASE_CONVERT:
    6081          190 :                   {
    6082          190 :                     tree _q40 = TREE_OPERAND (_q21, 0);
    6083          190 :                     switch (TREE_CODE (_p1))
    6084              :                       {
    6085            0 :                       CASE_CONVERT:
    6086            0 :                         {
    6087            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6088            0 :                           if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    6089              :                             {
    6090            0 :                               {
    6091            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6092            0 :                                 tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6093            0 :                                 if (res) return res;
    6094              :                               }
    6095              :                             }
    6096              :                           break;
    6097              :                         }
    6098          190 :                       default:;
    6099              :                       }
    6100          190 :                     if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6101              :                       {
    6102            0 :                         {
    6103            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6104            0 :                           tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6105            0 :                           if (res) return res;
    6106              :                         }
    6107              :                       }
    6108              :                     break;
    6109              :                   }
    6110         2256 :                 default:;
    6111              :                 }
    6112         2256 :               switch (TREE_CODE (_p1))
    6113              :                 {
    6114          306 :                 CASE_CONVERT:
    6115          306 :                   {
    6116          306 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6117          306 :                     if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6118              :                       {
    6119            0 :                         {
    6120            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6121            0 :                           tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6122            0 :                           if (res) return res;
    6123              :                         }
    6124              :                       }
    6125              :                     break;
    6126              :                   }
    6127         2256 :                 default:;
    6128              :                 }
    6129         2256 :               if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6130              :                 {
    6131           19 :                   {
    6132           19 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6133           19 :                     tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6134           19 :                     if (res) return res;
    6135              :                   }
    6136              :                 }
    6137              :               break;
    6138              :             }
    6139              :           default:;
    6140              :           }
    6141              :         break;
    6142              :       }
    6143     38496218 :     default:;
    6144              :     }
    6145     38496218 :   switch (TREE_CODE (_p1))
    6146              :     {
    6147      5246794 :     CASE_CONVERT:
    6148      5246794 :       {
    6149      5246794 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6150      5246794 :         switch (TREE_CODE (_q30))
    6151              :           {
    6152          556 :           case MINUS_EXPR:
    6153          556 :             {
    6154          556 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6155          556 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6156          556 :               switch (TREE_CODE (_q40))
    6157              :                 {
    6158           17 :                 case INTEGER_CST:
    6159           17 :                   {
    6160           17 :                     switch (TREE_CODE (_q41))
    6161              :                       {
    6162            0 :                       CASE_CONVERT:
    6163            0 :                         {
    6164            0 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6165            0 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6166              :                             {
    6167            0 :                               {
    6168            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6169            0 :                                 tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6170            0 :                                 if (res) return res;
    6171              :                               }
    6172              :                             }
    6173              :                           break;
    6174              :                         }
    6175           17 :                       default:;
    6176              :                       }
    6177           17 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6178              :                       {
    6179            0 :                         {
    6180            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6181            0 :                           tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6182            0 :                           if (res) return res;
    6183              :                         }
    6184              :                       }
    6185              :                     break;
    6186              :                   }
    6187              :                 default:;
    6188              :                 }
    6189              :               break;
    6190              :             }
    6191              :           default:;
    6192              :           }
    6193              :         break;
    6194              :       }
    6195        30237 :     case MINUS_EXPR:
    6196        30237 :       {
    6197        30237 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6198        30237 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6199        30237 :         switch (TREE_CODE (_q30))
    6200              :           {
    6201          659 :           case INTEGER_CST:
    6202          659 :             {
    6203          659 :               switch (TREE_CODE (_q31))
    6204              :                 {
    6205           28 :                 CASE_CONVERT:
    6206           28 :                   {
    6207           28 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    6208           28 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6209              :                       {
    6210            0 :                         {
    6211            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6212            0 :                           tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6213            0 :                           if (res) return res;
    6214              :                         }
    6215              :                       }
    6216              :                     break;
    6217              :                   }
    6218          659 :                 default:;
    6219              :                 }
    6220          659 :               if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6221              :                 {
    6222            0 :                   {
    6223            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6224            0 :                     tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR);
    6225            0 :                     if (res) return res;
    6226              :                   }
    6227              :                 }
    6228              :               break;
    6229              :             }
    6230              :           default:;
    6231              :           }
    6232              :         break;
    6233              :       }
    6234     38496218 :     default:;
    6235              :     }
    6236     38496218 :   switch (TREE_CODE (_p0))
    6237              :     {
    6238        18294 :     case LT_EXPR:
    6239        18294 :       {
    6240        18294 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6241        18294 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6242        18294 :         switch (TREE_CODE (_p1))
    6243              :           {
    6244           18 :           case GT_EXPR:
    6245           18 :             {
    6246           18 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6247           18 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6248           18 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6249              :                 {
    6250            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6251              :                     {
    6252            0 :                       {
    6253            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6254            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6255            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6256            0 :                         const enum tree_code rcmp = NE_EXPR;
    6257            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6258            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6259            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6260            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6261            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6262              : )
    6263              :                           {
    6264            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1557;
    6265            0 :                             {
    6266            0 :                               tree res_op0;
    6267            0 :                               res_op0 = captures[0];
    6268            0 :                               tree res_op1;
    6269            0 :                               res_op1 = captures[1];
    6270            0 :                               tree _r;
    6271            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6272            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6273            0 :                               return _r;
    6274              :                             }
    6275            0 : next_after_fail1557:;
    6276              :                           }
    6277              :                       }
    6278              :                     }
    6279              :                 }
    6280              :               break;
    6281              :             }
    6282           23 :           case EQ_EXPR:
    6283           23 :             {
    6284           23 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6285           23 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6286           23 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6287              :                 {
    6288            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6289              :                     {
    6290            0 :                       {
    6291            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6292            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6293            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6294            0 :                         const enum tree_code rcmp = LE_EXPR;
    6295            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6296            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6297            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6298            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6299            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6300              : )
    6301              :                           {
    6302            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1558;
    6303            0 :                             {
    6304            0 :                               tree res_op0;
    6305            0 :                               res_op0 = captures[0];
    6306            0 :                               tree res_op1;
    6307            0 :                               res_op1 = captures[1];
    6308            0 :                               tree _r;
    6309            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6310            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6311            0 :                               return _r;
    6312              :                             }
    6313            0 : next_after_fail1558:;
    6314              :                           }
    6315              :                       }
    6316              :                     }
    6317              :                 }
    6318              :               break;
    6319              :             }
    6320           23 :           case NE_EXPR:
    6321           23 :             {
    6322           23 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6323           23 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6324           23 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6325              :                 {
    6326            9 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6327              :                     {
    6328            0 :                       {
    6329            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6330            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6331            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6332            0 :                         const enum tree_code rcmp = GT_EXPR;
    6333            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6334            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6335            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6336            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6337            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6338              : )
    6339              :                           {
    6340            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1559;
    6341            0 :                             {
    6342            0 :                               tree res_op0;
    6343            0 :                               res_op0 = captures[0];
    6344            0 :                               tree res_op1;
    6345            0 :                               res_op1 = captures[1];
    6346            0 :                               tree _r;
    6347            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6348            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6349            0 :                               return _r;
    6350              :                             }
    6351            0 : next_after_fail1559:;
    6352              :                           }
    6353              :                       }
    6354              :                     }
    6355              :                 }
    6356              :               break;
    6357              :             }
    6358              :           default:;
    6359              :           }
    6360              :         break;
    6361              :       }
    6362        12028 :     case LE_EXPR:
    6363        12028 :       {
    6364        12028 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6365        12028 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6366        12028 :         switch (TREE_CODE (_p1))
    6367              :           {
    6368           25 :           case GE_EXPR:
    6369           25 :             {
    6370           25 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6371           25 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6372           25 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6373              :                 {
    6374            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6375              :                     {
    6376            0 :                       {
    6377            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6378            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6379            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6380            0 :                         const enum tree_code rcmp = NE_EXPR;
    6381            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6382            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6383            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6384            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6385            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6386              : )
    6387              :                           {
    6388            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1560;
    6389            0 :                             {
    6390            0 :                               tree res_op0;
    6391            0 :                               res_op0 = captures[0];
    6392            0 :                               tree res_op1;
    6393            0 :                               res_op1 = captures[1];
    6394            0 :                               tree _r;
    6395            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6396            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6397            0 :                               return _r;
    6398              :                             }
    6399            0 : next_after_fail1560:;
    6400              :                           }
    6401              :                       }
    6402              :                     }
    6403              :                 }
    6404              :               break;
    6405              :             }
    6406           41 :           case EQ_EXPR:
    6407           41 :             {
    6408           41 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6409           41 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6410           41 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6411              :                 {
    6412            9 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6413              :                     {
    6414            0 :                       {
    6415            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6416            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6417            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6418            0 :                         const enum tree_code rcmp = LT_EXPR;
    6419            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6420            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6421            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6422            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6423            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6424              : )
    6425              :                           {
    6426            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1561;
    6427            0 :                             {
    6428            0 :                               tree res_op0;
    6429            0 :                               res_op0 = captures[0];
    6430            0 :                               tree res_op1;
    6431            0 :                               res_op1 = captures[1];
    6432            0 :                               tree _r;
    6433            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6434            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6435            0 :                               return _r;
    6436              :                             }
    6437            0 : next_after_fail1561:;
    6438              :                           }
    6439              :                       }
    6440              :                     }
    6441              :                 }
    6442              :               break;
    6443              :             }
    6444           13 :           case NE_EXPR:
    6445           13 :             {
    6446           13 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6447           13 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6448           13 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6449              :                 {
    6450            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6451              :                     {
    6452            0 :                       {
    6453            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6454            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6455            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6456            0 :                         const enum tree_code rcmp = GE_EXPR;
    6457            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6458            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6459            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6460            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6461            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6462              : )
    6463              :                           {
    6464            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1562;
    6465            0 :                             {
    6466            0 :                               tree res_op0;
    6467            0 :                               res_op0 = captures[0];
    6468            0 :                               tree res_op1;
    6469            0 :                               res_op1 = captures[1];
    6470            0 :                               tree _r;
    6471            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6472            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6473            0 :                               return _r;
    6474              :                             }
    6475            0 : next_after_fail1562:;
    6476              :                           }
    6477              :                       }
    6478              :                     }
    6479              :                 }
    6480              :               break;
    6481              :             }
    6482              :           default:;
    6483              :           }
    6484              :         break;
    6485              :       }
    6486        36023 :     case GT_EXPR:
    6487        36023 :       {
    6488        36023 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6489        36023 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6490        36023 :         switch (TREE_CODE (_p1))
    6491              :           {
    6492           77 :           case GT_EXPR:
    6493           77 :             {
    6494           77 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6495           77 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6496           77 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6497              :                 {
    6498            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6499              :                     {
    6500            0 :                       {
    6501            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6502            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6503            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6504            0 :                         const enum tree_code rcmp = NE_EXPR;
    6505            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6506            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6507            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6508            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6509            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6510              : )
    6511              :                           {
    6512            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1563;
    6513            0 :                             {
    6514            0 :                               tree res_op0;
    6515            0 :                               res_op0 = captures[0];
    6516            0 :                               tree res_op1;
    6517            0 :                               res_op1 = captures[1];
    6518            0 :                               tree _r;
    6519            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6520            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6521            0 :                               return _r;
    6522              :                             }
    6523            0 : next_after_fail1563:;
    6524              :                           }
    6525              :                       }
    6526            0 :                       {
    6527            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6528            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6529            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6530            0 :                         const enum tree_code rcmp = NE_EXPR;
    6531            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6532            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6533            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6534            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6535            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6536              : )
    6537              :                           {
    6538            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1564;
    6539            0 :                             {
    6540            0 :                               tree res_op0;
    6541            0 :                               res_op0 = captures[0];
    6542            0 :                               tree res_op1;
    6543            0 :                               res_op1 = captures[1];
    6544            0 :                               tree _r;
    6545            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6546            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6547            0 :                               return _r;
    6548              :                             }
    6549            0 : next_after_fail1564:;
    6550              :                           }
    6551              :                       }
    6552              :                     }
    6553              :                 }
    6554              :               break;
    6555              :             }
    6556           29 :           case EQ_EXPR:
    6557           29 :             {
    6558           29 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6559           29 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6560           29 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6561              :                 {
    6562            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6563              :                     {
    6564            0 :                       {
    6565            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6566            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6567            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6568            0 :                         const enum tree_code rcmp = LE_EXPR;
    6569            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6570            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6571            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6572            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6573            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6574              : )
    6575              :                           {
    6576            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1565;
    6577            0 :                             {
    6578            0 :                               tree res_op0;
    6579            0 :                               res_op0 = captures[0];
    6580            0 :                               tree res_op1;
    6581            0 :                               res_op1 = captures[1];
    6582            0 :                               tree _r;
    6583            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6584            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6585            0 :                               return _r;
    6586              :                             }
    6587            0 : next_after_fail1565:;
    6588              :                           }
    6589              :                       }
    6590              :                     }
    6591              :                 }
    6592              :               break;
    6593              :             }
    6594           53 :           case NE_EXPR:
    6595           53 :             {
    6596           53 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6597           53 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6598           53 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6599              :                 {
    6600            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6601              :                     {
    6602            0 :                       {
    6603            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6604            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6605            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6606            0 :                         const enum tree_code rcmp = GT_EXPR;
    6607            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6608            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6609            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6610            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6611            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6612              : )
    6613              :                           {
    6614            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1566;
    6615            0 :                             {
    6616            0 :                               tree res_op0;
    6617            0 :                               res_op0 = captures[0];
    6618            0 :                               tree res_op1;
    6619            0 :                               res_op1 = captures[1];
    6620            0 :                               tree _r;
    6621            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6622            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6623            0 :                               return _r;
    6624              :                             }
    6625            0 : next_after_fail1566:;
    6626              :                           }
    6627              :                       }
    6628              :                     }
    6629              :                 }
    6630              :               break;
    6631              :             }
    6632           32 :           case LT_EXPR:
    6633           32 :             {
    6634           32 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6635           32 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6636           32 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6637              :                 {
    6638            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6639              :                     {
    6640            0 :                       {
    6641            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6642            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6643            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6644            0 :                         const enum tree_code rcmp = NE_EXPR;
    6645            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6646            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6647            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6648            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6649            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6650              : )
    6651              :                           {
    6652            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1567;
    6653            0 :                             {
    6654            0 :                               tree res_op0;
    6655            0 :                               res_op0 = captures[0];
    6656            0 :                               tree res_op1;
    6657            0 :                               res_op1 = captures[1];
    6658            0 :                               tree _r;
    6659            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6660            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6661            0 :                               return _r;
    6662              :                             }
    6663            0 : next_after_fail1567:;
    6664              :                           }
    6665              :                       }
    6666              :                     }
    6667              :                 }
    6668              :               break;
    6669              :             }
    6670              :           default:;
    6671              :           }
    6672              :         break;
    6673              :       }
    6674         6161 :     case GE_EXPR:
    6675         6161 :       {
    6676         6161 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6677         6161 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6678         6161 :         switch (TREE_CODE (_p1))
    6679              :           {
    6680           76 :           case GE_EXPR:
    6681           76 :             {
    6682           76 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6683           76 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6684           76 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6685              :                 {
    6686            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6687              :                     {
    6688            0 :                       {
    6689            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6690            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6691            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6692            0 :                         const enum tree_code rcmp = NE_EXPR;
    6693            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6694            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6695            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6696            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6697            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6698              : )
    6699              :                           {
    6700            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1568;
    6701            0 :                             {
    6702            0 :                               tree res_op0;
    6703            0 :                               res_op0 = captures[0];
    6704            0 :                               tree res_op1;
    6705            0 :                               res_op1 = captures[1];
    6706            0 :                               tree _r;
    6707            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6708            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6709            0 :                               return _r;
    6710              :                             }
    6711            0 : next_after_fail1568:;
    6712              :                           }
    6713              :                       }
    6714            0 :                       {
    6715            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6716            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6717            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6718            0 :                         const enum tree_code rcmp = NE_EXPR;
    6719            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6720            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6721            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6722            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6723            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6724              : )
    6725              :                           {
    6726            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1569;
    6727            0 :                             {
    6728            0 :                               tree res_op0;
    6729            0 :                               res_op0 = captures[0];
    6730            0 :                               tree res_op1;
    6731            0 :                               res_op1 = captures[1];
    6732            0 :                               tree _r;
    6733            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6734            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6735            0 :                               return _r;
    6736              :                             }
    6737            0 : next_after_fail1569:;
    6738              :                           }
    6739              :                       }
    6740              :                     }
    6741              :                 }
    6742              :               break;
    6743              :             }
    6744           52 :           case EQ_EXPR:
    6745           52 :             {
    6746           52 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6747           52 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6748           52 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6749              :                 {
    6750            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6751              :                     {
    6752            0 :                       {
    6753            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6754            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6755            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6756            0 :                         const enum tree_code rcmp = LT_EXPR;
    6757            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6758            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6759            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6760            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6761            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6762              : )
    6763              :                           {
    6764            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1570;
    6765            0 :                             {
    6766            0 :                               tree res_op0;
    6767            0 :                               res_op0 = captures[0];
    6768            0 :                               tree res_op1;
    6769            0 :                               res_op1 = captures[1];
    6770            0 :                               tree _r;
    6771            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6772            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6773            0 :                               return _r;
    6774              :                             }
    6775            0 : next_after_fail1570:;
    6776              :                           }
    6777              :                       }
    6778              :                     }
    6779              :                 }
    6780              :               break;
    6781              :             }
    6782           11 :           case NE_EXPR:
    6783           11 :             {
    6784           11 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6785           11 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6786           11 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6787              :                 {
    6788            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6789              :                     {
    6790            0 :                       {
    6791            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6792            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6793            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6794            0 :                         const enum tree_code rcmp = GE_EXPR;
    6795            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6796            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6797            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6798            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6799            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6800              : )
    6801              :                           {
    6802            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1571;
    6803            0 :                             {
    6804            0 :                               tree res_op0;
    6805            0 :                               res_op0 = captures[0];
    6806            0 :                               tree res_op1;
    6807            0 :                               res_op1 = captures[1];
    6808            0 :                               tree _r;
    6809            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6810            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6811            0 :                               return _r;
    6812              :                             }
    6813            0 : next_after_fail1571:;
    6814              :                           }
    6815              :                       }
    6816              :                     }
    6817              :                 }
    6818              :               break;
    6819              :             }
    6820           16 :           case LE_EXPR:
    6821           16 :             {
    6822           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6823           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6824           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6825              :                 {
    6826            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6827              :                     {
    6828            0 :                       {
    6829            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6830            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6831            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6832            0 :                         const enum tree_code rcmp = NE_EXPR;
    6833            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6834            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6835            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6836            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6837            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6838              : )
    6839              :                           {
    6840            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1572;
    6841            0 :                             {
    6842            0 :                               tree res_op0;
    6843            0 :                               res_op0 = captures[0];
    6844            0 :                               tree res_op1;
    6845            0 :                               res_op1 = captures[1];
    6846            0 :                               tree _r;
    6847            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6848            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6849            0 :                               return _r;
    6850              :                             }
    6851            0 : next_after_fail1572:;
    6852              :                           }
    6853              :                       }
    6854              :                     }
    6855              :                 }
    6856              :               break;
    6857              :             }
    6858              :           default:;
    6859              :           }
    6860              :         break;
    6861              :       }
    6862        64154 :     case EQ_EXPR:
    6863        64154 :       {
    6864        64154 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6865        64154 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6866        64154 :         switch (TREE_CODE (_p1))
    6867              :           {
    6868            5 :           case LT_EXPR:
    6869            5 :             {
    6870            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6871            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6872            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6873              :                 {
    6874            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6875              :                     {
    6876            0 :                       {
    6877            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6878            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6879            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6880            0 :                         const enum tree_code rcmp = LE_EXPR;
    6881            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6882            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6883            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6884            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6885            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6886              : )
    6887              :                           {
    6888            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1573;
    6889            0 :                             {
    6890            0 :                               tree res_op0;
    6891            0 :                               res_op0 = captures[0];
    6892            0 :                               tree res_op1;
    6893            0 :                               res_op1 = captures[1];
    6894            0 :                               tree _r;
    6895            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6896            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6897            0 :                               return _r;
    6898              :                             }
    6899            0 : next_after_fail1573:;
    6900              :                           }
    6901              :                       }
    6902              :                     }
    6903              :                 }
    6904              :               break;
    6905              :             }
    6906           42 :           case LE_EXPR:
    6907           42 :             {
    6908           42 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6909           42 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6910           42 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6911              :                 {
    6912            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6913              :                     {
    6914            0 :                       {
    6915            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6916            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6917            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6918            0 :                         const enum tree_code rcmp = LT_EXPR;
    6919            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6920            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6921            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6922            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6923            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6924              : )
    6925              :                           {
    6926            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1574;
    6927            0 :                             {
    6928            0 :                               tree res_op0;
    6929            0 :                               res_op0 = captures[0];
    6930            0 :                               tree res_op1;
    6931            0 :                               res_op1 = captures[1];
    6932            0 :                               tree _r;
    6933            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6934            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6935            0 :                               return _r;
    6936              :                             }
    6937            0 : next_after_fail1574:;
    6938              :                           }
    6939              :                       }
    6940              :                     }
    6941              :                 }
    6942              :               break;
    6943              :             }
    6944            7 :           case GT_EXPR:
    6945            7 :             {
    6946            7 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6947            7 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6948            7 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6949              :                 {
    6950            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6951              :                     {
    6952            0 :                       {
    6953            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6954            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6955            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6956            0 :                         const enum tree_code rcmp = LE_EXPR;
    6957            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6958            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6959            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6960            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6961            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6962              : )
    6963              :                           {
    6964            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1575;
    6965            0 :                             {
    6966            0 :                               tree res_op0;
    6967            0 :                               res_op0 = captures[0];
    6968            0 :                               tree res_op1;
    6969            0 :                               res_op1 = captures[1];
    6970            0 :                               tree _r;
    6971            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6972            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    6973            0 :                               return _r;
    6974              :                             }
    6975            0 : next_after_fail1575:;
    6976              :                           }
    6977              :                       }
    6978              :                     }
    6979              :                 }
    6980              :               break;
    6981              :             }
    6982           14 :           case GE_EXPR:
    6983           14 :             {
    6984           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6985           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6986           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6987              :                 {
    6988            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6989              :                     {
    6990            0 :                       {
    6991            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6992            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6993            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6994            0 :                         const enum tree_code rcmp = LT_EXPR;
    6995            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6996            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6997            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    6998            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    6999            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7000              : )
    7001              :                           {
    7002            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1576;
    7003            0 :                             {
    7004            0 :                               tree res_op0;
    7005            0 :                               res_op0 = captures[0];
    7006            0 :                               tree res_op1;
    7007            0 :                               res_op1 = captures[1];
    7008            0 :                               tree _r;
    7009            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7010            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    7011            0 :                               return _r;
    7012              :                             }
    7013            0 : next_after_fail1576:;
    7014              :                           }
    7015              :                       }
    7016              :                     }
    7017              :                 }
    7018              :               break;
    7019              :             }
    7020              :           default:;
    7021              :           }
    7022              :         break;
    7023              :       }
    7024        69558 :     case NE_EXPR:
    7025        69558 :       {
    7026        69558 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7027        69558 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7028        69558 :         switch (TREE_CODE (_p1))
    7029              :           {
    7030            7 :           case LT_EXPR:
    7031            7 :             {
    7032            7 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7033            7 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7034            7 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7035              :                 {
    7036            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7037              :                     {
    7038            0 :                       {
    7039            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7040            0 :                         const enum tree_code cmp1 = LT_EXPR;
    7041            0 :                         const enum tree_code cmp2 = NE_EXPR;
    7042            0 :                         const enum tree_code rcmp = GT_EXPR;
    7043            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7044            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7045            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    7046            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    7047            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7048              : )
    7049              :                           {
    7050            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1577;
    7051            0 :                             {
    7052            0 :                               tree res_op0;
    7053            0 :                               res_op0 = captures[0];
    7054            0 :                               tree res_op1;
    7055            0 :                               res_op1 = captures[1];
    7056            0 :                               tree _r;
    7057            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7058            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    7059            0 :                               return _r;
    7060              :                             }
    7061            0 : next_after_fail1577:;
    7062              :                           }
    7063              :                       }
    7064              :                     }
    7065              :                 }
    7066              :               break;
    7067              :             }
    7068          302 :           case LE_EXPR:
    7069          302 :             {
    7070          302 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7071          302 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7072          302 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7073              :                 {
    7074            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7075              :                     {
    7076            0 :                       {
    7077            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7078            0 :                         const enum tree_code cmp1 = LE_EXPR;
    7079            0 :                         const enum tree_code cmp2 = NE_EXPR;
    7080            0 :                         const enum tree_code rcmp = GE_EXPR;
    7081            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7082            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7083            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    7084            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    7085            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7086              : )
    7087              :                           {
    7088            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1578;
    7089            0 :                             {
    7090            0 :                               tree res_op0;
    7091            0 :                               res_op0 = captures[0];
    7092            0 :                               tree res_op1;
    7093            0 :                               res_op1 = captures[1];
    7094            0 :                               tree _r;
    7095            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7096            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    7097            0 :                               return _r;
    7098              :                             }
    7099            0 : next_after_fail1578:;
    7100              :                           }
    7101              :                       }
    7102              :                     }
    7103              :                 }
    7104              :               break;
    7105              :             }
    7106          323 :           case GT_EXPR:
    7107          323 :             {
    7108          323 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7109          323 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7110          323 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7111              :                 {
    7112            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7113              :                     {
    7114            0 :                       {
    7115            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7116            0 :                         const enum tree_code cmp1 = LT_EXPR;
    7117            0 :                         const enum tree_code cmp2 = NE_EXPR;
    7118            0 :                         const enum tree_code rcmp = GT_EXPR;
    7119            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7120            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7121            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    7122            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    7123            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7124              : )
    7125              :                           {
    7126            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1579;
    7127            0 :                             {
    7128            0 :                               tree res_op0;
    7129            0 :                               res_op0 = captures[0];
    7130            0 :                               tree res_op1;
    7131            0 :                               res_op1 = captures[1];
    7132            0 :                               tree _r;
    7133            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7134            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    7135            0 :                               return _r;
    7136              :                             }
    7137            0 : next_after_fail1579:;
    7138              :                           }
    7139              :                       }
    7140              :                     }
    7141              :                 }
    7142              :               break;
    7143              :             }
    7144            2 :           case GE_EXPR:
    7145            2 :             {
    7146            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7147            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7148            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7149              :                 {
    7150            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7151              :                     {
    7152            0 :                       {
    7153            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7154            0 :                         const enum tree_code cmp1 = LE_EXPR;
    7155            0 :                         const enum tree_code cmp2 = NE_EXPR;
    7156            0 :                         const enum tree_code rcmp = GE_EXPR;
    7157            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7158            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7159            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    7160            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    7161            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7162              : )
    7163              :                           {
    7164            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1580;
    7165            0 :                             {
    7166            0 :                               tree res_op0;
    7167            0 :                               res_op0 = captures[0];
    7168            0 :                               tree res_op1;
    7169            0 :                               res_op1 = captures[1];
    7170            0 :                               tree _r;
    7171            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7172            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    7173            0 :                               return _r;
    7174              :                             }
    7175            0 : next_after_fail1580:;
    7176              :                           }
    7177              :                       }
    7178              :                     }
    7179              :                 }
    7180              :               break;
    7181              :             }
    7182              :           default:;
    7183              :           }
    7184              :         break;
    7185              :       }
    7186         8528 :     case MIN_EXPR:
    7187         8528 :       {
    7188         8528 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7189         8528 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7190         8528 :         switch (TREE_CODE (_p1))
    7191              :           {
    7192            0 :           case MAX_EXPR:
    7193            0 :             {
    7194            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7195            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7196            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7197              :                 {
    7198            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7199              :                     {
    7200            0 :                       {
    7201            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7202            0 :                         if (!HONOR_NANS (captures[0])
    7203              : )
    7204              :                           {
    7205            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1581;
    7206            0 :                             {
    7207            0 :                               tree res_op0;
    7208            0 :                               res_op0 = captures[0];
    7209            0 :                               tree res_op1;
    7210            0 :                               res_op1 = captures[1];
    7211            0 :                               tree _r;
    7212            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7213            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    7214            0 :                               return _r;
    7215              :                             }
    7216            0 : next_after_fail1581:;
    7217              :                           }
    7218              :                       }
    7219              :                     }
    7220              :                 }
    7221            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7222              :                 {
    7223            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7224              :                     {
    7225            0 :                       {
    7226            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7227            0 :                         if (!HONOR_NANS (captures[0])
    7228              : )
    7229              :                           {
    7230            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1582;
    7231            0 :                             {
    7232            0 :                               tree res_op0;
    7233            0 :                               res_op0 = captures[0];
    7234            0 :                               tree res_op1;
    7235            0 :                               res_op1 = captures[1];
    7236            0 :                               tree _r;
    7237            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7238            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    7239            0 :                               return _r;
    7240              :                             }
    7241            0 : next_after_fail1582:;
    7242              :                           }
    7243              :                       }
    7244              :                     }
    7245              :                 }
    7246              :               break;
    7247              :             }
    7248         8528 :           default:;
    7249              :           }
    7250         8528 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7251              :           {
    7252            0 :             {
    7253            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7254            0 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7255            0 :               if (res) return res;
    7256              :             }
    7257              :           }
    7258         8528 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7259              :           {
    7260          616 :             {
    7261          616 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7262          616 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7263          616 :               if (res) return res;
    7264              :             }
    7265              :           }
    7266              :         break;
    7267              :       }
    7268         7840 :     case MAX_EXPR:
    7269         7840 :       {
    7270         7840 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7271         7840 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7272         7840 :         switch (TREE_CODE (_p1))
    7273              :           {
    7274            0 :           case MIN_EXPR:
    7275            0 :             {
    7276            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7277            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7278            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7279              :                 {
    7280            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7281              :                     {
    7282            0 :                       {
    7283            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7284            0 :                         if (!HONOR_NANS (captures[0])
    7285              : )
    7286              :                           {
    7287            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1583;
    7288            0 :                             {
    7289            0 :                               tree res_op0;
    7290            0 :                               res_op0 = captures[0];
    7291            0 :                               tree res_op1;
    7292            0 :                               res_op1 = captures[1];
    7293            0 :                               tree _r;
    7294            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7295            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    7296            0 :                               return _r;
    7297              :                             }
    7298            0 : next_after_fail1583:;
    7299              :                           }
    7300              :                       }
    7301              :                     }
    7302              :                 }
    7303            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7304              :                 {
    7305            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7306              :                     {
    7307            0 :                       {
    7308            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7309            0 :                         if (!HONOR_NANS (captures[0])
    7310              : )
    7311              :                           {
    7312            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1584;
    7313            0 :                             {
    7314            0 :                               tree res_op0;
    7315            0 :                               res_op0 = captures[0];
    7316            0 :                               tree res_op1;
    7317            0 :                               res_op1 = captures[1];
    7318            0 :                               tree _r;
    7319            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7320            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    7321            0 :                               return _r;
    7322              :                             }
    7323            0 : next_after_fail1584:;
    7324              :                           }
    7325              :                       }
    7326              :                     }
    7327              :                 }
    7328              :               break;
    7329              :             }
    7330         7840 :           default:;
    7331              :           }
    7332         7840 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7333              :           {
    7334            0 :             {
    7335            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7336            0 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7337            0 :               if (res) return res;
    7338              :             }
    7339              :           }
    7340         7840 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7341              :           {
    7342          425 :             {
    7343          425 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7344          425 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7345          425 :               if (res) return res;
    7346              :             }
    7347              :           }
    7348              :         break;
    7349              :       }
    7350     38496089 :     default:;
    7351              :     }
    7352     38496089 : if (tree_with_possible_nonzero_bits (_p0))
    7353              :   {
    7354     15742312 :     if (tree_with_known_nonzero_bits (_p1))
    7355              :       {
    7356     14255602 :         {
    7357     14255602 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7358     14255602 :           tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, NE_EXPR);
    7359     14255602 :           if (res) return res;
    7360              :         }
    7361              :       }
    7362              :   }
    7363     38438549 : if (tree_with_known_nonzero_bits (_p0))
    7364              :   {
    7365     11562834 :     if (tree_with_possible_nonzero_bits (_p1))
    7366              :       {
    7367     11514144 :         {
    7368     11514144 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    7369     11514144 :           tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, NE_EXPR);
    7370     11514144 :           if (res) return res;
    7371              :         }
    7372              :       }
    7373              :   }
    7374     38437178 :   switch (TREE_CODE (_p1))
    7375              :     {
    7376          144 :     case MIN_EXPR:
    7377          144 :       {
    7378          144 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7379          144 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7380          144 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7381              :           {
    7382            0 :             {
    7383            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7384            0 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7385            0 :               if (res) return res;
    7386              :             }
    7387              :           }
    7388          144 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7389              :           {
    7390            0 :             {
    7391            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7392            0 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7393            0 :               if (res) return res;
    7394              :             }
    7395              :           }
    7396              :         break;
    7397              :       }
    7398         1631 :     case MAX_EXPR:
    7399         1631 :       {
    7400         1631 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7401         1631 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7402         1631 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7403              :           {
    7404            0 :             {
    7405            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7406            0 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7407            0 :               if (res) return res;
    7408              :             }
    7409              :           }
    7410         1631 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7411              :           {
    7412            0 :             {
    7413            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7414            0 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7415            0 :               if (res) return res;
    7416              :             }
    7417              :           }
    7418              :         break;
    7419              :       }
    7420     38437178 :     default:;
    7421              :     }
    7422     38437178 :   switch (TREE_CODE (_p0))
    7423              :     {
    7424         8528 :     case MIN_EXPR:
    7425         8528 :       {
    7426         8528 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7427         8528 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7428         8528 :         switch (TREE_CODE (_q21))
    7429              :           {
    7430          674 :           case INTEGER_CST:
    7431          674 :             {
    7432          674 :               switch (TREE_CODE (_p1))
    7433              :                 {
    7434            0 :                 case INTEGER_CST:
    7435            0 :                   {
    7436            0 :                     {
    7437            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7438            0 :                       tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, NE_EXPR);
    7439            0 :                       if (res) return res;
    7440              :                     }
    7441            0 :                     break;
    7442              :                   }
    7443              :                 default:;
    7444              :                 }
    7445              :               break;
    7446              :             }
    7447              :           default:;
    7448              :           }
    7449              :         break;
    7450              :       }
    7451         7711 :     case MAX_EXPR:
    7452         7711 :       {
    7453         7711 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7454         7711 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7455         7711 :         switch (TREE_CODE (_q21))
    7456              :           {
    7457         6671 :           case INTEGER_CST:
    7458         6671 :             {
    7459         6671 :               switch (TREE_CODE (_p1))
    7460              :                 {
    7461          690 :                 case INTEGER_CST:
    7462          690 :                   {
    7463          690 :                     {
    7464          690 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7465          690 :                       tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, NE_EXPR);
    7466          690 :                       if (res) return res;
    7467              :                     }
    7468            0 :                     break;
    7469              :                   }
    7470              :                 default:;
    7471              :                 }
    7472              :               break;
    7473              :             }
    7474         7021 :           default:;
    7475              :           }
    7476         7021 :         if (tree_expr_nonnegative_p (_q20))
    7477              :           {
    7478          272 :             if (tree_expr_nonnegative_p (_q21))
    7479              :               {
    7480          260 :                 if (integer_zerop (_p1))
    7481              :                   {
    7482            0 :                     {
    7483            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7484            0 :                       tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, NE_EXPR);
    7485            0 :                       if (res) return res;
    7486              :                     }
    7487              :                   }
    7488              :               }
    7489              :           }
    7490              :         break;
    7491              :       }
    7492      1299923 :     case BIT_AND_EXPR:
    7493      1299923 :       {
    7494      1299923 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7495      1299923 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7496      1299923 :         switch (TREE_CODE (_q20))
    7497              :           {
    7498         3559 :           case LSHIFT_EXPR:
    7499         3559 :             {
    7500         3559 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7501         3559 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7502         3559 :               if (integer_pow2p (_q30))
    7503              :                 {
    7504         3538 :                   if (integer_pow2p (_q21))
    7505              :                     {
    7506           21 :                       if (integer_zerop (_p1))
    7507              :                         {
    7508           21 :                           {
    7509           21 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7510           21 :                             tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7511           21 :                             if (res) return res;
    7512              :                           }
    7513              :                         }
    7514              :                     }
    7515              :                 }
    7516         3538 :               switch (TREE_CODE (_q31))
    7517              :                 {
    7518           13 :                 case INTEGER_CST:
    7519           13 :                   {
    7520           13 :                     switch (TREE_CODE (_q21))
    7521              :                       {
    7522           13 :                       case INTEGER_CST:
    7523           13 :                         {
    7524           13 :                           switch (TREE_CODE (_p1))
    7525              :                             {
    7526           13 :                             case INTEGER_CST:
    7527           13 :                               {
    7528           13 :                                 {
    7529           13 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7530           13 :                                   tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, NE_EXPR);
    7531           13 :                                   if (res) return res;
    7532              :                                 }
    7533            0 :                                 break;
    7534              :                               }
    7535              :                             default:;
    7536              :                             }
    7537              :                           break;
    7538              :                         }
    7539              :                       default:;
    7540              :                       }
    7541              :                     break;
    7542              :                   }
    7543         3525 :                 default:;
    7544              :                 }
    7545         3525 :               if (integer_onep (_q30))
    7546              :                 {
    7547         3516 :                   if (integer_pow2p (_q21))
    7548              :                     {
    7549            0 :                       if (integer_zerop (_p1))
    7550              :                         {
    7551            0 :                           {
    7552            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
    7553            0 :                             tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7554            0 :                             if (res) return res;
    7555              :                           }
    7556              :                         }
    7557              :                     }
    7558              :                 }
    7559              :               break;
    7560              :             }
    7561         4765 :           case RSHIFT_EXPR:
    7562         4765 :             {
    7563         4765 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7564         4765 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7565         4765 :               if (integer_pow2p (_q30))
    7566              :                 {
    7567           41 :                   if (integer_pow2p (_q21))
    7568              :                     {
    7569            9 :                       if (integer_zerop (_p1))
    7570              :                         {
    7571            9 :                           {
    7572            9 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7573            9 :                             tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7574            9 :                             if (res) return res;
    7575              :                           }
    7576              :                         }
    7577              :                     }
    7578              :                 }
    7579         4756 :               switch (TREE_CODE (_q31))
    7580              :                 {
    7581          329 :                 case INTEGER_CST:
    7582          329 :                   {
    7583          329 :                     switch (TREE_CODE (_q21))
    7584              :                       {
    7585          305 :                       case INTEGER_CST:
    7586          305 :                         {
    7587          305 :                           switch (TREE_CODE (_p1))
    7588              :                             {
    7589          280 :                             case INTEGER_CST:
    7590          280 :                               {
    7591          280 :                                 {
    7592          280 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7593          280 :                                   tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, NE_EXPR);
    7594          280 :                                   if (res) return res;
    7595              :                                 }
    7596           14 :                                 break;
    7597              :                               }
    7598              :                             default:;
    7599              :                             }
    7600              :                           break;
    7601              :                         }
    7602              :                       default:;
    7603              :                       }
    7604              :                     break;
    7605              :                   }
    7606              :                 default:;
    7607              :                 }
    7608              :               break;
    7609              :             }
    7610      1299614 :           default:;
    7611              :           }
    7612      1299614 :       {
    7613      1299614 :         tree _q20_pops[1];
    7614      1299614 :         if (tree_nop_convert (_q20, _q20_pops))
    7615              :           {
    7616       140764 :             tree _q30 = _q20_pops[0];
    7617       140764 :             switch (TREE_CODE (_q30))
    7618              :               {
    7619        37198 :               case LSHIFT_EXPR:
    7620        37198 :                 {
    7621        37198 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7622        37198 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    7623        37198 :                   if (integer_onep (_q40))
    7624              :                     {
    7625        37198 :                       if (integer_pow2p (_q21))
    7626              :                         {
    7627            8 :                           if (integer_zerop (_p1))
    7628              :                             {
    7629            8 :                               {
    7630            8 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
    7631            8 :                                 tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7632            8 :                                 if (res) return res;
    7633              :                               }
    7634              :                             }
    7635              :                         }
    7636              :                     }
    7637              :                   break;
    7638              :                 }
    7639              :               default:;
    7640              :               }
    7641              :           }
    7642              :       }
    7643      1299614 :         break;
    7644              :       }
    7645         5098 :     case LSHIFT_EXPR:
    7646         5098 :       {
    7647         5098 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7648         5098 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7649         5098 :         switch (TREE_CODE (_q20))
    7650              :           {
    7651          536 :           case INTEGER_CST:
    7652          536 :             {
    7653          536 :               switch (TREE_CODE (_p1))
    7654              :                 {
    7655          159 :                 case INTEGER_CST:
    7656          159 :                   {
    7657          159 :                     {
    7658          159 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7659          159 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, NE_EXPR);
    7660          159 :                       if (res) return res;
    7661              :                     }
    7662           88 :                     break;
    7663              :                   }
    7664              :                 default:;
    7665              :                 }
    7666              :               break;
    7667              :             }
    7668              :           default:;
    7669              :           }
    7670              :         break;
    7671              :       }
    7672          393 :     case LROTATE_EXPR:
    7673          393 :       {
    7674          393 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7675          393 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7676          393 :         switch (TREE_CODE (_p1))
    7677              :           {
    7678            0 :           case LROTATE_EXPR:
    7679            0 :             {
    7680            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7681            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7682            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7683              :                 {
    7684            0 :                   {
    7685            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7686            0 :                     tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
    7687            0 :                     if (res) return res;
    7688              :                   }
    7689              :                 }
    7690              :               break;
    7691              :             }
    7692          393 :           default:;
    7693              :           }
    7694          393 :         switch (TREE_CODE (_q21))
    7695              :           {
    7696          112 :           case INTEGER_CST:
    7697          112 :             {
    7698          112 :               switch (TREE_CODE (_p1))
    7699              :                 {
    7700          112 :                 case INTEGER_CST:
    7701          112 :                   {
    7702          112 :                     {
    7703          112 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7704          112 :                       tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
    7705          112 :                       if (res) return res;
    7706              :                     }
    7707            0 :                     break;
    7708              :                   }
    7709              :                 default:;
    7710              :                 }
    7711              :               break;
    7712              :             }
    7713          281 :           default:;
    7714              :           }
    7715          281 :         switch (TREE_CODE (_p1))
    7716              :           {
    7717          193 :           case INTEGER_CST:
    7718          193 :             {
    7719          193 :               {
    7720          193 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7721          193 :                 tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
    7722          193 :                 if (res) return res;
    7723              :               }
    7724          193 :               break;
    7725              :             }
    7726              :           default:;
    7727              :           }
    7728              :         break;
    7729              :       }
    7730          439 :     case RROTATE_EXPR:
    7731          439 :       {
    7732          439 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7733          439 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7734          439 :         switch (TREE_CODE (_p1))
    7735              :           {
    7736            0 :           case RROTATE_EXPR:
    7737            0 :             {
    7738            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7739            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7740            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7741              :                 {
    7742            0 :                   {
    7743            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7744            0 :                     tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
    7745            0 :                     if (res) return res;
    7746              :                   }
    7747              :                 }
    7748              :               break;
    7749              :             }
    7750          439 :           default:;
    7751              :           }
    7752          439 :         switch (TREE_CODE (_q21))
    7753              :           {
    7754          233 :           case INTEGER_CST:
    7755          233 :             {
    7756          233 :               switch (TREE_CODE (_p1))
    7757              :                 {
    7758           12 :                 case INTEGER_CST:
    7759           12 :                   {
    7760           12 :                     {
    7761           12 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7762           12 :                       tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
    7763           12 :                       if (res) return res;
    7764              :                     }
    7765            0 :                     break;
    7766              :                   }
    7767              :                 default:;
    7768              :                 }
    7769              :               break;
    7770              :             }
    7771          427 :           default:;
    7772              :           }
    7773          427 :         switch (TREE_CODE (_p1))
    7774              :           {
    7775          190 :           case INTEGER_CST:
    7776          190 :             {
    7777          190 :               {
    7778          190 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7779          190 :                 tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
    7780          190 :                 if (res) return res;
    7781              :               }
    7782          190 :               break;
    7783              :             }
    7784              :           default:;
    7785              :           }
    7786              :         break;
    7787              :       }
    7788          352 :     case VEC_COND_EXPR:
    7789          352 :       {
    7790          352 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7791          352 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7792          352 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7793          352 :         switch (TREE_CODE (_p1))
    7794              :           {
    7795           16 :           case VEC_COND_EXPR:
    7796           16 :             {
    7797           16 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7798           16 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7799           16 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7800           16 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7801              :                 {
    7802            0 :                   {
    7803            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7804            0 :                     if (VECTOR_TYPE_P (type)
    7805            0 :  && (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
    7806            0 :  || types_match (type, TREE_TYPE (captures[2]))
    7807            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7808              :  || (optimize_vectors_before_lowering_p ()
    7809            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7810              : )
    7811              :                       {
    7812            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1585;
    7813            0 :                         {
    7814            0 :                           tree res_op0;
    7815            0 :                           res_op0 = captures[1];
    7816            0 :                           tree res_op1;
    7817            0 :                           {
    7818            0 :                             tree _o1[2], _r1;
    7819            0 :                             _o1[0] = captures[2];
    7820            0 :                             _o1[1] = captures[5];
    7821            0 :                             _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7822            0 :                             if (EXPR_P (_r1))
    7823            0 :                               goto next_after_fail1585;
    7824            0 :                             res_op1 = _r1;
    7825              :                           }
    7826            0 :                           tree res_op2;
    7827            0 :                           {
    7828            0 :                             tree _o1[2], _r1;
    7829            0 :                             _o1[0] = captures[3];
    7830            0 :                             _o1[1] = captures[6];
    7831            0 :                             _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7832            0 :                             if (EXPR_P (_r1))
    7833            0 :                               goto next_after_fail1585;
    7834            0 :                             res_op2 = _r1;
    7835              :                           }
    7836            0 :                           tree _r;
    7837            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7838            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
    7839            0 :                           return _r;
    7840              :                         }
    7841            0 : next_after_fail1585:;
    7842              :                       }
    7843              :                   }
    7844              :                 }
    7845              :               break;
    7846              :             }
    7847          352 :           default:;
    7848              :           }
    7849          352 :         {
    7850          352 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7851          352 :           if (VECTOR_TYPE_P (type)
    7852          352 :  && (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
    7853          350 :  || types_match (type, TREE_TYPE (captures[2]))
    7854          350 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7855              :  || (optimize_vectors_before_lowering_p ()
    7856           27 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7857              : )
    7858              :             {
    7859          350 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1586;
    7860          350 :               {
    7861          350 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1586;
    7862           88 :                 tree res_op0;
    7863           88 :                 res_op0 = captures[1];
    7864           88 :                 tree res_op1;
    7865           88 :                 {
    7866           88 :                   tree _o1[2], _r1;
    7867           88 :                   _o1[0] = captures[2];
    7868           88 :                   _o1[1] = unshare_expr (captures[4]);
    7869           88 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7870           88 :                   if (EXPR_P (_r1))
    7871           16 :                     goto next_after_fail1586;
    7872           72 :                   res_op1 = _r1;
    7873              :                 }
    7874           72 :                 tree res_op2;
    7875           72 :                 {
    7876           72 :                   tree _o1[2], _r1;
    7877           72 :                   _o1[0] = captures[3];
    7878           72 :                   _o1[1] = captures[4];
    7879           72 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7880           72 :                   if (EXPR_P (_r1))
    7881            0 :                     goto next_after_fail1586;
    7882           72 :                   res_op2 = _r1;
    7883              :                 }
    7884           72 :                 tree _r;
    7885           72 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7886           72 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
    7887           72 :                 return _r;
    7888              :               }
    7889          280 : next_after_fail1586:;
    7890              :             }
    7891              :         }
    7892          280 :         break;
    7893              :       }
    7894      2461323 :     case CALL_EXPR:
    7895      2461323 :       switch (get_call_combined_fn (_p0))
    7896              :         {
    7897            0 :         case CFN_BUILT_IN_BITREVERSE128:
    7898            0 :           if (call_expr_nargs (_p0) == 1)
    7899              :     {
    7900            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7901            0 :               switch (TREE_CODE (_p1))
    7902              :                 {
    7903            0 :                 case INTEGER_CST:
    7904            0 :                   {
    7905            0 :                     {
    7906            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7907            0 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE128);
    7908            0 :                       if (res) return res;
    7909              :                     }
    7910            0 :                     break;
    7911              :                   }
    7912            0 :                 case CALL_EXPR:
    7913            0 :                   switch (get_call_combined_fn (_p1))
    7914              :                     {
    7915            0 :                     case CFN_BUILT_IN_BITREVERSE128:
    7916            0 :                       if (call_expr_nargs (_p1) == 1)
    7917              :     {
    7918            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7919            0 :                           {
    7920            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7921            0 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE128);
    7922            0 :                             if (res) return res;
    7923              :                           }
    7924              :                         }
    7925              :                       break;
    7926              :                     default:;
    7927              :                     }
    7928              :                   break;
    7929              :                 default:;
    7930              :                 }
    7931              :             }
    7932              :           break;
    7933            0 :         case CFN_BUILT_IN_BITREVERSE16:
    7934            0 :           if (call_expr_nargs (_p0) == 1)
    7935              :     {
    7936            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7937            0 :               switch (TREE_CODE (_p1))
    7938              :                 {
    7939            0 :                 case INTEGER_CST:
    7940            0 :                   {
    7941            0 :                     {
    7942            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7943            0 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE16);
    7944            0 :                       if (res) return res;
    7945              :                     }
    7946            0 :                     break;
    7947              :                   }
    7948            0 :                 case CALL_EXPR:
    7949            0 :                   switch (get_call_combined_fn (_p1))
    7950              :                     {
    7951            0 :                     case CFN_BUILT_IN_BITREVERSE16:
    7952            0 :                       if (call_expr_nargs (_p1) == 1)
    7953              :     {
    7954            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7955            0 :                           {
    7956            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7957            0 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE16);
    7958            0 :                             if (res) return res;
    7959              :                           }
    7960              :                         }
    7961              :                       break;
    7962              :                     default:;
    7963              :                     }
    7964              :                   break;
    7965              :                 default:;
    7966              :                 }
    7967              :             }
    7968              :           break;
    7969            0 :         case CFN_BUILT_IN_BITREVERSE32:
    7970            0 :           if (call_expr_nargs (_p0) == 1)
    7971              :     {
    7972            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7973            0 :               switch (TREE_CODE (_p1))
    7974              :                 {
    7975            0 :                 case INTEGER_CST:
    7976            0 :                   {
    7977            0 :                     {
    7978            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7979            0 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE32);
    7980            0 :                       if (res) return res;
    7981              :                     }
    7982            0 :                     break;
    7983              :                   }
    7984            0 :                 case CALL_EXPR:
    7985            0 :                   switch (get_call_combined_fn (_p1))
    7986              :                     {
    7987            0 :                     case CFN_BUILT_IN_BITREVERSE32:
    7988            0 :                       if (call_expr_nargs (_p1) == 1)
    7989              :     {
    7990            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7991            0 :                           {
    7992            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7993            0 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE32);
    7994            0 :                             if (res) return res;
    7995              :                           }
    7996              :                         }
    7997              :                       break;
    7998              :                     default:;
    7999              :                     }
    8000              :                   break;
    8001              :                 default:;
    8002              :                 }
    8003              :             }
    8004              :           break;
    8005            0 :         case CFN_BUILT_IN_BITREVERSE64:
    8006            0 :           if (call_expr_nargs (_p0) == 1)
    8007              :     {
    8008            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8009            0 :               switch (TREE_CODE (_p1))
    8010              :                 {
    8011            0 :                 case INTEGER_CST:
    8012            0 :                   {
    8013            0 :                     {
    8014            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8015            0 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE64);
    8016            0 :                       if (res) return res;
    8017              :                     }
    8018            0 :                     break;
    8019              :                   }
    8020            0 :                 case CALL_EXPR:
    8021            0 :                   switch (get_call_combined_fn (_p1))
    8022              :                     {
    8023            0 :                     case CFN_BUILT_IN_BITREVERSE64:
    8024            0 :                       if (call_expr_nargs (_p1) == 1)
    8025              :     {
    8026            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8027            0 :                           {
    8028            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8029            0 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE64);
    8030            0 :                             if (res) return res;
    8031              :                           }
    8032              :                         }
    8033              :                       break;
    8034              :                     default:;
    8035              :                     }
    8036              :                   break;
    8037              :                 default:;
    8038              :                 }
    8039              :             }
    8040              :           break;
    8041            0 :         case CFN_BITREVERSE:
    8042            0 :           if (call_expr_nargs (_p0) == 1)
    8043              :     {
    8044            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8045            0 :               switch (TREE_CODE (_p1))
    8046              :                 {
    8047            0 :                 case INTEGER_CST:
    8048            0 :                   {
    8049            0 :                     {
    8050            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8051            0 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BITREVERSE);
    8052            0 :                       if (res) return res;
    8053              :                     }
    8054            0 :                     break;
    8055              :                   }
    8056            0 :                 case CALL_EXPR:
    8057            0 :                   switch (get_call_combined_fn (_p1))
    8058              :                     {
    8059            0 :                     case CFN_BITREVERSE:
    8060            0 :                       if (call_expr_nargs (_p1) == 1)
    8061              :     {
    8062            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8063            0 :                           {
    8064            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8065            0 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BITREVERSE);
    8066            0 :                             if (res) return res;
    8067              :                           }
    8068              :                         }
    8069              :                       break;
    8070              :                     default:;
    8071              :                     }
    8072              :                   break;
    8073              :                 default:;
    8074              :                 }
    8075              :             }
    8076              :           break;
    8077            0 :         case CFN_BSWAP:
    8078            0 :           if (call_expr_nargs (_p0) == 1)
    8079              :     {
    8080            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8081            0 :               switch (TREE_CODE (_p1))
    8082              :                 {
    8083            0 :                 case INTEGER_CST:
    8084            0 :                   {
    8085            0 :                     {
    8086            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8087            0 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BSWAP);
    8088            0 :                       if (res) return res;
    8089              :                     }
    8090            0 :                     break;
    8091              :                   }
    8092            0 :                 case CALL_EXPR:
    8093            0 :                   switch (get_call_combined_fn (_p1))
    8094              :                     {
    8095            0 :                     case CFN_BSWAP:
    8096            0 :                       if (call_expr_nargs (_p1) == 1)
    8097              :     {
    8098            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8099            0 :                           {
    8100            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8101            0 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BSWAP);
    8102            0 :                             if (res) return res;
    8103              :                           }
    8104              :                         }
    8105              :                       break;
    8106              :                     default:;
    8107              :                     }
    8108              :                   break;
    8109              :                 default:;
    8110              :                 }
    8111              :             }
    8112              :           break;
    8113            2 :         case CFN_BUILT_IN_BSWAP128:
    8114            2 :           if (call_expr_nargs (_p0) == 1)
    8115              :     {
    8116            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8117            2 :               switch (TREE_CODE (_p1))
    8118              :                 {
    8119            0 :                 case INTEGER_CST:
    8120            0 :                   {
    8121            0 :                     {
    8122            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8123            0 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128);
    8124            0 :                       if (res) return res;
    8125              :                     }
    8126            0 :                     break;
    8127              :                   }
    8128            1 :                 case CALL_EXPR:
    8129            1 :                   switch (get_call_combined_fn (_p1))
    8130              :                     {
    8131            0 :                     case CFN_BUILT_IN_BSWAP128:
    8132            0 :                       if (call_expr_nargs (_p1) == 1)
    8133              :     {
    8134            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8135            0 :                           {
    8136            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8137            0 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128);
    8138            0 :                             if (res) return res;
    8139              :                           }
    8140              :                         }
    8141              :                       break;
    8142              :                     default:;
    8143              :                     }
    8144              :                   break;
    8145              :                 default:;
    8146              :                 }
    8147              :             }
    8148              :           break;
    8149            0 :         case CFN_BUILT_IN_BITREVERSE8:
    8150            0 :           if (call_expr_nargs (_p0) == 1)
    8151              :     {
    8152            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8153            0 :               switch (TREE_CODE (_p1))
    8154              :                 {
    8155            0 :                 case INTEGER_CST:
    8156            0 :                   {
    8157            0 :                     {
    8158            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8159            0 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE8);
    8160            0 :                       if (res) return res;
    8161              :                     }
    8162            0 :                     break;
    8163              :                   }
    8164            0 :                 case CALL_EXPR:
    8165            0 :                   switch (get_call_combined_fn (_p1))
    8166              :                     {
    8167            0 :                     case CFN_BUILT_IN_BITREVERSE8:
    8168            0 :                       if (call_expr_nargs (_p1) == 1)
    8169              :     {
    8170            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8171            0 :                           {
    8172            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8173            0 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BITREVERSE8);
    8174            0 :                             if (res) return res;
    8175              :                           }
    8176              :                         }
    8177              :                       break;
    8178              :                     default:;
    8179              :                     }
    8180              :                   break;
    8181              :                 default:;
    8182              :                 }
    8183              :             }
    8184              :           break;
    8185           11 :         case CFN_BUILT_IN_BSWAP16:
    8186           11 :           if (call_expr_nargs (_p0) == 1)
    8187              :     {
    8188           11 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8189           11 :               switch (TREE_CODE (_p1))
    8190              :                 {
    8191            9 :                 case INTEGER_CST:
    8192            9 :                   {
    8193            9 :                     {
    8194            9 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8195            9 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16);
    8196            9 :                       if (res) return res;
    8197              :                     }
    8198            9 :                     break;
    8199              :                   }
    8200            1 :                 case CALL_EXPR:
    8201            1 :                   switch (get_call_combined_fn (_p1))
    8202              :                     {
    8203            1 :                     case CFN_BUILT_IN_BSWAP16:
    8204            1 :                       if (call_expr_nargs (_p1) == 1)
    8205              :     {
    8206            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8207            1 :                           {
    8208            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8209            1 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16);
    8210            1 :                             if (res) return res;
    8211              :                           }
    8212              :                         }
    8213              :                       break;
    8214              :                     default:;
    8215              :                     }
    8216              :                   break;
    8217              :                 default:;
    8218              :                 }
    8219              :             }
    8220              :           break;
    8221            7 :         case CFN_BUILT_IN_BSWAP32:
    8222            7 :           if (call_expr_nargs (_p0) == 1)
    8223              :     {
    8224            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8225            7 :               switch (TREE_CODE (_p1))
    8226              :                 {
    8227            3 :                 case INTEGER_CST:
    8228            3 :                   {
    8229            3 :                     {
    8230            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8231            3 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32);
    8232            3 :                       if (res) return res;
    8233              :                     }
    8234            3 :                     break;
    8235              :                   }
    8236            3 :                 case CALL_EXPR:
    8237            3 :                   switch (get_call_combined_fn (_p1))
    8238              :                     {
    8239            3 :                     case CFN_BUILT_IN_BSWAP32:
    8240            3 :                       if (call_expr_nargs (_p1) == 1)
    8241              :     {
    8242            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8243            3 :                           {
    8244            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8245            3 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32);
    8246            3 :                             if (res) return res;
    8247              :                           }
    8248              :                         }
    8249              :                       break;
    8250              :                     default:;
    8251              :                     }
    8252              :                   break;
    8253              :                 default:;
    8254              :                 }
    8255              :             }
    8256              :           break;
    8257            7 :         case CFN_BUILT_IN_BSWAP64:
    8258            7 :           if (call_expr_nargs (_p0) == 1)
    8259              :     {
    8260            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8261            7 :               switch (TREE_CODE (_p1))
    8262              :                 {
    8263            3 :                 case INTEGER_CST:
    8264            3 :                   {
    8265            3 :                     {
    8266            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8267            3 :                       tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64);
    8268            3 :                       if (res) return res;
    8269              :                     }
    8270            3 :                     break;
    8271              :                   }
    8272            3 :                 case CALL_EXPR:
    8273            3 :                   switch (get_call_combined_fn (_p1))
    8274              :                     {
    8275            3 :                     case CFN_BUILT_IN_BSWAP64:
    8276            3 :                       if (call_expr_nargs (_p1) == 1)
    8277              :     {
    8278            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8279            3 :                           {
    8280            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8281            3 :                             tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64);
    8282            3 :                             if (res) return res;
    8283              :                           }
    8284              :                         }
    8285              :                       break;
    8286              :                     default:;
    8287              :                     }
    8288              :                   break;
    8289              :                 default:;
    8290              :                 }
    8291              :             }
    8292              :           break;
    8293              :         default:;
    8294              :         }
    8295              :       break;
    8296     38435905 :     default:;
    8297              :     }
    8298     38435905 :   switch (TREE_CODE (_p1))
    8299              :     {
    8300           40 :     case VEC_COND_EXPR:
    8301           40 :       {
    8302           40 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8303           40 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8304           40 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8305           40 :         {
    8306           40 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8307           40 :           if (VECTOR_TYPE_P (type)
    8308           40 :  && (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
    8309           40 :  || types_match (type, TREE_TYPE (captures[3]))
    8310           40 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8311              :  || (optimize_vectors_before_lowering_p ()
    8312            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8313              : )
    8314              :             {
    8315           40 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1587;
    8316           40 :               {
    8317           40 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1587;
    8318            0 :                 tree res_op0;
    8319            0 :                 res_op0 = captures[2];
    8320            0 :                 tree res_op1;
    8321            0 :                 {
    8322            0 :                   tree _o1[2], _r1;
    8323            0 :                   _o1[0] = unshare_expr (captures[0]);
    8324            0 :                   _o1[1] = captures[3];
    8325            0 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    8326            0 :                   if (EXPR_P (_r1))
    8327            0 :                     goto next_after_fail1587;
    8328            0 :                   res_op1 = _r1;
    8329              :                 }
    8330            0 :                 tree res_op2;
    8331            0 :                 {
    8332            0 :                   tree _o1[2], _r1;
    8333            0 :                   _o1[0] = captures[0];
    8334            0 :                   _o1[1] = captures[4];
    8335            0 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    8336            0 :                   if (EXPR_P (_r1))
    8337            0 :                     goto next_after_fail1587;
    8338            0 :                   res_op2 = _r1;
    8339              :                 }
    8340            0 :                 tree _r;
    8341            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8342            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
    8343            0 :                 return _r;
    8344              :               }
    8345           40 : next_after_fail1587:;
    8346              :             }
    8347              :         }
    8348           40 :         break;
    8349              :       }
    8350     38435905 :     default:;
    8351              :     }
    8352     38435905 :   switch (TREE_CODE (_p0))
    8353              :     {
    8354        97805 :     case COND_EXPR:
    8355        97805 :       {
    8356        97805 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8357        97805 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8358        97805 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8359        97805 :         switch (TREE_CODE (_p1))
    8360              :           {
    8361          276 :           case COND_EXPR:
    8362          276 :             {
    8363          276 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8364          276 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8365          276 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8366          276 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8367              :                 {
    8368           72 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8369              :                     {
    8370           72 :                       {
    8371           72 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8372           72 :                         const enum tree_code eqne = NE_EXPR;
    8373           72 :                         if (!HONOR_NANS (captures[1])
    8374           56 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8375           49 :  && types_match (type, TREE_TYPE (captures[0]))
    8376           49 :  && expr_no_side_effects_p (captures[1])
    8377          114 :  && expr_no_side_effects_p (captures[2])
    8378              : )
    8379              :                           {
    8380           42 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1588;
    8381           42 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1588;
    8382           42 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1588;
    8383           42 :                             {
    8384           42 :                               tree res_op0;
    8385           42 :                               {
    8386           42 :                                 tree _o1[2], _r1;
    8387           42 :                                 {
    8388           42 :                                   tree _o2[2], _r2;
    8389           42 :                                   _o2[0] = captures[0];
    8390           42 :                                   _o2[1] = captures[3];
    8391           42 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8392           42 :                                   _o1[0] = _r2;
    8393              :                                 }
    8394           42 :                                 {
    8395           42 :                                   tree _o2[2], _r2;
    8396           42 :                                   _o2[0] = captures[1];
    8397           42 :                                   _o2[1] = captures[2];
    8398           42 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8399           42 :                                   _o1[1] = _r2;
    8400              :                                 }
    8401           42 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8402           42 :                                 res_op0 = _r1;
    8403              :                               }
    8404           42 :                               tree res_op1;
    8405           42 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8406           42 :                               tree res_op2;
    8407           42 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8408           42 :                               tree _r;
    8409           42 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8410           42 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
    8411           42 :                               return _r;
    8412              :                             }
    8413           30 : next_after_fail1588:;
    8414              :                           }
    8415              :                       }
    8416              :                     }
    8417              :                 }
    8418          234 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8419              :                 {
    8420            0 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8421              :                     {
    8422            0 :                       {
    8423            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8424            0 :                         const enum tree_code eqne = NE_EXPR;
    8425            0 :                         if (!HONOR_NANS (captures[1])
    8426            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8427            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8428            0 :  && expr_no_side_effects_p (captures[1])
    8429            0 :  && expr_no_side_effects_p (captures[2])
    8430              : )
    8431              :                           {
    8432            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1589;
    8433            0 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1589;
    8434            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1589;
    8435            0 :                             {
    8436            0 :                               tree res_op0;
    8437            0 :                               {
    8438            0 :                                 tree _o1[2], _r1;
    8439            0 :                                 {
    8440            0 :                                   tree _o2[2], _r2;
    8441            0 :                                   _o2[0] = captures[0];
    8442            0 :                                   _o2[1] = captures[3];
    8443            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8444            0 :                                   _o1[0] = _r2;
    8445              :                                 }
    8446            0 :                                 {
    8447            0 :                                   tree _o2[2], _r2;
    8448            0 :                                   _o2[0] = captures[1];
    8449            0 :                                   _o2[1] = captures[2];
    8450            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8451            0 :                                   _o1[1] = _r2;
    8452              :                                 }
    8453            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8454            0 :                                 res_op0 = _r1;
    8455              :                               }
    8456            0 :                               tree res_op1;
    8457            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8458            0 :                               tree res_op2;
    8459            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8460            0 :                               tree _r;
    8461            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8462            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 994, __FILE__, __LINE__, true);
    8463            0 :                               return _r;
    8464              :                             }
    8465            0 : next_after_fail1589:;
    8466              :                           }
    8467              :                       }
    8468              :                     }
    8469              :                 }
    8470              :               break;
    8471              :             }
    8472              :           default:;
    8473              :           }
    8474              :         break;
    8475              :       }
    8476          280 :     case VEC_COND_EXPR:
    8477          280 :       {
    8478          280 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8479          280 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8480          280 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8481          280 :         switch (TREE_CODE (_p1))
    8482              :           {
    8483           16 :           case VEC_COND_EXPR:
    8484           16 :             {
    8485           16 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8486           16 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8487           16 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8488           16 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8489              :                 {
    8490            0 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8491              :                     {
    8492            0 :                       {
    8493            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8494            0 :                         const enum tree_code eqne = NE_EXPR;
    8495            0 :                         if (!HONOR_NANS (captures[1])
    8496            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8497            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8498            0 :  && expr_no_side_effects_p (captures[1])
    8499            0 :  && expr_no_side_effects_p (captures[2])
    8500              : )
    8501              :                           {
    8502            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1590;
    8503            0 :                             {
    8504            0 :                               tree res_op0;
    8505            0 :                               {
    8506            0 :                                 tree _o1[2], _r1;
    8507            0 :                                 {
    8508            0 :                                   tree _o2[2], _r2;
    8509            0 :                                   _o2[0] = captures[0];
    8510            0 :                                   _o2[1] = captures[3];
    8511            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8512            0 :                                   _o1[0] = _r2;
    8513              :                                 }
    8514            0 :                                 {
    8515            0 :                                   tree _o2[2], _r2;
    8516            0 :                                   _o2[0] = captures[1];
    8517            0 :                                   _o2[1] = captures[2];
    8518            0 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8519            0 :                                   _o1[1] = _r2;
    8520              :                                 }
    8521            0 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8522            0 :                                 res_op0 = _r1;
    8523              :                               }
    8524            0 :                               tree res_op1;
    8525            0 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8526            0 :                               tree res_op2;
    8527            0 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8528            0 :                               tree _r;
    8529            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8530            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
    8531            0 :                               return _r;
    8532              :                             }
    8533            0 : next_after_fail1590:;
    8534              :                           }
    8535              :                       }
    8536              :                     }
    8537              :                 }
    8538           16 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8539              :                 {
    8540           16 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8541              :                     {
    8542           16 :                       {
    8543           16 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8544           16 :                         const enum tree_code eqne = NE_EXPR;
    8545           16 :                         if (!HONOR_NANS (captures[1])
    8546            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8547            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8548            0 :  && expr_no_side_effects_p (captures[1])
    8549           16 :  && expr_no_side_effects_p (captures[2])
    8550              : )
    8551              :                           {
    8552            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1591;
    8553            0 :                             {
    8554            0 :                               tree res_op0;
    8555            0 :                               {
    8556            0 :                                 tree _o1[2], _r1;
    8557            0 :                                 {
    8558            0 :                                   tree _o2[2], _r2;
    8559            0 :                                   _o2[0] = captures[0];
    8560            0 :                                   _o2[1] = captures[3];
    8561            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8562            0 :                                   _o1[0] = _r2;
    8563              :                                 }
    8564            0 :                                 {
    8565            0 :                                   tree _o2[2], _r2;
    8566            0 :                                   _o2[0] = captures[1];
    8567            0 :                                   _o2[1] = captures[2];
    8568            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8569            0 :                                   _o1[1] = _r2;
    8570              :                                 }
    8571            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8572            0 :                                 res_op0 = _r1;
    8573              :                               }
    8574            0 :                               tree res_op1;
    8575            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8576            0 :                               tree res_op2;
    8577            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8578            0 :                               tree _r;
    8579            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8580            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 994, __FILE__, __LINE__, true);
    8581            0 :                               return _r;
    8582              :                             }
    8583            0 : next_after_fail1591:;
    8584              :                           }
    8585              :                       }
    8586              :                     }
    8587              :                 }
    8588              :               break;
    8589              :             }
    8590              :           default:;
    8591              :           }
    8592              :         break;
    8593              :       }
    8594        18294 :     case LT_EXPR:
    8595        18294 :       {
    8596        18294 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8597        18294 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8598        18294 :         if (integer_zerop (_p1))
    8599              :           {
    8600        16758 :             {
    8601        16758 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8602        16758 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8603        16758 :               if (res) return res;
    8604              :             }
    8605              :           }
    8606        15340 :         if (integer_truep (_p1))
    8607              :           {
    8608          563 :             {
    8609          563 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8610          563 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8611          563 :               if (res) return res;
    8612              :             }
    8613              :           }
    8614              :         break;
    8615              :       }
    8616        12028 :     case LE_EXPR:
    8617        12028 :       {
    8618        12028 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8619        12028 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8620        12028 :         if (integer_zerop (_p1))
    8621              :           {
    8622         9450 :             {
    8623         9450 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8624         9450 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8625         9450 :               if (res) return res;
    8626              :             }
    8627              :           }
    8628        11238 :         if (integer_truep (_p1))
    8629              :           {
    8630          473 :             {
    8631          473 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8632          473 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8633          473 :               if (res) return res;
    8634              :             }
    8635              :           }
    8636              :         break;
    8637              :       }
    8638        64154 :     case EQ_EXPR:
    8639        64154 :       {
    8640        64154 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8641        64154 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8642        64154 :         if (integer_zerop (_p1))
    8643              :           {
    8644        36433 :             {
    8645        36433 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8646        36433 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8647        36433 :               if (res) return res;
    8648              :             }
    8649              :           }
    8650        63033 :         if (integer_truep (_p1))
    8651              :           {
    8652        21941 :             {
    8653        21941 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8654        21941 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8655        21941 :               if (res) return res;
    8656              :             }
    8657              :           }
    8658              :         break;
    8659              :       }
    8660        69558 :     case NE_EXPR:
    8661        69558 :       {
    8662        69558 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8663        69558 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8664        69558 :         if (integer_zerop (_p1))
    8665              :           {
    8666        57542 :             {
    8667        57542 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8668        57542 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8669        57542 :               if (res) return res;
    8670              :             }
    8671              :           }
    8672        34807 :         if (integer_truep (_p1))
    8673              :           {
    8674          141 :             {
    8675          141 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8676          141 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8677          141 :               if (res) return res;
    8678              :             }
    8679              :           }
    8680              :         break;
    8681              :       }
    8682         6161 :     case GE_EXPR:
    8683         6161 :       {
    8684         6161 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8685         6161 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8686         6161 :         if (integer_zerop (_p1))
    8687              :           {
    8688         4196 :             {
    8689         4196 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8690         4196 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8691         4196 :               if (res) return res;
    8692              :             }
    8693              :           }
    8694         5503 :         if (integer_truep (_p1))
    8695              :           {
    8696          489 :             {
    8697          489 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8698          489 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8699          489 :               if (res) return res;
    8700              :             }
    8701              :           }
    8702              :         break;
    8703              :       }
    8704        36023 :     case GT_EXPR:
    8705        36023 :       {
    8706        36023 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8707        36023 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8708        36023 :         if (integer_zerop (_p1))
    8709              :           {
    8710        33948 :             {
    8711        33948 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8712        33948 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8713        33948 :               if (res) return res;
    8714              :             }
    8715              :           }
    8716        29979 :         if (integer_truep (_p1))
    8717              :           {
    8718          324 :             {
    8719          324 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8720          324 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8721          324 :               if (res) return res;
    8722              :             }
    8723              :           }
    8724              :         break;
    8725              :       }
    8726       137805 :     case UNORDERED_EXPR:
    8727       137805 :       {
    8728       137805 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8729       137805 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8730       137805 :         if (integer_zerop (_p1))
    8731              :           {
    8732       135657 :             {
    8733       135657 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8734       135657 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8735       135657 :               if (res) return res;
    8736              :             }
    8737              :           }
    8738       137415 :         if (integer_truep (_p1))
    8739              :           {
    8740           42 :             {
    8741           42 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8742           42 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8743           42 :               if (res) return res;
    8744              :             }
    8745              :           }
    8746              :         break;
    8747              :       }
    8748          113 :     case ORDERED_EXPR:
    8749          113 :       {
    8750          113 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8751          113 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8752          113 :         if (integer_zerop (_p1))
    8753              :           {
    8754           42 :             {
    8755           42 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8756           42 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8757           42 :               if (res) return res;
    8758              :             }
    8759              :           }
    8760           71 :         if (integer_truep (_p1))
    8761              :           {
    8762            0 :             {
    8763            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8764            0 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8765            0 :               if (res) return res;
    8766              :             }
    8767              :           }
    8768              :         break;
    8769              :       }
    8770          213 :     case UNLT_EXPR:
    8771          213 :       {
    8772          213 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8773          213 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8774          213 :         if (integer_zerop (_p1))
    8775              :           {
    8776           28 :             {
    8777           28 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8778           28 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8779           28 :               if (res) return res;
    8780              :             }
    8781              :           }
    8782          185 :         if (integer_truep (_p1))
    8783              :           {
    8784          161 :             {
    8785          161 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8786          161 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8787          161 :               if (res) return res;
    8788              :             }
    8789              :           }
    8790              :         break;
    8791              :       }
    8792         1575 :     case UNLE_EXPR:
    8793         1575 :       {
    8794         1575 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8795         1575 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8796         1575 :         if (integer_zerop (_p1))
    8797              :           {
    8798          104 :             {
    8799          104 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8800          104 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8801          104 :               if (res) return res;
    8802              :             }
    8803              :           }
    8804         1471 :         if (integer_truep (_p1))
    8805              :           {
    8806         1447 :             {
    8807         1447 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8808         1447 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8809         1447 :               if (res) return res;
    8810              :             }
    8811              :           }
    8812              :         break;
    8813              :       }
    8814         2652 :     case UNGT_EXPR:
    8815         2652 :       {
    8816         2652 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8817         2652 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8818         2652 :         if (integer_zerop (_p1))
    8819              :           {
    8820           96 :             {
    8821           96 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8822           96 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8823           96 :               if (res) return res;
    8824              :             }
    8825              :           }
    8826         2556 :         if (integer_truep (_p1))
    8827              :           {
    8828         2421 :             {
    8829         2421 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8830         2421 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8831         2421 :               if (res) return res;
    8832              :             }
    8833              :           }
    8834              :         break;
    8835              :       }
    8836          391 :     case UNGE_EXPR:
    8837          391 :       {
    8838          391 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8839          391 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8840          391 :         if (integer_zerop (_p1))
    8841              :           {
    8842           16 :             {
    8843           16 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8844           16 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8845           16 :               if (res) return res;
    8846              :             }
    8847              :           }
    8848          375 :         if (integer_truep (_p1))
    8849              :           {
    8850          211 :             {
    8851          211 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8852          211 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8853          211 :               if (res) return res;
    8854              :             }
    8855              :           }
    8856              :         break;
    8857              :       }
    8858          161 :     case UNEQ_EXPR:
    8859          161 :       {
    8860          161 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8861          161 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8862          161 :         if (integer_zerop (_p1))
    8863              :           {
    8864            0 :             {
    8865            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8866            0 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8867            0 :               if (res) return res;
    8868              :             }
    8869              :           }
    8870          161 :         if (integer_truep (_p1))
    8871              :           {
    8872          124 :             {
    8873          124 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8874          124 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8875          124 :               if (res) return res;
    8876              :             }
    8877              :           }
    8878              :         break;
    8879              :       }
    8880           24 :     case LTGT_EXPR:
    8881           24 :       {
    8882           24 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8883           24 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8884           24 :         if (integer_zerop (_p1))
    8885              :           {
    8886            6 :             {
    8887            6 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8888            6 :               tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8889            6 :               if (res) return res;
    8890              :             }
    8891              :           }
    8892           24 :         if (integer_truep (_p1))
    8893              :           {
    8894            0 :             {
    8895            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8896            0 :               tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8897            0 :               if (res) return res;
    8898              :             }
    8899              :           }
    8900              :         break;
    8901              :       }
    8902       104634 :     case MINUS_EXPR:
    8903       104634 :       {
    8904       104634 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8905       104634 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8906       104634 :         if (integer_zerop (_p1))
    8907              :           {
    8908        36238 :             {
    8909        36238 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8910        36238 :               tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, NE_EXPR);
    8911        36238 :               if (res) return res;
    8912              :             }
    8913              :           }
    8914              :         break;
    8915              :       }
    8916        26857 :     case POINTER_DIFF_EXPR:
    8917        26857 :       {
    8918        26857 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8919        26857 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8920        26857 :         if (integer_zerop (_p1))
    8921              :           {
    8922        14266 :             {
    8923        14266 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8924        14266 :               tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, NE_EXPR);
    8925        14266 :               if (res) return res;
    8926              :             }
    8927              :           }
    8928              :         break;
    8929              :       }
    8930        98198 :     case MULT_EXPR:
    8931        98198 :       {
    8932        98198 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8933        98198 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8934        98198 :         switch (TREE_CODE (_q21))
    8935              :           {
    8936        79384 :           case INTEGER_CST:
    8937        79384 :             {
    8938        79384 :               switch (TREE_CODE (_p1))
    8939              :                 {
    8940        51574 :                 case INTEGER_CST:
    8941        51574 :                   {
    8942        51574 :                     {
    8943        51574 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8944        51574 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, NE_EXPR);
    8945        51574 :                       if (res) return res;
    8946              :                     }
    8947        34586 :                     break;
    8948              :                   }
    8949        62396 :                 default:;
    8950              :                 }
    8951        62396 :             if (integer_zerop (_p1))
    8952              :               {
    8953        10912 :                 {
    8954        10912 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8955        10912 :                   tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    8956        10912 :                   if (res) return res;
    8957              :                 }
    8958              :               }
    8959              :               break;
    8960              :             }
    8961              :           default:;
    8962              :           }
    8963              :         break;
    8964              :       }
    8965     38299341 :     default:;
    8966              :     }
    8967     38299341 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8968              :     {
    8969       277371 :       {
    8970       277371 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8971       277371 :         tree res = generic_simplify_308 (loc, type, _p0, _p1, captures, NE_EXPR);
    8972       277371 :         if (res) return res;
    8973              :       }
    8974              :     }
    8975     38028533 :   switch (TREE_CODE (_p0))
    8976              :     {
    8977      8393254 :     CASE_CONVERT:
    8978      8393254 :       {
    8979      8393254 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8980      8393254 :         switch (TREE_CODE (_p1))
    8981              :           {
    8982      4599235 :           CASE_CONVERT:
    8983      4599235 :             {
    8984      4599235 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8985      4599235 :               {
    8986      4599235 :                 tree _q40_pops[1];
    8987      4599235 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    8988              :                   {
    8989            0 :                     tree _q50 = _q40_pops[0];
    8990            0 :                     {
    8991            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    8992            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, NE_EXPR);
    8993            0 :                       if (res) return res;
    8994              :                     }
    8995              :                   }
    8996              :               }
    8997      4599235 :               break;
    8998              :             }
    8999      8393254 :           default:;
    9000              :           }
    9001      8393254 :         {
    9002      8393254 :           tree _q20_pops[1];
    9003      8393254 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    9004              :             {
    9005        13527 :               tree _q30 = _q20_pops[0];
    9006        13527 :               switch (TREE_CODE (_p1))
    9007              :                 {
    9008            0 :                 CASE_CONVERT:
    9009            0 :                   {
    9010            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    9011            0 :                     {
    9012            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    9013            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, NE_EXPR);
    9014            0 :                       if (res) return res;
    9015              :                     }
    9016            0 :                     break;
    9017              :                   }
    9018              :                 default:;
    9019              :                 }
    9020              :             }
    9021              :         }
    9022      8393254 :         break;
    9023              :       }
    9024     38028533 :     default:;
    9025              :     }
    9026     38028533 :   {
    9027     38028533 :     tree _p1_pops[1];
    9028     38028533 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    9029              :       {
    9030     26611091 :         tree _q30 = _p1_pops[0];
    9031     26611091 :         {
    9032     26611091 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9033     26611091 :           tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, NE_EXPR);
    9034     26611091 :           if (res) return res;
    9035              :         }
    9036              :       }
    9037              :   }
    9038     38028533 :   switch (TREE_CODE (_p0))
    9039              :     {
    9040        14096 :     case BIT_NOT_EXPR:
    9041        14096 :       {
    9042        14096 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9043        14096 :         switch (TREE_CODE (_p1))
    9044              :           {
    9045            1 :           case BIT_NOT_EXPR:
    9046            1 :             {
    9047            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9048            1 :               {
    9049            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    9050            1 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, NE_EXPR);
    9051            1 :                 if (res) return res;
    9052              :               }
    9053            0 :               break;
    9054              :             }
    9055        14095 :           default:;
    9056              :           }
    9057        14095 :       {
    9058        14095 :         tree _p1_pops[1];
    9059        14095 :         if (tree_nop_convert (_p1, _p1_pops))
    9060              :           {
    9061           80 :             tree _q40 = _p1_pops[0];
    9062           80 :             switch (TREE_CODE (_q40))
    9063              :               {
    9064            0 :               case BIT_NOT_EXPR:
    9065            0 :                 {
    9066            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    9067            0 :                   {
    9068            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    9069            0 :                     tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, NE_EXPR);
    9070            0 :                     if (res) return res;
    9071              :                   }
    9072            0 :                   break;
    9073              :                 }
    9074              :               default:;
    9075              :               }
    9076              :           }
    9077              :       }
    9078        14095 :       if (CONSTANT_CLASS_P (_p1))
    9079              :         {
    9080        12951 :           {
    9081        12951 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9082        12951 :             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9083        12951 :             if (res) return res;
    9084              :           }
    9085              :         }
    9086              :         break;
    9087              :       }
    9088     38015581 :     default:;
    9089              :     }
    9090     38015581 : {
    9091     38015581 :   tree _p0_pops[1];
    9092     38015581 :   if (tree_maybe_bit_not (_p0, _p0_pops))
    9093              :     {
    9094       296018 :       tree _q20 = _p0_pops[0];
    9095       296018 :       {
    9096       296018 :         tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    9097       296018 :         tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, NE_EXPR);
    9098       296018 :         if (res) return res;
    9099              :       }
    9100              :     }
    9101              : }
    9102     38015579 : {
    9103     38015579 :   tree _p0_pops[1];
    9104     38015579 :   if (tree_nop_convert (_p0, _p0_pops))
    9105              :     {
    9106      6122736 :       tree _q20 = _p0_pops[0];
    9107      6122736 :       switch (TREE_CODE (_q20))
    9108              :         {
    9109            1 :         case BIT_NOT_EXPR:
    9110            1 :           {
    9111            1 :             tree _q30 = TREE_OPERAND (_q20, 0);
    9112            1 :             switch (TREE_CODE (_p1))
    9113              :               {
    9114            0 :               case BIT_NOT_EXPR:
    9115            0 :                 {
    9116            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9117            0 :                   {
    9118            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    9119            0 :                     tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, NE_EXPR);
    9120            0 :                     if (res) return res;
    9121              :                   }
    9122            0 :                   break;
    9123              :                 }
    9124            1 :               default:;
    9125              :               }
    9126            1 :           {
    9127            1 :             tree _p1_pops[1];
    9128            1 :             if (tree_nop_convert (_p1, _p1_pops))
    9129              :               {
    9130            0 :                 tree _q50 = _p1_pops[0];
    9131            0 :                 switch (TREE_CODE (_q50))
    9132              :                   {
    9133            0 :                   case BIT_NOT_EXPR:
    9134            0 :                     {
    9135            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    9136            0 :                       {
    9137            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    9138            0 :                         tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, NE_EXPR);
    9139            0 :                         if (res) return res;
    9140              :                       }
    9141            0 :                       break;
    9142              :                     }
    9143              :                   default:;
    9144              :                   }
    9145              :               }
    9146              :           }
    9147            1 :           if (CONSTANT_CLASS_P (_p1))
    9148              :             {
    9149            1 :               {
    9150            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    9151            1 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9152            1 :                 if (res) return res;
    9153              :               }
    9154              :             }
    9155              :             break;
    9156              :           }
    9157              :         default:;
    9158              :         }
    9159              :     }
    9160              : }
    9161     38015578 :   switch (TREE_CODE (_p1))
    9162              :     {
    9163       711407 :     case REAL_CST:
    9164       711407 :       {
    9165       711407 :         {
    9166       711407 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9167       711407 :           tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, NE_EXPR);
    9168       711407 :           if (res) return res;
    9169              :         }
    9170       639188 :         break;
    9171              :       }
    9172     37943359 :     default:;
    9173              :     }
    9174     37943359 :   switch (TREE_CODE (_p0))
    9175              :     {
    9176      1340586 :     case PLUS_EXPR:
    9177      1340586 :       {
    9178      1340586 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9179      1340586 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9180      1340586 :         switch (TREE_CODE (_q21))
    9181              :           {
    9182         3831 :           case REAL_CST:
    9183         3831 :             {
    9184         3831 :               switch (TREE_CODE (_p1))
    9185              :                 {
    9186         3057 :                 case REAL_CST:
    9187         3057 :                   {
    9188         3057 :                     {
    9189         3057 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9190         3057 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR);
    9191         3057 :                       if (res) return res;
    9192              :                     }
    9193         3057 :                     break;
    9194              :                   }
    9195              :                 default:;
    9196              :                 }
    9197              :               break;
    9198              :             }
    9199              :           default:;
    9200              :           }
    9201              :         break;
    9202              :       }
    9203        68392 :     case MINUS_EXPR:
    9204        68392 :       {
    9205        68392 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9206        68392 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9207        68392 :         switch (TREE_CODE (_q21))
    9208              :           {
    9209         3215 :           case REAL_CST:
    9210         3215 :             {
    9211         3215 :               switch (TREE_CODE (_p1))
    9212              :                 {
    9213         2849 :                 case REAL_CST:
    9214         2849 :                   {
    9215         2849 :                     {
    9216         2849 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9217         2849 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, MINUS_EXPR, NE_EXPR);
    9218         2849 :                       if (res) return res;
    9219              :                     }
    9220         2849 :                     break;
    9221              :                   }
    9222              :                 default:;
    9223              :                 }
    9224              :               break;
    9225              :             }
    9226        68392 :           default:;
    9227              :           }
    9228        68392 :         switch (TREE_CODE (_q20))
    9229              :           {
    9230           87 :           case REAL_CST:
    9231           87 :             {
    9232           87 :               switch (TREE_CODE (_p1))
    9233              :                 {
    9234           44 :                 case REAL_CST:
    9235           44 :                   {
    9236           44 :                     {
    9237           44 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9238           44 :                       tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, NE_EXPR);
    9239           44 :                       if (res) return res;
    9240              :                     }
    9241           44 :                     break;
    9242              :                   }
    9243              :                 default:;
    9244              :                 }
    9245              :               break;
    9246              :             }
    9247              :           default:;
    9248              :           }
    9249              :         break;
    9250              :       }
    9251        10540 :     case FLOAT_EXPR:
    9252        10540 :       {
    9253        10540 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9254        10540 :         switch (TREE_CODE (_p1))
    9255              :           {
    9256         1116 :           case FLOAT_EXPR:
    9257         1116 :             {
    9258         1116 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9259         1116 :               {
    9260         1116 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9261         1116 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9262         1116 :                 if (res) return res;
    9263              :               }
    9264          972 :               break;
    9265              :             }
    9266         2159 :           case REAL_CST:
    9267         2159 :             {
    9268         2159 :               {
    9269         2159 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9270         2159 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9271         2159 :                 if (res) return res;
    9272              :               }
    9273         1909 :               break;
    9274              :             }
    9275              :           default:;
    9276              :           }
    9277              :         break;
    9278              :       }
    9279         2031 :     case EXACT_DIV_EXPR:
    9280         2031 :       {
    9281         2031 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9282         2031 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9283         2031 :         switch (TREE_CODE (_p1))
    9284              :           {
    9285           36 :           case INTEGER_CST:
    9286           36 :             {
    9287           36 :               {
    9288           36 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9289           36 :                 tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, NE_EXPR);
    9290           36 :                 if (res) return res;
    9291              :               }
    9292            0 :               break;
    9293              :             }
    9294              :           default:;
    9295              :           }
    9296              :         break;
    9297              :       }
    9298         6192 :     case NEGATE_EXPR:
    9299         6192 :       {
    9300         6192 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9301         6192 :         switch (TREE_CODE (_p1))
    9302              :           {
    9303            4 :           case NEGATE_EXPR:
    9304            4 :             {
    9305            4 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9306            4 :               {
    9307            4 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9308            4 :                 tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9309            4 :                 if (res) return res;
    9310              :               }
    9311            0 :               break;
    9312              :             }
    9313         6188 :           default:;
    9314              :           }
    9315         6188 :       if (CONSTANT_CLASS_P (_p1))
    9316              :         {
    9317          577 :           {
    9318          577 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9319          577 :             tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    9320          577 :             if (res) return res;
    9321              :           }
    9322              :         }
    9323              :         break;
    9324              :       }
    9325         1940 :     case ABS_EXPR:
    9326         1940 :       {
    9327         1940 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9328         1940 :         if (zerop (_p1))
    9329              :           {
    9330           72 :             {
    9331           72 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9332           72 :               const enum tree_code eqne = NE_EXPR;
    9333           72 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1592;
    9334           72 :               {
    9335           72 :                 tree res_op0;
    9336           72 :                 res_op0 = captures[0];
    9337           72 :                 tree res_op1;
    9338           72 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    9339           72 :                 tree _r;
    9340           72 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    9341           72 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    9342            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9343           72 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 995, __FILE__, __LINE__, true);
    9344           72 :                 return _r;
    9345              :               }
    9346            0 : next_after_fail1592:;
    9347              :             }
    9348              :           }
    9349              :         break;
    9350              :       }
    9351         1698 :     case ABSU_EXPR:
    9352         1698 :       {
    9353         1698 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9354         1698 :         if (zerop (_p1))
    9355              :           {
    9356           65 :             {
    9357           65 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9358           65 :               const enum tree_code eqne = NE_EXPR;
    9359           65 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1593;
    9360           65 :               {
    9361           65 :                 tree res_op0;
    9362           65 :                 res_op0 = captures[0];
    9363           65 :                 tree res_op1;
    9364           65 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    9365           65 :                 tree _r;
    9366           65 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    9367           65 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    9368            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9369           65 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 995, __FILE__, __LINE__, true);
    9370           65 :                 return _r;
    9371              :               }
    9372            0 : next_after_fail1593:;
    9373              :             }
    9374              :           }
    9375              :         break;
    9376              :       }
    9377      8393174 :     CASE_CONVERT:
    9378      8393174 :       {
    9379      8393174 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9380      8393174 :         switch (TREE_CODE (_p1))
    9381              :           {
    9382      4599235 :           CASE_CONVERT:
    9383      4599235 :             {
    9384      4599235 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9385      4599235 :               {
    9386      4599235 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9387      4599235 :                 tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, NE_EXPR);
    9388      4599235 :                 if (res) return res;
    9389              :               }
    9390      4393658 :               break;
    9391              :             }
    9392      8187597 :           default:;
    9393              :           }
    9394      8187597 :         {
    9395      8187597 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    9396      8187597 :           tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, NE_EXPR);
    9397      8187597 :           if (res) return res;
    9398              :         }
    9399      6009849 :         switch (TREE_CODE (_q20))
    9400              :           {
    9401           12 :           case BIT_IOR_EXPR:
    9402           12 :             {
    9403           12 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9404           12 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9405           12 :               switch (TREE_CODE (_q31))
    9406              :                 {
    9407            0 :                 case INTEGER_CST:
    9408            0 :                   {
    9409            0 :                     switch (TREE_CODE (_p1))
    9410              :                       {
    9411            0 :                       case INTEGER_CST:
    9412            0 :                         {
    9413            0 :                           {
    9414            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9415            0 :                             tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, NE_EXPR);
    9416            0 :                             if (res) return res;
    9417              :                           }
    9418            0 :                           break;
    9419              :                         }
    9420              :                       default:;
    9421              :                       }
    9422              :                     break;
    9423              :                   }
    9424              :                 default:;
    9425              :                 }
    9426              :               break;
    9427              :             }
    9428              :           default:;
    9429              :           }
    9430              :         break;
    9431              :       }
    9432     15040225 :     case SSA_NAME:
    9433     15040225 :       {
    9434     15040225 :         switch (TREE_CODE (_p1))
    9435              :           {
    9436       303798 :           case ADDR_EXPR:
    9437       303798 :             {
    9438       303798 :               {
    9439       303798 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9440       303798 :                 tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, NE_EXPR);
    9441       303798 :                 if (res) return res;
    9442              :               }
    9443       303796 :               break;
    9444              :             }
    9445              :           default:;
    9446              :           }
    9447              :         break;
    9448              :       }
    9449       243327 :     case BIT_IOR_EXPR:
    9450       243327 :       {
    9451       243327 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9452       243327 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9453       243327 :         switch (TREE_CODE (_q21))
    9454              :           {
    9455          960 :           case INTEGER_CST:
    9456          960 :             {
    9457          960 :               switch (TREE_CODE (_p1))
    9458              :                 {
    9459          223 :                 case INTEGER_CST:
    9460          223 :                   {
    9461          223 :                     {
    9462          223 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9463          223 :                       tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, NE_EXPR);
    9464          223 :                       if (res) return res;
    9465              :                     }
    9466          223 :                     break;
    9467              :                   }
    9468              :                 default:;
    9469              :                 }
    9470              :               break;
    9471              :             }
    9472              :           default:;
    9473              :           }
    9474              :         break;
    9475              :       }
    9476        30964 :     case BIT_XOR_EXPR:
    9477        30964 :       {
    9478        30964 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9479        30964 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9480        30964 :         if (integer_zerop (_p1))
    9481              :           {
    9482        26630 :             {
    9483        26630 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9484        26630 :               tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, NE_EXPR);
    9485        26630 :               if (res) return res;
    9486              :             }
    9487              :           }
    9488         4334 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9489              :           {
    9490            1 :             {
    9491            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9492            1 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR);
    9493            1 :               if (res) return res;
    9494              :             }
    9495              :           }
    9496         4333 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9497              :           {
    9498            2 :             {
    9499            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9500            2 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR);
    9501            2 :               if (res) return res;
    9502              :             }
    9503              :           }
    9504              :         break;
    9505              :       }
    9506      2455222 :     case CALL_EXPR:
    9507      2455222 :       switch (get_call_combined_fn (_p0))
    9508              :         {
    9509           42 :         case CFN_BUILT_IN_SQRTF:
    9510           42 :           if (call_expr_nargs (_p0) == 1)
    9511              :     {
    9512           42 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9513           42 :               switch (TREE_CODE (_p1))
    9514              :                 {
    9515            0 :                 case REAL_CST:
    9516            0 :                   {
    9517            0 :                     {
    9518            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9519            0 :                       tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, NE_EXPR);
    9520            0 :                       if (res) return res;
    9521              :                     }
    9522            0 :                     break;
    9523              :                   }
    9524           42 :                 case CALL_EXPR:
    9525           42 :                   switch (get_call_combined_fn (_p1))
    9526              :                     {
    9527            0 :                     case CFN_BUILT_IN_SQRTF:
    9528            0 :                       if (call_expr_nargs (_p1) == 1)
    9529              :     {
    9530            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9531            0 :                           {
    9532            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9533            0 :                             tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, NE_EXPR);
    9534            0 :                             if (res) return res;
    9535              :                           }
    9536              :                         }
    9537              :                       break;
    9538              :                     default:;
    9539              :                     }
    9540              :                   break;
    9541              :                 default:;
    9542              :                 }
    9543              :             }
    9544              :           break;
    9545           42 :         case CFN_BUILT_IN_SQRTL:
    9546           42 :           if (call_expr_nargs (_p0) == 1)
    9547              :     {
    9548           42 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9549           42 :               switch (TREE_CODE (_p1))
    9550              :                 {
    9551            0 :                 case REAL_CST:
    9552            0 :                   {
    9553            0 :                     {
    9554            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9555            0 :                       tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, NE_EXPR);
    9556            0 :                       if (res) return res;
    9557              :                     }
    9558            0 :                     break;
    9559              :                   }
    9560           42 :                 case CALL_EXPR:
    9561           42 :                   switch (get_call_combined_fn (_p1))
    9562              :                     {
    9563            0 :                     case CFN_BUILT_IN_SQRTL:
    9564            0 :                       if (call_expr_nargs (_p1) == 1)
    9565              :     {
    9566            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9567            0 :                           {
    9568            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9569            0 :                             tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, NE_EXPR);
    9570            0 :                             if (res) return res;
    9571              :                           }
    9572              :                         }
    9573              :                       break;
    9574              :                     default:;
    9575              :                     }
    9576              :                   break;
    9577              :                 default:;
    9578              :                 }
    9579              :             }
    9580              :           break;
    9581           46 :         case CFN_BUILT_IN_SQRT:
    9582           46 :           if (call_expr_nargs (_p0) == 1)
    9583              :     {
    9584           46 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9585           46 :               switch (TREE_CODE (_p1))
    9586              :                 {
    9587            2 :                 case REAL_CST:
    9588            2 :                   {
    9589            2 :                     {
    9590            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9591            2 :                       tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, NE_EXPR);
    9592            2 :                       if (res) return res;
    9593              :                     }
    9594            2 :                     break;
    9595              :                   }
    9596           43 :                 case CALL_EXPR:
    9597           43 :                   switch (get_call_combined_fn (_p1))
    9598              :                     {
    9599            0 :                     case CFN_BUILT_IN_SQRT:
    9600            0 :                       if (call_expr_nargs (_p1) == 1)
    9601              :     {
    9602            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9603            0 :                           {
    9604            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9605            0 :                             tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, NE_EXPR);
    9606            0 :                             if (res) return res;
    9607              :                           }
    9608              :                         }
    9609              :                       break;
    9610              :                     default:;
    9611              :                     }
    9612              :                   break;
    9613              :                 default:;
    9614              :                 }
    9615              :             }
    9616              :           break;
    9617            0 :         case CFN_SQRT:
    9618            0 :           if (call_expr_nargs (_p0) == 1)
    9619              :     {
    9620            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9621            0 :               switch (TREE_CODE (_p1))
    9622              :                 {
    9623            0 :                 case REAL_CST:
    9624            0 :                   {
    9625            0 :                     {
    9626            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9627            0 :                       tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_SQRT, NE_EXPR);
    9628            0 :                       if (res) return res;
    9629              :                     }
    9630            0 :                     break;
    9631              :                   }
    9632            0 :                 case CALL_EXPR:
    9633            0 :                   switch (get_call_combined_fn (_p1))
    9634              :                     {
    9635            0 :                     case CFN_SQRT:
    9636            0 :                       if (call_expr_nargs (_p1) == 1)
    9637              :     {
    9638            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9639            0 :                           {
    9640            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9641            0 :                             tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, CFN_SQRT, NE_EXPR);
    9642            0 :                             if (res) return res;
    9643              :                           }
    9644              :                         }
    9645              :                       break;
    9646              :                     default:;
    9647              :                     }
    9648              :                   break;
    9649              :                 default:;
    9650              :                 }
    9651              :             }
    9652              :           break;
    9653              :         default:;
    9654              :         }
    9655              :       break;
    9656     35532269 :     default:;
    9657              :     }
    9658     35532269 :   switch (TREE_CODE (_p1))
    9659              :     {
    9660          840 :     case BIT_XOR_EXPR:
    9661          840 :       {
    9662          840 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9663          840 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9664          840 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9665              :           {
    9666            0 :             {
    9667            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9668            0 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR);
    9669            0 :               if (res) return res;
    9670              :             }
    9671              :           }
    9672          840 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9673              :           {
    9674            0 :             {
    9675            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9676            0 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR);
    9677            0 :               if (res) return res;
    9678              :             }
    9679              :           }
    9680              :         break;
    9681              :       }
    9682     35532269 :     default:;
    9683              :     }
    9684     35532269 :   switch (TREE_CODE (_p0))
    9685              :     {
    9686      1299602 :     case BIT_AND_EXPR:
    9687      1299602 :       {
    9688      1299602 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9689      1299602 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9690      1299602 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9691              :           {
    9692          179 :             {
    9693          179 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9694          179 :               tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, NE_EXPR);
    9695          179 :               if (res) return res;
    9696              :             }
    9697              :           }
    9698      1299574 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9699              :           {
    9700         4928 :             {
    9701         4928 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9702         4928 :               tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, NE_EXPR);
    9703         4928 :               if (res) return res;
    9704              :             }
    9705              :           }
    9706              :         break;
    9707              :       }
    9708     35532241 :     default:;
    9709              :     }
    9710     35532241 :   switch (TREE_CODE (_p1))
    9711              :     {
    9712        16039 :     case BIT_AND_EXPR:
    9713        16039 :       {
    9714        16039 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9715        16039 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9716        16039 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9717              :           {
    9718            0 :             {
    9719            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9720            0 :               tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, NE_EXPR);
    9721            0 :               if (res) return res;
    9722              :             }
    9723              :           }
    9724        16039 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9725              :           {
    9726            0 :             {
    9727            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9728            0 :               tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, NE_EXPR);
    9729            0 :               if (res) return res;
    9730              :             }
    9731              :           }
    9732              :         break;
    9733              :       }
    9734     35532241 :     default:;
    9735              :     }
    9736     35532241 :   switch (TREE_CODE (_p0))
    9737              :     {
    9738      6009849 :     CASE_CONVERT:
    9739      6009849 :       {
    9740      6009849 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9741      6009849 :         switch (TREE_CODE (_q20))
    9742              :           {
    9743            8 :           case BIT_AND_EXPR:
    9744            8 :             {
    9745            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9746            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9747            8 :               switch (TREE_CODE (_q30))
    9748              :                 {
    9749            0 :                 CASE_CONVERT:
    9750            0 :                   {
    9751            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9752            0 :                     switch (TREE_CODE (_q31))
    9753              :                       {
    9754            0 :                       case INTEGER_CST:
    9755            0 :                         {
    9756            0 :                           switch (TREE_CODE (_p1))
    9757              :                             {
    9758            0 :                             CASE_CONVERT:
    9759            0 :                               {
    9760            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    9761            0 :                                 if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    9762              :                                   {
    9763            0 :                                     {
    9764            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
    9765            0 :                                       tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, NE_EXPR);
    9766            0 :                                       if (res) return res;
    9767              :                                     }
    9768              :                                   }
    9769              :                                 break;
    9770              :                               }
    9771              :                             default:;
    9772              :                             }
    9773              :                           break;
    9774              :                         }
    9775              :                       default:;
    9776              :                       }
    9777              :                     break;
    9778              :                   }
    9779              :                 default:;
    9780              :                 }
    9781              :               break;
    9782              :             }
    9783      6009849 :           default:;
    9784              :           }
    9785      6009849 :         switch (TREE_CODE (_p1))
    9786              :           {
    9787      4393658 :           CASE_CONVERT:
    9788      4393658 :             {
    9789      4393658 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9790      4393658 :               switch (TREE_CODE (_q40))
    9791              :                 {
    9792            0 :                 case BIT_AND_EXPR:
    9793            0 :                   {
    9794            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9795            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9796            0 :                     switch (TREE_CODE (_q50))
    9797              :                       {
    9798            0 :                       CASE_CONVERT:
    9799            0 :                         {
    9800            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    9801            0 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9802              :                             {
    9803            0 :                               switch (TREE_CODE (_q51))
    9804              :                                 {
    9805            0 :                                 case INTEGER_CST:
    9806            0 :                                   {
    9807            0 :                                     {
    9808            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
    9809            0 :                                       tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, NE_EXPR);
    9810            0 :                                       if (res) return res;
    9811              :                                     }
    9812            0 :                                     break;
    9813              :                                   }
    9814              :                                 default:;
    9815              :                                 }
    9816              :                             }
    9817              :                           break;
    9818              :                         }
    9819              :                       default:;
    9820              :                       }
    9821              :                     break;
    9822              :                   }
    9823              :                 default:;
    9824              :                 }
    9825              :               break;
    9826              :             }
    9827              :           default:;
    9828              :           }
    9829              :         break;
    9830              :       }
    9831       243327 :     case BIT_IOR_EXPR:
    9832       243327 :       {
    9833       243327 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9834       243327 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9835       243327 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9836              :           {
    9837          126 :             {
    9838          126 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9839          126 :               tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, NE_EXPR);
    9840          126 :               if (res) return res;
    9841              :             }
    9842              :           }
    9843       243319 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9844              :           {
    9845          255 :             {
    9846          255 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9847          255 :               tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, NE_EXPR);
    9848          255 :               if (res) return res;
    9849              :             }
    9850              :           }
    9851              :         break;
    9852              :       }
    9853     35532233 :     default:;
    9854              :     }
    9855     35532233 :   switch (TREE_CODE (_p1))
    9856              :     {
    9857          566 :     case BIT_IOR_EXPR:
    9858          566 :       {
    9859          566 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9860          566 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9861          566 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9862              :           {
    9863            0 :             {
    9864            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    9865            0 :               tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, NE_EXPR);
    9866            0 :               if (res) return res;
    9867              :             }
    9868              :           }
    9869          566 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9870              :           {
    9871            0 :             {
    9872            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
    9873            0 :               tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, NE_EXPR);
    9874            0 :               if (res) return res;
    9875              :             }
    9876              :           }
    9877              :         break;
    9878              :       }
    9879     35532233 :     default:;
    9880              :     }
    9881     35532233 :   switch (TREE_CODE (_p0))
    9882              :     {
    9883      6009849 :     CASE_CONVERT:
    9884      6009849 :       {
    9885      6009849 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9886      6009849 :         switch (TREE_CODE (_q20))
    9887              :           {
    9888          698 :           case BIT_XOR_EXPR:
    9889          698 :             {
    9890          698 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9891          698 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9892          698 :               switch (TREE_CODE (_q31))
    9893              :                 {
    9894            0 :                 case INTEGER_CST:
    9895            0 :                   {
    9896            0 :                     switch (TREE_CODE (_p1))
    9897              :                       {
    9898            0 :                       case INTEGER_CST:
    9899            0 :                         {
    9900            0 :                           {
    9901            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9902            0 :                             tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, NE_EXPR);
    9903            0 :                             if (res) return res;
    9904              :                           }
    9905            0 :                           break;
    9906              :                         }
    9907              :                       default:;
    9908              :                       }
    9909              :                     break;
    9910              :                   }
    9911              :                 default:;
    9912              :                 }
    9913              :               break;
    9914              :             }
    9915              :           default:;
    9916              :           }
    9917              :         break;
    9918              :       }
    9919         4331 :     case BIT_XOR_EXPR:
    9920         4331 :       {
    9921         4331 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9922         4331 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9923         4331 :         switch (TREE_CODE (_q21))
    9924              :           {
    9925          881 :           case INTEGER_CST:
    9926          881 :             {
    9927          881 :               switch (TREE_CODE (_p1))
    9928              :                 {
    9929           10 :                 case INTEGER_CST:
    9930           10 :                   {
    9931           10 :                     {
    9932           10 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9933           10 :                       tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, NE_EXPR);
    9934           10 :                       if (res) return res;
    9935              :                     }
    9936            0 :                     break;
    9937              :                   }
    9938              :                 default:;
    9939              :                 }
    9940              :               break;
    9941              :             }
    9942              :           default:;
    9943              :           }
    9944              :         break;
    9945              :       }
    9946     35532223 :     default:;
    9947              :     }
    9948     35532223 : {
    9949     35532223 :   tree _p0_pops[1];
    9950     35532223 :   if (tree_nop_convert (_p0, _p0_pops))
    9951              :     {
    9952      5287651 :       tree _q20 = _p0_pops[0];
    9953      5287651 :       if (integer_zerop (_p1))
    9954              :         {
    9955       797461 :           {
    9956       797461 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9957       797461 :             tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, NE_EXPR);
    9958       797461 :             if (res) return res;
    9959              :           }
    9960              :         }
    9961              :     }
    9962              : }
    9963     35103967 :   if (integer_zerop (_p1))
    9964              :     {
    9965     18877044 :       {
    9966     18877044 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9967     18877044 :         tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, NE_EXPR);
    9968     18877044 :         if (res) return res;
    9969              :       }
    9970              :     }
    9971     34922565 :   switch (TREE_CODE (_p0))
    9972              :     {
    9973      1299574 :     case BIT_AND_EXPR:
    9974      1299574 :       {
    9975      1299574 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9976      1299574 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9977      1299574 :         switch (TREE_CODE (_p1))
    9978              :           {
    9979        14628 :           case BIT_AND_EXPR:
    9980        14628 :             {
    9981        14628 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9982        14628 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9983        14628 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9984              :                 {
    9985        14383 :                   {
    9986        14383 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9987        14383 :                     tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, NE_EXPR);
    9988        14383 :                     if (res) return res;
    9989              :                   }
    9990              :                 }
    9991          245 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9992              :                 {
    9993            2 :                   {
    9994            2 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    9995            2 :                     tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, NE_EXPR);
    9996            2 :                     if (res) return res;
    9997              :                   }
    9998              :                 }
    9999          243 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10000              :                 {
   10001            1 :                   {
   10002            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   10003            1 :                     tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, NE_EXPR);
   10004            1 :                     if (res) return res;
   10005              :                   }
   10006              :                 }
   10007          242 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10008              :                 {
   10009            7 :                   {
   10010            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   10011            7 :                     tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, NE_EXPR);
   10012            7 :                     if (res) return res;
   10013              :                   }
   10014              :                 }
   10015              :               break;
   10016              :             }
   10017      1285181 :           default:;
   10018              :           }
   10019      1285181 :         if (integer_pow2p (_q21))
   10020              :           {
   10021       662418 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   10022              :               {
   10023          579 :                 {
   10024          579 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10025          579 :                   tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   10026          579 :                   if (res) return res;
   10027              :                 }
   10028              :               }
   10029              :           }
   10030      1284606 :         switch (TREE_CODE (_q20))
   10031              :           {
   10032       198775 :           CASE_CONVERT:
   10033       198775 :             {
   10034       198775 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10035       198775 :               if (integer_pow2p (_q21))
   10036              :                 {
   10037        99968 :                   if (integer_zerop (_p1))
   10038              :                     {
   10039        99873 :                       {
   10040        99873 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   10041        99873 :                         tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
   10042        99873 :                         if (res) return res;
   10043              :                       }
   10044              :                     }
   10045              :                 }
   10046              :               break;
   10047              :             }
   10048      1279168 :           default:;
   10049              :           }
   10050      1279168 :         if (integer_pow2p (_q21))
   10051              :           {
   10052       656405 :             if (integer_zerop (_p1))
   10053              :               {
   10054       653015 :                 {
   10055       653015 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
   10056       653015 :                   tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
   10057       653015 :                   if (res) return res;
   10058              :                 }
   10059              :               }
   10060              :           }
   10061              :         break;
   10062              :       }
   10063         5450 :     case GE_EXPR:
   10064         5450 :       {
   10065         5450 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10066         5450 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10067         5450 :         if (integer_zerop (_q21))
   10068              :           {
   10069          973 :             switch (TREE_CODE (_p1))
   10070              :               {
   10071            1 :               case GE_EXPR:
   10072            1 :                 {
   10073            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10074            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10075            1 :                   if (integer_zerop (_q51))
   10076              :                     {
   10077            1 :                       {
   10078            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   10079            1 :                         tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR, LT_EXPR);
   10080            1 :                         if (res) return res;
   10081              :                       }
   10082              :                     }
   10083              :                   break;
   10084              :                 }
   10085            3 :               case LT_EXPR:
   10086            3 :                 {
   10087            3 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10088            3 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10089            3 :                   if (integer_zerop (_q51))
   10090              :                     {
   10091            3 :                       {
   10092            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
   10093            3 :                         tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
   10094            3 :                         if (res) return res;
   10095              :                       }
   10096              :                     }
   10097              :                   break;
   10098              :                 }
   10099              :               default:;
   10100              :               }
   10101              :           }
   10102              :         break;
   10103              :       }
   10104        15284 :     case LT_EXPR:
   10105        15284 :       {
   10106        15284 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10107        15284 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10108        15284 :         if (integer_zerop (_q21))
   10109              :           {
   10110         8614 :             switch (TREE_CODE (_p1))
   10111              :               {
   10112           79 :               case LT_EXPR:
   10113           79 :                 {
   10114           79 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10115           79 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10116           79 :                   if (integer_zerop (_q51))
   10117              :                     {
   10118           79 :                       {
   10119           79 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   10120           79 :                         tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LT_EXPR);
   10121           79 :                         if (res) return res;
   10122              :                       }
   10123              :                     }
   10124              :                   break;
   10125              :                 }
   10126           17 :               case GE_EXPR:
   10127           17 :                 {
   10128           17 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10129           17 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10130           17 :                   if (integer_zerop (_q51))
   10131              :                     {
   10132           17 :                       {
   10133           17 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   10134           17 :                         tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
   10135           17 :                         if (res) return res;
   10136              :                       }
   10137              :                     }
   10138              :                   break;
   10139              :                 }
   10140              :               default:;
   10141              :               }
   10142              :           }
   10143              :         break;
   10144              :       }
   10145       243319 :     case BIT_IOR_EXPR:
   10146       243319 :       {
   10147       243319 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10148       243319 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10149       243319 :         switch (TREE_CODE (_q21))
   10150              :           {
   10151          284 :           CASE_CONVERT:
   10152          284 :             {
   10153          284 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10154          284 :               switch (TREE_CODE (_q40))
   10155              :                 {
   10156            0 :                 case NE_EXPR:
   10157            0 :                   {
   10158            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   10159            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   10160            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10161              :                       {
   10162            0 :                         if (integer_zerop (_q51))
   10163              :                           {
   10164            0 :                             if (integer_zerop (_p1))
   10165              :                               {
   10166            0 :                                 {
   10167            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10168            0 :                                   tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, NE_EXPR);
   10169            0 :                                   if (res) return res;
   10170              :                                 }
   10171              :                               }
   10172              :                           }
   10173              :                       }
   10174              :                     break;
   10175              :                   }
   10176              :                 default:;
   10177              :                 }
   10178              :               break;
   10179              :             }
   10180       243319 :           default:;
   10181              :           }
   10182       243319 :         switch (TREE_CODE (_q20))
   10183              :           {
   10184          793 :           CASE_CONVERT:
   10185          793 :             {
   10186          793 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10187          793 :               switch (TREE_CODE (_q30))
   10188              :                 {
   10189            0 :                 case NE_EXPR:
   10190            0 :                   {
   10191            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10192            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   10193            0 :                     if (integer_zerop (_q41))
   10194              :                       {
   10195            0 :                         if ((_q21 == _q40 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q40, 0) && types_match (_q21, _q40)))
   10196              :                           {
   10197            0 :                             if (integer_zerop (_p1))
   10198              :                               {
   10199            0 :                                 {
   10200            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
   10201            0 :                                   tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, NE_EXPR);
   10202            0 :                                   if (res) return res;
   10203              :                                 }
   10204              :                               }
   10205              :                           }
   10206              :                       }
   10207              :                     break;
   10208              :                   }
   10209              :                 default:;
   10210              :                 }
   10211              :               break;
   10212              :             }
   10213       243319 :           default:;
   10214              :           }
   10215       243319 :         switch (TREE_CODE (_q21))
   10216              :           {
   10217           24 :           case NE_EXPR:
   10218           24 :             {
   10219           24 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10220           24 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10221           24 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   10222              :                 {
   10223            0 :                   if (integer_zerop (_q41))
   10224              :                     {
   10225            0 :                       if (integer_zerop (_p1))
   10226              :                         {
   10227            0 :                           {
   10228            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10229            0 :                             tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, NE_EXPR);
   10230            0 :                             if (res) return res;
   10231              :                           }
   10232              :                         }
   10233              :                     }
   10234              :                 }
   10235              :               break;
   10236              :             }
   10237       243319 :           default:;
   10238              :           }
   10239       243319 :         switch (TREE_CODE (_q20))
   10240              :           {
   10241            2 :           case NE_EXPR:
   10242            2 :             {
   10243            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10244            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10245            2 :               if (integer_zerop (_q31))
   10246              :                 {
   10247            1 :                   if ((_q21 == _q30 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q30, 0) && types_match (_q21, _q30)))
   10248              :                     {
   10249            0 :                       if (integer_zerop (_p1))
   10250              :                         {
   10251            0 :                           {
   10252            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   10253            0 :                             tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, NE_EXPR);
   10254            0 :                             if (res) return res;
   10255              :                           }
   10256              :                         }
   10257              :                     }
   10258              :                 }
   10259              :               break;
   10260              :             }
   10261              :           default:;
   10262              :           }
   10263              :         break;
   10264              :       }
   10265      5581593 :     CASE_CONVERT:
   10266      5581593 :       {
   10267      5581593 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10268      5581593 :         switch (TREE_CODE (_q20))
   10269              :           {
   10270      4296198 :           case ADDR_EXPR:
   10271      4296198 :             {
   10272      4296198 :               switch (TREE_CODE (_p1))
   10273              :                 {
   10274      4266458 :                 CASE_CONVERT:
   10275      4266458 :                   {
   10276      4266458 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   10277      4266458 :                     switch (TREE_CODE (_q40))
   10278              :                       {
   10279      4266458 :                       case ADDR_EXPR:
   10280      4266458 :                         {
   10281      4266458 :                           {
   10282      4266458 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10283      4266458 :                             tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, NE_EXPR);
   10284      4266458 :                             if (res) return res;
   10285              :                           }
   10286           33 :                           break;
   10287              :                         }
   10288              :                       default:;
   10289              :                       }
   10290              :                     break;
   10291              :                   }
   10292        21232 :                 case ADDR_EXPR:
   10293        21232 :                   {
   10294        21232 :                     {
   10295        21232 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10296        21232 :                       tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, NE_EXPR);
   10297        21232 :                       if (res) return res;
   10298              :                     }
   10299         7935 :                     break;
   10300              :                   }
   10301              :                 default:;
   10302              :                 }
   10303              :               break;
   10304              :             }
   10305              :           default:;
   10306              :           }
   10307              :         break;
   10308              :       }
   10309        65492 :     case ADDR_EXPR:
   10310        65492 :       {
   10311        65492 :         switch (TREE_CODE (_p1))
   10312              :           {
   10313          383 :           CASE_CONVERT:
   10314          383 :             {
   10315          383 :               tree _q30 = TREE_OPERAND (_p1, 0);
   10316          383 :               switch (TREE_CODE (_q30))
   10317              :                 {
   10318          383 :                 case ADDR_EXPR:
   10319          383 :                   {
   10320          383 :                     {
   10321          383 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
   10322          383 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR);
   10323          383 :                       if (res) return res;
   10324              :                     }
   10325          143 :                     break;
   10326              :                   }
   10327              :                 default:;
   10328              :                 }
   10329              :               break;
   10330              :             }
   10331        56486 :           case ADDR_EXPR:
   10332        56486 :             {
   10333        56486 :               {
   10334        56486 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
   10335        56486 :                 tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR);
   10336        56486 :                 if (res) return res;
   10337              :               }
   10338         3798 :               break;
   10339              :             }
   10340              :           default:;
   10341              :           }
   10342              :         break;
   10343              :       }
   10344     30555024 :     default:;
   10345              :     }
   10346     30555024 :   {
   10347     30555024 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10348     30555024 :     tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR);
   10349     30555024 :     if (res) return res;
   10350              :   }
   10351     30545919 :   switch (TREE_CODE (_p0))
   10352              :     {
   10353      1301871 :     CASE_CONVERT:
   10354      1301871 :       {
   10355      1301871 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10356      1301871 :         switch (TREE_CODE (_p1))
   10357              :           {
   10358       840753 :           case INTEGER_CST:
   10359       840753 :             {
   10360       840753 :               {
   10361       840753 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10362       840753 :                 tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, NE_EXPR);
   10363       840753 :                 if (res) return res;
   10364              :               }
   10365       831723 :               break;
   10366              :             }
   10367      1292841 :           default:;
   10368              :           }
   10369      1292841 :         switch (TREE_CODE (_q20))
   10370              :           {
   10371            8 :           case NE_EXPR:
   10372            8 :             {
   10373            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10374            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10375            8 :               switch (TREE_CODE (_q31))
   10376              :                 {
   10377            8 :                 case INTEGER_CST:
   10378            8 :                   {
   10379            8 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10380              :                       {
   10381            0 :                         {
   10382            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10383            0 :                           tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   10384            0 :                           if (res) return res;
   10385              :                         }
   10386              :                       }
   10387              :                     break;
   10388              :                   }
   10389              :                 default:;
   10390              :                 }
   10391              :               break;
   10392              :             }
   10393            0 :           case EQ_EXPR:
   10394            0 :             {
   10395            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10396            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10397            0 :               switch (TREE_CODE (_q31))
   10398              :                 {
   10399            0 :                 case INTEGER_CST:
   10400            0 :                   {
   10401            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10402              :                       {
   10403            0 :                         {
   10404            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10405            0 :                           tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   10406            0 :                           if (res) return res;
   10407              :                         }
   10408              :                       }
   10409              :                     break;
   10410              :                   }
   10411              :                 default:;
   10412              :                 }
   10413              :               break;
   10414              :             }
   10415              :           default:;
   10416              :           }
   10417              :         break;
   10418              :       }
   10419     30536889 :     default:;
   10420              :     }
   10421     30536889 :   switch (TREE_CODE (_p1))
   10422              :     {
   10423       523081 :     CASE_CONVERT:
   10424       523081 :       {
   10425       523081 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10426       523081 :         switch (TREE_CODE (_q30))
   10427              :           {
   10428            0 :           case NE_EXPR:
   10429            0 :             {
   10430            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10431            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10432            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10433              :                 {
   10434            0 :                   switch (TREE_CODE (_q41))
   10435              :                     {
   10436            0 :                     case INTEGER_CST:
   10437            0 :                       {
   10438            0 :                         {
   10439            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10440            0 :                           tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   10441            0 :                           if (res) return res;
   10442              :                         }
   10443            0 :                         break;
   10444              :                       }
   10445              :                     default:;
   10446              :                     }
   10447              :                 }
   10448              :               break;
   10449              :             }
   10450            0 :           case EQ_EXPR:
   10451            0 :             {
   10452            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10453            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10454            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10455              :                 {
   10456            0 :                   switch (TREE_CODE (_q41))
   10457              :                     {
   10458            0 :                     case INTEGER_CST:
   10459            0 :                       {
   10460            0 :                         {
   10461            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10462            0 :                           tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   10463            0 :                           if (res) return res;
   10464              :                         }
   10465            0 :                         break;
   10466              :                       }
   10467              :                     default:;
   10468              :                     }
   10469              :                 }
   10470              :               break;
   10471              :             }
   10472              :           default:;
   10473              :           }
   10474              :         break;
   10475              :       }
   10476     30536889 :     default:;
   10477              :     }
   10478     30536889 : if (integer_zerop (_p1))
   10479              :   {
   10480     18666631 :     {
   10481     18666631 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10482     18666631 :       if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
   10483     18666631 :  && types_match (type, TREE_TYPE (captures[0]))
   10484              : )
   10485              :         {
   10486      3432148 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1594;
   10487      3432148 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1594;
   10488      3432148 :           {
   10489      3432148 :             tree res_op0;
   10490      3432148 :             res_op0 = captures[0];
   10491      3432148 :             tree _r;
   10492      3432148 :             _r = non_lvalue_loc (loc, res_op0);
   10493      3432148 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 999, __FILE__, __LINE__, true);
   10494      3432148 :             return _r;
   10495              :           }
   10496              : next_after_fail1594:;
   10497              :         }
   10498              :     }
   10499              :   }
   10500     27104741 :   switch (TREE_CODE (_p0))
   10501              :     {
   10502       982504 :     case BIT_AND_EXPR:
   10503       982504 :       {
   10504       982504 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10505       982504 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10506       982504 :         switch (TREE_CODE (_q21))
   10507              :           {
   10508         2058 :           case VECTOR_CST:
   10509         2058 :             {
   10510         2058 :               if (integer_zerop (_p1))
   10511              :                 {
   10512         2058 :                   {
   10513         2058 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10514         2058 :                     const enum tree_code cmp = NE_EXPR;
   10515         2058 :                     const enum tree_code icmp = GT_EXPR;
   10516         2058 :                     {
   10517         2058 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10518         2058 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10519              : )
   10520              :                           {
   10521           13 :                             {
   10522           13 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10523           13 :  ? optab_vector : optab_default;
   10524           13 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10525           13 :                                 if (target_supports_op_p (utype, icmp, optab)
   10526           13 :  || (optimize_vectors_before_lowering_p ()
   10527            7 :  && (!target_supports_op_p (type, cmp, optab)
   10528            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10529              : )
   10530              :                                   {
   10531            7 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10532              : )
   10533              :                                       {
   10534            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1595;
   10535            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1595;
   10536            0 :                                         {
   10537            0 :                                           tree res_op0;
   10538            0 :                                           res_op0 = captures[1];
   10539            0 :                                           tree res_op1;
   10540            0 :                                           res_op1 =  csts;
   10541            0 :                                           tree _r;
   10542            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10543            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10544            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10545            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 997, __FILE__, __LINE__, true);
   10546            0 :                                           return _r;
   10547              :                                         }
   10548         2051 : next_after_fail1595:;
   10549              :                                       }
   10550              :                                     else
   10551              :                                       {
   10552            7 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1596;
   10553            7 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1596;
   10554            7 :                                         {
   10555            7 :                                           tree res_op0;
   10556            7 :                                           {
   10557            7 :                                             tree _o1[1], _r1;
   10558            7 :                                             _o1[0] = captures[1];
   10559            7 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10560              :                                               {
   10561            7 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10562              :                                               }
   10563              :                                             else
   10564              :                                               _r1 = _o1[0];
   10565            7 :                                             res_op0 = _r1;
   10566              :                                           }
   10567            7 :                                           tree res_op1;
   10568            7 :                                           res_op1 =  csts;
   10569            7 :                                           tree _r;
   10570            7 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10571            7 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10572            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10573            7 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 998, __FILE__, __LINE__, true);
   10574            7 :                                           return _r;
   10575              :                                         }
   10576         2051 : next_after_fail1596:;
   10577              :                                       }
   10578              :                                   }
   10579              :                             }
   10580              :                           }
   10581              :                     }
   10582              :                   }
   10583              :                 }
   10584              :               break;
   10585              :             }
   10586       783923 :           case INTEGER_CST:
   10587       783923 :             {
   10588       783923 :               if (integer_zerop (_p1))
   10589              :                 {
   10590       750059 :                   {
   10591       750059 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10592       750059 :                     const enum tree_code cmp = NE_EXPR;
   10593       750059 :                     const enum tree_code icmp = GT_EXPR;
   10594       750059 :                     {
   10595       750059 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10596       750059 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10597              : )
   10598              :                           {
   10599         1272 :                             {
   10600         1272 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10601         1272 :  ? optab_vector : optab_default;
   10602         1272 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10603         1272 :                                 if (target_supports_op_p (utype, icmp, optab)
   10604         1272 :  || (optimize_vectors_before_lowering_p ()
   10605         1103 :  && (!target_supports_op_p (type, cmp, optab)
   10606            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10607              : )
   10608              :                                   {
   10609         1103 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10610              : )
   10611              :                                       {
   10612          989 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1597;
   10613          989 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1597;
   10614          989 :                                         {
   10615          989 :                                           tree res_op0;
   10616          989 :                                           res_op0 = captures[1];
   10617          989 :                                           tree res_op1;
   10618          989 :                                           res_op1 =  csts;
   10619          989 :                                           tree _r;
   10620          989 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10621          989 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10622            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10623          989 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 997, __FILE__, __LINE__, true);
   10624          989 :                                           return _r;
   10625              :                                         }
   10626       748956 : next_after_fail1597:;
   10627              :                                       }
   10628              :                                     else
   10629              :                                       {
   10630          114 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1598;
   10631          114 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1598;
   10632          114 :                                         {
   10633          114 :                                           tree res_op0;
   10634          114 :                                           {
   10635          114 :                                             tree _o1[1], _r1;
   10636          114 :                                             _o1[0] = captures[1];
   10637          114 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10638              :                                               {
   10639          114 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10640              :                                               }
   10641              :                                             else
   10642              :                                               _r1 = _o1[0];
   10643          114 :                                             res_op0 = _r1;
   10644              :                                           }
   10645          114 :                                           tree res_op1;
   10646          114 :                                           res_op1 =  csts;
   10647          114 :                                           tree _r;
   10648          114 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10649          114 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10650            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10651          114 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 998, __FILE__, __LINE__, true);
   10652          114 :                                           return _r;
   10653              :                                         }
   10654       748956 : next_after_fail1598:;
   10655              :                                       }
   10656              :                                   }
   10657              :                             }
   10658              :                           }
   10659              :                     }
   10660              :                   }
   10661              :                 }
   10662              :               break;
   10663              :             }
   10664       981394 :           default:;
   10665              :           }
   10666       981394 :         switch (TREE_CODE (_q20))
   10667              :           {
   10668            0 :           case VECTOR_CST:
   10669            0 :             {
   10670            0 :               if (integer_zerop (_p1))
   10671              :                 {
   10672            0 :                   {
   10673            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10674            0 :                     const enum tree_code cmp = NE_EXPR;
   10675            0 :                     const enum tree_code icmp = GT_EXPR;
   10676            0 :                     {
   10677            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10678            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10679              : )
   10680              :                           {
   10681            0 :                             {
   10682            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10683            0 :  ? optab_vector : optab_default;
   10684            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10685            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10686            0 :  || (optimize_vectors_before_lowering_p ()
   10687            0 :  && (!target_supports_op_p (type, cmp, optab)
   10688            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10689              : )
   10690              :                                   {
   10691            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10692              : )
   10693              :                                       {
   10694            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1599;
   10695            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1599;
   10696            0 :                                         {
   10697            0 :                                           tree res_op0;
   10698            0 :                                           res_op0 = captures[1];
   10699            0 :                                           tree res_op1;
   10700            0 :                                           res_op1 =  csts;
   10701            0 :                                           tree _r;
   10702            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10703            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10704            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10705            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 997, __FILE__, __LINE__, true);
   10706            0 :                                           return _r;
   10707              :                                         }
   10708            0 : next_after_fail1599:;
   10709              :                                       }
   10710              :                                     else
   10711              :                                       {
   10712            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1600;
   10713            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1600;
   10714            0 :                                         {
   10715            0 :                                           tree res_op0;
   10716            0 :                                           {
   10717            0 :                                             tree _o1[1], _r1;
   10718            0 :                                             _o1[0] = captures[1];
   10719            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10720              :                                               {
   10721            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10722              :                                               }
   10723              :                                             else
   10724              :                                               _r1 = _o1[0];
   10725            0 :                                             res_op0 = _r1;
   10726              :                                           }
   10727            0 :                                           tree res_op1;
   10728            0 :                                           res_op1 =  csts;
   10729            0 :                                           tree _r;
   10730            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10731            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10732            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10733            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 998, __FILE__, __LINE__, true);
   10734            0 :                                           return _r;
   10735              :                                         }
   10736            0 : next_after_fail1600:;
   10737              :                                       }
   10738              :                                   }
   10739              :                             }
   10740              :                           }
   10741              :                     }
   10742              :                   }
   10743              :                 }
   10744              :               break;
   10745              :             }
   10746            0 :           case INTEGER_CST:
   10747            0 :             {
   10748            0 :               if (integer_zerop (_p1))
   10749              :                 {
   10750            0 :                   {
   10751            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10752            0 :                     const enum tree_code cmp = NE_EXPR;
   10753            0 :                     const enum tree_code icmp = GT_EXPR;
   10754            0 :                     {
   10755            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10756            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10757              : )
   10758              :                           {
   10759            0 :                             {
   10760            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10761            0 :  ? optab_vector : optab_default;
   10762            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10763            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10764            0 :  || (optimize_vectors_before_lowering_p ()
   10765            0 :  && (!target_supports_op_p (type, cmp, optab)
   10766            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10767              : )
   10768              :                                   {
   10769            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10770              : )
   10771              :                                       {
   10772            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1601;
   10773            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1601;
   10774            0 :                                         {
   10775            0 :                                           tree res_op0;
   10776            0 :                                           res_op0 = captures[1];
   10777            0 :                                           tree res_op1;
   10778            0 :                                           res_op1 =  csts;
   10779            0 :                                           tree _r;
   10780            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10781            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10782            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10783            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 997, __FILE__, __LINE__, true);
   10784            0 :                                           return _r;
   10785              :                                         }
   10786            0 : next_after_fail1601:;
   10787              :                                       }
   10788              :                                     else
   10789              :                                       {
   10790            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1602;
   10791            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1602;
   10792            0 :                                         {
   10793            0 :                                           tree res_op0;
   10794            0 :                                           {
   10795            0 :                                             tree _o1[1], _r1;
   10796            0 :                                             _o1[0] = captures[1];
   10797            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10798              :                                               {
   10799            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10800              :                                               }
   10801              :                                             else
   10802              :                                               _r1 = _o1[0];
   10803            0 :                                             res_op0 = _r1;
   10804              :                                           }
   10805            0 :                                           tree res_op1;
   10806            0 :                                           res_op1 =  csts;
   10807            0 :                                           tree _r;
   10808            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10809            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10810            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10811            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 998, __FILE__, __LINE__, true);
   10812            0 :                                           return _r;
   10813              :                                         }
   10814            0 : next_after_fail1602:;
   10815              :                                       }
   10816              :                                   }
   10817              :                             }
   10818              :                           }
   10819              :                     }
   10820              :                   }
   10821              :                 }
   10822              :               break;
   10823              :             }
   10824              :           default:;
   10825              :           }
   10826              :         break;
   10827              :       }
   10828        20897 :     case RSHIFT_EXPR:
   10829        20897 :       {
   10830        20897 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10831        20897 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10832        20897 :         switch (TREE_CODE (_q20))
   10833              :           {
   10834            7 :           case MULT_EXPR:
   10835            7 :             {
   10836            7 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10837            7 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10838            7 :               switch (TREE_CODE (_q30))
   10839              :                 {
   10840            7 :                 CASE_CONVERT:
   10841            7 :                   {
   10842            7 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10843            7 :                     switch (TREE_CODE (_q31))
   10844              :                       {
   10845            7 :                       CASE_CONVERT:
   10846            7 :                         {
   10847            7 :                           tree _q60 = TREE_OPERAND (_q31, 0);
   10848            7 :                           switch (TREE_CODE (_q21))
   10849              :                             {
   10850            7 :                             case INTEGER_CST:
   10851            7 :                               {
   10852            7 :                                 if (integer_zerop (_p1))
   10853              :                                   {
   10854            7 :                                     {
   10855            7 :                                       tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
   10856            7 :                                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, GT_EXPR);
   10857            7 :                                       if (res) return res;
   10858              :                                     }
   10859              :                                   }
   10860              :                                 break;
   10861              :                               }
   10862              :                             default:;
   10863              :                             }
   10864              :                           break;
   10865              :                         }
   10866              :                       default:;
   10867              :                       }
   10868              :                     break;
   10869              :                   }
   10870              :                 default:;
   10871              :                 }
   10872              :               break;
   10873              :             }
   10874              :           default:;
   10875              :           }
   10876              :         break;
   10877              :       }
   10878      1340533 :     case PLUS_EXPR:
   10879      1340533 :       {
   10880      1340533 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10881      1340533 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10882      1340533 :         switch (TREE_CODE (_q21))
   10883              :           {
   10884      1214918 :           case INTEGER_CST:
   10885      1214918 :             {
   10886      1214918 :               switch (TREE_CODE (_p1))
   10887              :                 {
   10888       719817 :                 case INTEGER_CST:
   10889       719817 :                   {
   10890       719817 :                     {
   10891       719817 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10892       719817 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, NE_EXPR);
   10893       719817 :                       if (res) return res;
   10894              :                     }
   10895          361 :                     break;
   10896              :                   }
   10897              :                 default:;
   10898              :                 }
   10899              :               break;
   10900              :             }
   10901              :           default:;
   10902              :           }
   10903              :         break;
   10904              :       }
   10905        68392 :     case MINUS_EXPR:
   10906        68392 :       {
   10907        68392 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10908        68392 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10909        68392 :         switch (TREE_CODE (_q21))
   10910              :           {
   10911          193 :           case INTEGER_CST:
   10912          193 :             {
   10913          193 :               switch (TREE_CODE (_p1))
   10914              :                 {
   10915           72 :                 case INTEGER_CST:
   10916           72 :                   {
   10917           72 :                     {
   10918           72 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10919           72 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, NE_EXPR);
   10920           72 :                       if (res) return res;
   10921              :                     }
   10922           72 :                     break;
   10923              :                   }
   10924              :                 default:;
   10925              :                 }
   10926              :               break;
   10927              :             }
   10928        68392 :           default:;
   10929              :           }
   10930        68392 :         switch (TREE_CODE (_q20))
   10931              :           {
   10932         1867 :           case INTEGER_CST:
   10933         1867 :             {
   10934         1867 :               switch (TREE_CODE (_p1))
   10935              :                 {
   10936           61 :                 case INTEGER_CST:
   10937           61 :                   {
   10938           61 :                     {
   10939           61 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10940           61 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   10941           61 :                       if (res) return res;
   10942              :                     }
   10943            0 :                     break;
   10944              :                   }
   10945              :                 default:;
   10946              :                 }
   10947              :               break;
   10948              :             }
   10949              :           default:;
   10950              :           }
   10951              :         break;
   10952              :       }
   10953      2452469 :     case CALL_EXPR:
   10954      2452469 :       switch (get_call_combined_fn (_p0))
   10955              :         {
   10956          224 :         case CFN_BUILT_IN_CLZ:
   10957          224 :           if (call_expr_nargs (_p0) == 1)
   10958              :     {
   10959          224 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10960          224 :               switch (TREE_CODE (_p1))
   10961              :                 {
   10962          210 :                 case INTEGER_CST:
   10963          210 :                   {
   10964          210 :                     {
   10965          210 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10966          210 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZ);
   10967          210 :                       if (res) return res;
   10968              :                     }
   10969          135 :                     break;
   10970              :                   }
   10971              :                 default:;
   10972              :                 }
   10973              :             }
   10974              :           break;
   10975          246 :         case CFN_BUILT_IN_CTZ:
   10976          246 :           if (call_expr_nargs (_p0) == 1)
   10977              :     {
   10978          246 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10979          246 :               switch (TREE_CODE (_p1))
   10980              :                 {
   10981          200 :                 case INTEGER_CST:
   10982          200 :                   {
   10983          200 :                     {
   10984          200 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10985          200 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZ);
   10986          200 :                       if (res) return res;
   10987              :                     }
   10988            0 :                     break;
   10989              :                   }
   10990              :                 default:;
   10991              :                 }
   10992              :             }
   10993              :           break;
   10994           31 :         case CFN_BUILT_IN_FFS:
   10995           31 :           if (call_expr_nargs (_p0) == 1)
   10996              :     {
   10997           31 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10998           31 :               switch (TREE_CODE (_p1))
   10999              :                 {
   11000           11 :                 case INTEGER_CST:
   11001           11 :                   {
   11002           11 :                     {
   11003           11 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11004           11 :                       tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFS);
   11005           11 :                       if (res) return res;
   11006              :                     }
   11007            0 :                     break;
   11008              :                   }
   11009              :                 default:;
   11010              :                 }
   11011              :             }
   11012              :           break;
   11013            0 :         case CFN_REDUC_IOR:
   11014            0 :           if (call_expr_nargs (_p0) == 1)
   11015              :     {
   11016            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11017            0 :               if (integer_zerop (_p1))
   11018              :                 {
   11019            0 :                   {
   11020            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11021            0 :                     tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, NE_EXPR);
   11022            0 :                     if (res) return res;
   11023              :                   }
   11024              :                 }
   11025              :             }
   11026              :           break;
   11027            0 :         case CFN_BUILT_IN_FFSIMAX:
   11028            0 :           if (call_expr_nargs (_p0) == 1)
   11029              :     {
   11030            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11031            0 :               switch (TREE_CODE (_p1))
   11032              :                 {
   11033            0 :                 case INTEGER_CST:
   11034            0 :                   {
   11035            0 :                     {
   11036            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11037            0 :                       tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSIMAX);
   11038            0 :                       if (res) return res;
   11039              :                     }
   11040            0 :                     break;
   11041              :                   }
   11042              :                 default:;
   11043              :                 }
   11044              :             }
   11045              :           break;
   11046           13 :         case CFN_BUILT_IN_POPCOUNT:
   11047           13 :           if (call_expr_nargs (_p0) == 1)
   11048              :     {
   11049           13 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11050           13 :               if (integer_zerop (_p1))
   11051              :                 {
   11052            1 :                   {
   11053            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11054            1 :                     tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT);
   11055            1 :                     if (res) return res;
   11056              :                   }
   11057              :                 }
   11058              :             }
   11059              :           break;
   11060           87 :         case CFN_BUILT_IN_CLZL:
   11061           87 :           if (call_expr_nargs (_p0) == 1)
   11062              :     {
   11063           87 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11064           87 :               switch (TREE_CODE (_p1))
   11065              :                 {
   11066           79 :                 case INTEGER_CST:
   11067           79 :                   {
   11068           79 :                     {
   11069           79 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11070           79 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZL);
   11071           79 :                       if (res) return res;
   11072              :                     }
   11073           43 :                     break;
   11074              :                   }
   11075              :                 default:;
   11076              :                 }
   11077              :             }
   11078              :           break;
   11079           85 :         case CFN_BUILT_IN_CTZL:
   11080           85 :           if (call_expr_nargs (_p0) == 1)
   11081              :     {
   11082           85 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11083           85 :               switch (TREE_CODE (_p1))
   11084              :                 {
   11085           77 :                 case INTEGER_CST:
   11086           77 :                   {
   11087           77 :                     {
   11088           77 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11089           77 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZL);
   11090           77 :                       if (res) return res;
   11091              :                     }
   11092           16 :                     break;
   11093              :                   }
   11094              :                 default:;
   11095              :                 }
   11096              :             }
   11097              :           break;
   11098            8 :         case CFN_BUILT_IN_FFSL:
   11099            8 :           if (call_expr_nargs (_p0) == 1)
   11100              :     {
   11101            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11102            8 :               switch (TREE_CODE (_p1))
   11103              :                 {
   11104            0 :                 case INTEGER_CST:
   11105            0 :                   {
   11106            0 :                     {
   11107            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11108            0 :                       tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSL);
   11109            0 :                       if (res) return res;
   11110              :                     }
   11111            0 :                     break;
   11112              :                   }
   11113              :                 default:;
   11114              :                 }
   11115              :             }
   11116              :           break;
   11117           11 :         case CFN_BUILT_IN_POPCOUNTLL:
   11118           11 :           if (call_expr_nargs (_p0) == 1)
   11119              :     {
   11120           11 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11121           11 :               if (integer_zerop (_p1))
   11122              :                 {
   11123            1 :                   {
   11124            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11125            1 :                     tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   11126            1 :                     if (res) return res;
   11127              :                   }
   11128              :                 }
   11129              :             }
   11130              :           break;
   11131            0 :         case CFN_BUILT_IN_CTZIMAX:
   11132            0 :           if (call_expr_nargs (_p0) == 1)
   11133              :     {
   11134            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11135            0 :               switch (TREE_CODE (_p1))
   11136              :                 {
   11137            0 :                 case INTEGER_CST:
   11138            0 :                   {
   11139            0 :                     {
   11140            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11141            0 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
   11142            0 :                       if (res) return res;
   11143              :                     }
   11144            0 :                     break;
   11145              :                   }
   11146              :                 default:;
   11147              :                 }
   11148              :             }
   11149              :           break;
   11150            0 :         case CFN_POPCOUNT:
   11151            0 :           if (call_expr_nargs (_p0) == 1)
   11152              :     {
   11153            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11154            0 :               if (integer_zerop (_p1))
   11155              :                 {
   11156            0 :                   {
   11157            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11158            0 :                     tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_POPCOUNT);
   11159            0 :                     if (res) return res;
   11160              :                   }
   11161              :                 }
   11162              :             }
   11163              :           break;
   11164            0 :         case CFN_CLZ:
   11165            0 :           if (call_expr_nargs (_p0) == 1)
   11166              :     {
   11167            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11168            0 :               switch (TREE_CODE (_p1))
   11169              :                 {
   11170            0 :                 case INTEGER_CST:
   11171            0 :                   {
   11172            0 :                     {
   11173            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11174            0 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_CLZ);
   11175            0 :                       if (res) return res;
   11176              :                     }
   11177            0 :                     break;
   11178              :                   }
   11179              :                 default:;
   11180              :                 }
   11181              :             }
   11182            0 :           if (call_expr_nargs (_p0) == 2)
   11183              :     {
   11184            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11185            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11186            0 :               switch (TREE_CODE (_p1))
   11187              :                 {
   11188            0 :                 case INTEGER_CST:
   11189            0 :                   {
   11190            0 :                     {
   11191            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   11192            0 :                       tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
   11193            0 :                       if (res) return res;
   11194              :                     }
   11195            0 :                     break;
   11196              :                   }
   11197              :                 default:;
   11198              :                 }
   11199              :             }
   11200              :           break;
   11201            0 :         case CFN_CTZ:
   11202            0 :           if (call_expr_nargs (_p0) == 1)
   11203              :     {
   11204            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11205            0 :               switch (TREE_CODE (_p1))
   11206              :                 {
   11207            0 :                 case INTEGER_CST:
   11208            0 :                   {
   11209            0 :                     {
   11210            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11211            0 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_CTZ);
   11212            0 :                       if (res) return res;
   11213              :                     }
   11214            0 :                     break;
   11215              :                   }
   11216              :                 default:;
   11217              :                 }
   11218              :             }
   11219            0 :           if (call_expr_nargs (_p0) == 2)
   11220              :     {
   11221            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11222            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11223            0 :               switch (TREE_CODE (_p1))
   11224              :                 {
   11225            0 :                 case INTEGER_CST:
   11226            0 :                   {
   11227            0 :                     {
   11228            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   11229            0 :                       tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, NE_EXPR);
   11230            0 :                       if (res) return res;
   11231              :                     }
   11232            0 :                     break;
   11233              :                   }
   11234              :                 default:;
   11235              :                 }
   11236              :             }
   11237              :           break;
   11238            0 :         case CFN_FFS:
   11239            0 :           if (call_expr_nargs (_p0) == 1)
   11240              :     {
   11241            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11242            0 :               switch (TREE_CODE (_p1))
   11243              :                 {
   11244            0 :                 case INTEGER_CST:
   11245            0 :                   {
   11246            0 :                     {
   11247            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11248            0 :                       tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_FFS);
   11249            0 :                       if (res) return res;
   11250              :                     }
   11251            0 :                     break;
   11252              :                   }
   11253              :                 default:;
   11254              :                 }
   11255              :             }
   11256              :           break;
   11257            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   11258            0 :           if (call_expr_nargs (_p0) == 1)
   11259              :     {
   11260            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11261            0 :               if (integer_zerop (_p1))
   11262              :                 {
   11263            0 :                   {
   11264            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11265            0 :                     tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   11266            0 :                     if (res) return res;
   11267              :                   }
   11268              :                 }
   11269              :             }
   11270              :           break;
   11271            0 :         case CFN_BUILT_IN_CLZIMAX:
   11272            0 :           if (call_expr_nargs (_p0) == 1)
   11273              :     {
   11274            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11275            0 :               switch (TREE_CODE (_p1))
   11276              :                 {
   11277            0 :                 case INTEGER_CST:
   11278            0 :                   {
   11279            0 :                     {
   11280            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11281            0 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZIMAX);
   11282            0 :                       if (res) return res;
   11283              :                     }
   11284            0 :                     break;
   11285              :                   }
   11286              :                 default:;
   11287              :                 }
   11288              :             }
   11289              :           break;
   11290           12 :         case CFN_BUILT_IN_POPCOUNTL:
   11291           12 :           if (call_expr_nargs (_p0) == 1)
   11292              :     {
   11293           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11294           12 :               if (integer_zerop (_p1))
   11295              :                 {
   11296            1 :                   {
   11297            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11298            1 :                     tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL);
   11299            1 :                     if (res) return res;
   11300              :                   }
   11301              :                 }
   11302              :             }
   11303              :           break;
   11304           52 :         case CFN_BUILT_IN_CLZLL:
   11305           52 :           if (call_expr_nargs (_p0) == 1)
   11306              :     {
   11307           52 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11308           52 :               switch (TREE_CODE (_p1))
   11309              :                 {
   11310           42 :                 case INTEGER_CST:
   11311           42 :                   {
   11312           42 :                     {
   11313           42 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11314           42 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZLL);
   11315           42 :                       if (res) return res;
   11316              :                     }
   11317           18 :                     break;
   11318              :                   }
   11319              :                 default:;
   11320              :                 }
   11321              :             }
   11322              :           break;
   11323           74 :         case CFN_BUILT_IN_CTZLL:
   11324           74 :           if (call_expr_nargs (_p0) == 1)
   11325              :     {
   11326           74 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11327           74 :               switch (TREE_CODE (_p1))
   11328              :                 {
   11329           64 :                 case INTEGER_CST:
   11330           64 :                   {
   11331           64 :                     {
   11332           64 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11333           64 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZLL);
   11334           64 :                       if (res) return res;
   11335              :                     }
   11336           16 :                     break;
   11337              :                   }
   11338              :                 default:;
   11339              :                 }
   11340              :             }
   11341              :           break;
   11342           11 :         case CFN_BUILT_IN_FFSLL:
   11343           11 :           if (call_expr_nargs (_p0) == 1)
   11344              :     {
   11345           11 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11346           11 :               switch (TREE_CODE (_p1))
   11347              :                 {
   11348            1 :                 case INTEGER_CST:
   11349            1 :                   {
   11350            1 :                     {
   11351            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11352            1 :                       tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSLL);
   11353            1 :                       if (res) return res;
   11354              :                     }
   11355            0 :                     break;
   11356              :                   }
   11357              :                 default:;
   11358              :                 }
   11359              :             }
   11360              :           break;
   11361              :         default:;
   11362              :         }
   11363              :       break;
   11364              :     default:;
   11365              :     }
   11366              :   return NULL_TREE;
   11367              : }
   11368              : 
   11369              : tree
   11370      1554077 : generic_simplify_UNGT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11371              : {
   11372      1554077 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11373      1554077 :   switch (TREE_CODE (_p0))
   11374              :     {
   11375            0 :     case VEC_COND_EXPR:
   11376            0 :       {
   11377            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11378            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11379            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11380            0 :         switch (TREE_CODE (_p1))
   11381              :           {
   11382            0 :           case VEC_COND_EXPR:
   11383            0 :             {
   11384            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11385            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11386            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11387            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11388              :                 {
   11389            0 :                   {
   11390            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11391            0 :                     if (VECTOR_TYPE_P (type)
   11392            0 :  && (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
   11393            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11394            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11395              :  || (optimize_vectors_before_lowering_p ()
   11396            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11397              : )
   11398              :                       {
   11399            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1830;
   11400            0 :                         {
   11401            0 :                           tree res_op0;
   11402            0 :                           res_op0 = captures[1];
   11403            0 :                           tree res_op1;
   11404            0 :                           {
   11405            0 :                             tree _o1[2], _r1;
   11406            0 :                             _o1[0] = captures[2];
   11407            0 :                             _o1[1] = captures[5];
   11408            0 :                             _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11409            0 :                             if (EXPR_P (_r1))
   11410            0 :                               goto next_after_fail1830;
   11411            0 :                             res_op1 = _r1;
   11412              :                           }
   11413            0 :                           tree res_op2;
   11414            0 :                           {
   11415            0 :                             tree _o1[2], _r1;
   11416            0 :                             _o1[0] = captures[3];
   11417            0 :                             _o1[1] = captures[6];
   11418            0 :                             _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11419            0 :                             if (EXPR_P (_r1))
   11420            0 :                               goto next_after_fail1830;
   11421            0 :                             res_op2 = _r1;
   11422              :                           }
   11423            0 :                           tree _r;
   11424            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11425            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
   11426            0 :                           return _r;
   11427              :                         }
   11428            0 : next_after_fail1830:;
   11429              :                       }
   11430              :                   }
   11431              :                 }
   11432              :               break;
   11433              :             }
   11434            0 :           default:;
   11435              :           }
   11436            0 :         {
   11437            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11438            0 :           if (VECTOR_TYPE_P (type)
   11439            0 :  && (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
   11440            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11441            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11442              :  || (optimize_vectors_before_lowering_p ()
   11443            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11444              : )
   11445              :             {
   11446            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1831;
   11447            0 :               {
   11448            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1831;
   11449            0 :                 tree res_op0;
   11450            0 :                 res_op0 = captures[1];
   11451            0 :                 tree res_op1;
   11452            0 :                 {
   11453            0 :                   tree _o1[2], _r1;
   11454            0 :                   _o1[0] = captures[2];
   11455            0 :                   _o1[1] = unshare_expr (captures[4]);
   11456            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11457            0 :                   if (EXPR_P (_r1))
   11458            0 :                     goto next_after_fail1831;
   11459            0 :                   res_op1 = _r1;
   11460              :                 }
   11461            0 :                 tree res_op2;
   11462            0 :                 {
   11463            0 :                   tree _o1[2], _r1;
   11464            0 :                   _o1[0] = captures[3];
   11465            0 :                   _o1[1] = captures[4];
   11466            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11467            0 :                   if (EXPR_P (_r1))
   11468            0 :                     goto next_after_fail1831;
   11469            0 :                   res_op2 = _r1;
   11470              :                 }
   11471            0 :                 tree _r;
   11472            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11473            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
   11474            0 :                 return _r;
   11475              :               }
   11476            0 : next_after_fail1831:;
   11477              :             }
   11478              :         }
   11479            0 :         break;
   11480              :       }
   11481      1554077 :     default:;
   11482              :     }
   11483      1554077 :   switch (TREE_CODE (_p1))
   11484              :     {
   11485            0 :     case VEC_COND_EXPR:
   11486            0 :       {
   11487            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11488            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11489            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11490            0 :         {
   11491            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11492            0 :           if (VECTOR_TYPE_P (type)
   11493            0 :  && (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
   11494            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11495            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11496              :  || (optimize_vectors_before_lowering_p ()
   11497            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11498              : )
   11499              :             {
   11500            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1832;
   11501            0 :               {
   11502            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1832;
   11503            0 :                 tree res_op0;
   11504            0 :                 res_op0 = captures[2];
   11505            0 :                 tree res_op1;
   11506            0 :                 {
   11507            0 :                   tree _o1[2], _r1;
   11508            0 :                   _o1[0] = unshare_expr (captures[0]);
   11509            0 :                   _o1[1] = captures[3];
   11510            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11511            0 :                   if (EXPR_P (_r1))
   11512            0 :                     goto next_after_fail1832;
   11513            0 :                   res_op1 = _r1;
   11514              :                 }
   11515            0 :                 tree res_op2;
   11516            0 :                 {
   11517            0 :                   tree _o1[2], _r1;
   11518            0 :                   _o1[0] = captures[0];
   11519            0 :                   _o1[1] = captures[4];
   11520            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11521            0 :                   if (EXPR_P (_r1))
   11522            0 :                     goto next_after_fail1832;
   11523            0 :                   res_op2 = _r1;
   11524              :                 }
   11525            0 :                 tree _r;
   11526            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11527            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
   11528            0 :                 return _r;
   11529              :               }
   11530            0 : next_after_fail1832:;
   11531              :             }
   11532              :         }
   11533            0 :         break;
   11534              :       }
   11535      1554077 :     default:;
   11536              :     }
   11537      1554077 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11538              :     {
   11539            0 :       {
   11540            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11541            0 :         tree res = generic_simplify_573 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   11542            0 :         if (res) return res;
   11543              :       }
   11544              :     }
   11545      1554077 :   switch (TREE_CODE (_p0))
   11546              :     {
   11547          339 :     case FLOAT_EXPR:
   11548          339 :       {
   11549          339 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11550          339 :         switch (TREE_CODE (_p1))
   11551              :           {
   11552            0 :           case FLOAT_EXPR:
   11553            0 :             {
   11554            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11555            0 :               {
   11556            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11557            0 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, UNGT_EXPR, GT_EXPR);
   11558            0 :                 if (res) return res;
   11559              :               }
   11560            0 :               break;
   11561              :             }
   11562              :           default:;
   11563              :           }
   11564              :         break;
   11565              :       }
   11566            0 :     case NEGATE_EXPR:
   11567            0 :       {
   11568            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11569            0 :         switch (TREE_CODE (_p1))
   11570              :           {
   11571            0 :           case NEGATE_EXPR:
   11572            0 :             {
   11573            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11574            0 :               {
   11575            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11576            0 :                 tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, UNGT_EXPR, UNLT_EXPR);
   11577            0 :                 if (res) return res;
   11578              :               }
   11579            0 :               break;
   11580              :             }
   11581            0 :           default:;
   11582              :           }
   11583            0 :       if (CONSTANT_CLASS_P (_p1))
   11584              :         {
   11585            0 :           {
   11586            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11587            0 :             tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, UNGT_EXPR, UNLT_EXPR);
   11588            0 :             if (res) return res;
   11589              :           }
   11590              :         }
   11591              :         break;
   11592              :       }
   11593      1554077 :     default:;
   11594              :     }
   11595      1554077 :   switch (TREE_CODE (_p1))
   11596              :     {
   11597      1179853 :     case REAL_CST:
   11598      1179853 :       {
   11599      1179853 :         {
   11600      1179853 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11601      1179853 :           tree res = generic_simplify_572 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   11602      1179853 :           if (res) return res;
   11603              :         }
   11604      1179851 :         break;
   11605              :       }
   11606              :     default:;
   11607              :     }
   11608              :   return NULL_TREE;
   11609              : }
   11610              : 
   11611              : tree
   11612     12982605 : generic_simplify_COND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
   11613              : {
   11614     12982605 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11615     12982605 :   switch (TREE_CODE (_p0))
   11616              :     {
   11617      1810192 :     case LT_EXPR:
   11618      1810192 :       {
   11619      1810192 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11620      1810192 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11621      1810192 :         switch (TREE_CODE (_q20))
   11622              :           {
   11623        11327 :           case MINUS_EXPR:
   11624        11327 :             {
   11625        11327 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11626        11327 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11627        11327 :               switch (TREE_CODE (_q30))
   11628              :                 {
   11629          594 :                 case SSA_NAME:
   11630          594 :                   {
   11631          594 :                     switch (TREE_CODE (_q31))
   11632              :                       {
   11633            0 :                       case CALL_EXPR:
   11634            0 :                         switch (get_call_combined_fn (_q31))
   11635              :                           {
   11636            0 :                           case CFN_BUILT_IN_FLOORF:
   11637            0 :                             if (call_expr_nargs (_q31) == 1)
   11638              :     {
   11639            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11640            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11641              :                                   {
   11642            0 :                                     switch (TREE_CODE (_q50))
   11643              :                                       {
   11644            0 :                                       case SSA_NAME:
   11645            0 :                                         {
   11646            0 :                                           switch (TREE_CODE (_q21))
   11647              :                                             {
   11648            0 :                                             case MINUS_EXPR:
   11649            0 :                                               {
   11650            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11651            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11652            0 :                                                 switch (TREE_CODE (_q80))
   11653              :                                                   {
   11654            0 :                                                   case CALL_EXPR:
   11655            0 :                                                     switch (get_call_combined_fn (_q80))
   11656              :                                                       {
   11657            0 :                                                       case CFN_BUILT_IN_CEILF:
   11658            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11659              :     {
   11660            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11661            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11662              :                                                               {
   11663            0 :                                                                 switch (TREE_CODE (_q90))
   11664              :                                                                   {
   11665            0 :                                                                   case SSA_NAME:
   11666            0 :                                                                     {
   11667            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11668              :                                                                         {
   11669            0 :                                                                           switch (TREE_CODE (_q81))
   11670              :                                                                             {
   11671            0 :                                                                             case SSA_NAME:
   11672            0 :                                                                               {
   11673            0 :                                                                                 switch (TREE_CODE (_p1))
   11674              :                                                                                   {
   11675            0 :                                                                                   case CALL_EXPR:
   11676            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11677              :                                                                                       {
   11678            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   11679            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11680              :     {
   11681            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11682            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11683              :                                                                                               {
   11684            0 :                                                                                                 switch (TREE_CODE (_q140))
   11685              :                                                                                                   {
   11686            0 :                                                                                                   case SSA_NAME:
   11687            0 :                                                                                                     {
   11688            0 :                                                                                                       switch (TREE_CODE (_p2))
   11689              :                                                                                                         {
   11690            0 :                                                                                                         case CALL_EXPR:
   11691            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11692              :                                                                                                             {
   11693            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   11694            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11695              :     {
   11696            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11697            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11698              :                                                                                                                     {
   11699            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11700              :                                                                                                                         {
   11701            0 :                                                                                                                         case SSA_NAME:
   11702            0 :                                                                                                                           {
   11703            0 :                                                                                                                             {
   11704            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11705            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   11706            0 :                                                                                                                               if (res) return res;
   11707              :                                                                                                                             }
   11708            0 :                                                                                                                             break;
   11709              :                                                                                                                           }
   11710              :                                                                                                                         default:;
   11711              :                                                                                                                         }
   11712              :                                                                                                                     }
   11713              :                                                                                                                 }
   11714              :                                                                                                               break;
   11715              :                                                                                                             default:;
   11716              :                                                                                                             }
   11717              :                                                                                                           break;
   11718              :                                                                                                         default:;
   11719              :                                                                                                         }
   11720              :                                                                                                       break;
   11721              :                                                                                                     }
   11722              :                                                                                                   default:;
   11723              :                                                                                                   }
   11724              :                                                                                               }
   11725              :                                                                                           }
   11726              :                                                                                         break;
   11727              :                                                                                       default:;
   11728              :                                                                                       }
   11729              :                                                                                     break;
   11730              :                                                                                   default:;
   11731              :                                                                                   }
   11732              :                                                                                 break;
   11733              :                                                                               }
   11734              :                                                                             default:;
   11735              :                                                                             }
   11736              :                                                                         }
   11737              :                                                                       break;
   11738              :                                                                     }
   11739              :                                                                   default:;
   11740              :                                                                   }
   11741              :                                                               }
   11742              :                                                           }
   11743              :                                                         break;
   11744              :                                                       default:;
   11745              :                                                       }
   11746              :                                                     break;
   11747              :                                                   default:;
   11748              :                                                   }
   11749              :                                                 break;
   11750              :                                               }
   11751              :                                             default:;
   11752              :                                             }
   11753              :                                           break;
   11754              :                                         }
   11755              :                                       default:;
   11756              :                                       }
   11757              :                                   }
   11758              :                               }
   11759              :                             break;
   11760            0 :                           case CFN_BUILT_IN_FLOORL:
   11761            0 :                             if (call_expr_nargs (_q31) == 1)
   11762              :     {
   11763            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11764            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11765              :                                   {
   11766            0 :                                     switch (TREE_CODE (_q50))
   11767              :                                       {
   11768            0 :                                       case SSA_NAME:
   11769            0 :                                         {
   11770            0 :                                           switch (TREE_CODE (_q21))
   11771              :                                             {
   11772            0 :                                             case MINUS_EXPR:
   11773            0 :                                               {
   11774            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11775            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11776            0 :                                                 switch (TREE_CODE (_q80))
   11777              :                                                   {
   11778            0 :                                                   case CALL_EXPR:
   11779            0 :                                                     switch (get_call_combined_fn (_q80))
   11780              :                                                       {
   11781            0 :                                                       case CFN_BUILT_IN_CEILL:
   11782            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11783              :     {
   11784            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11785            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11786              :                                                               {
   11787            0 :                                                                 switch (TREE_CODE (_q90))
   11788              :                                                                   {
   11789            0 :                                                                   case SSA_NAME:
   11790            0 :                                                                     {
   11791            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11792              :                                                                         {
   11793            0 :                                                                           switch (TREE_CODE (_q81))
   11794              :                                                                             {
   11795            0 :                                                                             case SSA_NAME:
   11796            0 :                                                                               {
   11797            0 :                                                                                 switch (TREE_CODE (_p1))
   11798              :                                                                                   {
   11799            0 :                                                                                   case CALL_EXPR:
   11800            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11801              :                                                                                       {
   11802            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   11803            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11804              :     {
   11805            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11806            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11807              :                                                                                               {
   11808            0 :                                                                                                 switch (TREE_CODE (_q140))
   11809              :                                                                                                   {
   11810            0 :                                                                                                   case SSA_NAME:
   11811            0 :                                                                                                     {
   11812            0 :                                                                                                       switch (TREE_CODE (_p2))
   11813              :                                                                                                         {
   11814            0 :                                                                                                         case CALL_EXPR:
   11815            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11816              :                                                                                                             {
   11817            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   11818            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11819              :     {
   11820            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11821            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11822              :                                                                                                                     {
   11823            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11824              :                                                                                                                         {
   11825            0 :                                                                                                                         case SSA_NAME:
   11826            0 :                                                                                                                           {
   11827            0 :                                                                                                                             {
   11828            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11829            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   11830            0 :                                                                                                                               if (res) return res;
   11831              :                                                                                                                             }
   11832            0 :                                                                                                                             break;
   11833              :                                                                                                                           }
   11834              :                                                                                                                         default:;
   11835              :                                                                                                                         }
   11836              :                                                                                                                     }
   11837              :                                                                                                                 }
   11838              :                                                                                                               break;
   11839              :                                                                                                             default:;
   11840              :                                                                                                             }
   11841              :                                                                                                           break;
   11842              :                                                                                                         default:;
   11843              :                                                                                                         }
   11844              :                                                                                                       break;
   11845              :                                                                                                     }
   11846              :                                                                                                   default:;
   11847              :                                                                                                   }
   11848              :                                                                                               }
   11849              :                                                                                           }
   11850              :                                                                                         break;
   11851              :                                                                                       default:;
   11852              :                                                                                       }
   11853              :                                                                                     break;
   11854              :                                                                                   default:;
   11855              :                                                                                   }
   11856              :                                                                                 break;
   11857              :                                                                               }
   11858              :                                                                             default:;
   11859              :                                                                             }
   11860              :                                                                         }
   11861              :                                                                       break;
   11862              :                                                                     }
   11863              :                                                                   default:;
   11864              :                                                                   }
   11865              :                                                               }
   11866              :                                                           }
   11867              :                                                         break;
   11868              :                                                       default:;
   11869              :                                                       }
   11870              :                                                     break;
   11871              :                                                   default:;
   11872              :                                                   }
   11873              :                                                 break;
   11874              :                                               }
   11875              :                                             default:;
   11876              :                                             }
   11877              :                                           break;
   11878              :                                         }
   11879              :                                       default:;
   11880              :                                       }
   11881              :                                   }
   11882              :                               }
   11883              :                             break;
   11884            0 :                           case CFN_FLOOR:
   11885            0 :                             if (call_expr_nargs (_q31) == 1)
   11886              :     {
   11887            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   11888            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   11889              :                                   {
   11890            0 :                                     switch (TREE_CODE (_q50))
   11891              :                                       {
   11892            0 :                                       case SSA_NAME:
   11893            0 :                                         {
   11894            0 :                                           switch (TREE_CODE (_q21))
   11895              :                                             {
   11896            0 :                                             case MINUS_EXPR:
   11897            0 :                                               {
   11898            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   11899            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   11900            0 :                                                 switch (TREE_CODE (_q80))
   11901              :                                                   {
   11902            0 :                                                   case CALL_EXPR:
   11903            0 :                                                     switch (get_call_combined_fn (_q80))
   11904              :                                                       {
   11905            0 :                                                       case CFN_CEIL:
   11906            0 :                                                         if (call_expr_nargs (_q80) == 1)
   11907              :     {
   11908            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   11909            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   11910              :                                                               {
   11911            0 :                                                                 switch (TREE_CODE (_q90))
   11912              :                                                                   {
   11913            0 :                                                                   case SSA_NAME:
   11914            0 :                                                                     {
   11915            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11916              :                                                                         {
   11917            0 :                                                                           switch (TREE_CODE (_q81))
   11918              :                                                                             {
   11919            0 :                                                                             case SSA_NAME:
   11920            0 :                                                                               {
   11921            0 :                                                                                 switch (TREE_CODE (_p1))
   11922              :                                                                                   {
   11923            0 :                                                                                   case CALL_EXPR:
   11924            0 :                                                                                     switch (get_call_combined_fn (_p1))
   11925              :                                                                                       {
   11926            0 :                                                                                       case CFN_FLOOR:
   11927            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   11928              :     {
   11929            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   11930            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   11931              :                                                                                               {
   11932            0 :                                                                                                 switch (TREE_CODE (_q140))
   11933              :                                                                                                   {
   11934            0 :                                                                                                   case SSA_NAME:
   11935            0 :                                                                                                     {
   11936            0 :                                                                                                       switch (TREE_CODE (_p2))
   11937              :                                                                                                         {
   11938            0 :                                                                                                         case CALL_EXPR:
   11939            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   11940              :                                                                                                             {
   11941            0 :                                                                                                             case CFN_CEIL:
   11942            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   11943              :     {
   11944            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   11945            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   11946              :                                                                                                                     {
   11947            0 :                                                                                                                       switch (TREE_CODE (_q170))
   11948              :                                                                                                                         {
   11949            0 :                                                                                                                         case SSA_NAME:
   11950            0 :                                                                                                                           {
   11951            0 :                                                                                                                             {
   11952            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   11953            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   11954            0 :                                                                                                                               if (res) return res;
   11955              :                                                                                                                             }
   11956            0 :                                                                                                                             break;
   11957              :                                                                                                                           }
   11958              :                                                                                                                         default:;
   11959              :                                                                                                                         }
   11960              :                                                                                                                     }
   11961              :                                                                                                                 }
   11962              :                                                                                                               break;
   11963              :                                                                                                             default:;
   11964              :                                                                                                             }
   11965              :                                                                                                           break;
   11966              :                                                                                                         default:;
   11967              :                                                                                                         }
   11968              :                                                                                                       break;
   11969              :                                                                                                     }
   11970              :                                                                                                   default:;
   11971              :                                                                                                   }
   11972              :                                                                                               }
   11973              :                                                                                           }
   11974              :                                                                                         break;
   11975              :                                                                                       default:;
   11976              :                                                                                       }
   11977              :                                                                                     break;
   11978              :                                                                                   default:;
   11979              :                                                                                   }
   11980              :                                                                                 break;
   11981              :                                                                               }
   11982              :                                                                             default:;
   11983              :                                                                             }
   11984              :                                                                         }
   11985              :                                                                       break;
   11986              :                                                                     }
   11987              :                                                                   default:;
   11988              :                                                                   }
   11989              :                                                               }
   11990              :                                                           }
   11991              :                                                         break;
   11992              :                                                       default:;
   11993              :                                                       }
   11994              :                                                     break;
   11995              :                                                   default:;
   11996              :                                                   }
   11997              :                                                 break;
   11998              :                                               }
   11999              :                                             default:;
   12000              :                                             }
   12001              :                                           break;
   12002              :                                         }
   12003              :                                       default:;
   12004              :                                       }
   12005              :                                   }
   12006              :                               }
   12007              :                             break;
   12008            0 :                           case CFN_BUILT_IN_FLOOR:
   12009            0 :                             if (call_expr_nargs (_q31) == 1)
   12010              :     {
   12011            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12012            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12013              :                                   {
   12014            0 :                                     switch (TREE_CODE (_q50))
   12015              :                                       {
   12016            0 :                                       case SSA_NAME:
   12017            0 :                                         {
   12018            0 :                                           switch (TREE_CODE (_q21))
   12019              :                                             {
   12020            0 :                                             case MINUS_EXPR:
   12021            0 :                                               {
   12022            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12023            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12024            0 :                                                 switch (TREE_CODE (_q80))
   12025              :                                                   {
   12026            0 :                                                   case CALL_EXPR:
   12027            0 :                                                     switch (get_call_combined_fn (_q80))
   12028              :                                                       {
   12029            0 :                                                       case CFN_BUILT_IN_CEIL:
   12030            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12031              :     {
   12032            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12033            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12034              :                                                               {
   12035            0 :                                                                 switch (TREE_CODE (_q90))
   12036              :                                                                   {
   12037            0 :                                                                   case SSA_NAME:
   12038            0 :                                                                     {
   12039            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12040              :                                                                         {
   12041            0 :                                                                           switch (TREE_CODE (_q81))
   12042              :                                                                             {
   12043            0 :                                                                             case SSA_NAME:
   12044            0 :                                                                               {
   12045            0 :                                                                                 switch (TREE_CODE (_p1))
   12046              :                                                                                   {
   12047            0 :                                                                                   case CALL_EXPR:
   12048            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12049              :                                                                                       {
   12050            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   12051            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12052              :     {
   12053            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12054            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12055              :                                                                                               {
   12056            0 :                                                                                                 switch (TREE_CODE (_q140))
   12057              :                                                                                                   {
   12058            0 :                                                                                                   case SSA_NAME:
   12059            0 :                                                                                                     {
   12060            0 :                                                                                                       switch (TREE_CODE (_p2))
   12061              :                                                                                                         {
   12062            0 :                                                                                                         case CALL_EXPR:
   12063            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12064              :                                                                                                             {
   12065            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   12066            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12067              :     {
   12068            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12069            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12070              :                                                                                                                     {
   12071            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12072              :                                                                                                                         {
   12073            0 :                                                                                                                         case SSA_NAME:
   12074            0 :                                                                                                                           {
   12075            0 :                                                                                                                             {
   12076            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12077            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   12078            0 :                                                                                                                               if (res) return res;
   12079              :                                                                                                                             }
   12080            0 :                                                                                                                             break;
   12081              :                                                                                                                           }
   12082              :                                                                                                                         default:;
   12083              :                                                                                                                         }
   12084              :                                                                                                                     }
   12085              :                                                                                                                 }
   12086              :                                                                                                               break;
   12087              :                                                                                                             default:;
   12088              :                                                                                                             }
   12089              :                                                                                                           break;
   12090              :                                                                                                         default:;
   12091              :                                                                                                         }
   12092              :                                                                                                       break;
   12093              :                                                                                                     }
   12094              :                                                                                                   default:;
   12095              :                                                                                                   }
   12096              :                                                                                               }
   12097              :                                                                                           }
   12098              :                                                                                         break;
   12099              :                                                                                       default:;
   12100              :                                                                                       }
   12101              :                                                                                     break;
   12102              :                                                                                   default:;
   12103              :                                                                                   }
   12104              :                                                                                 break;
   12105              :                                                                               }
   12106              :                                                                             default:;
   12107              :                                                                             }
   12108              :                                                                         }
   12109              :                                                                       break;
   12110              :                                                                     }
   12111              :                                                                   default:;
   12112              :                                                                   }
   12113              :                                                               }
   12114              :                                                           }
   12115              :                                                         break;
   12116              :                                                       default:;
   12117              :                                                       }
   12118              :                                                     break;
   12119              :                                                   default:;
   12120              :                                                   }
   12121              :                                                 break;
   12122              :                                               }
   12123              :                                             default:;
   12124              :                                             }
   12125              :                                           break;
   12126              :                                         }
   12127              :                                       default:;
   12128              :                                       }
   12129              :                                   }
   12130              :                               }
   12131              :                             break;
   12132              :                           default:;
   12133              :                           }
   12134              :                         break;
   12135              :                       default:;
   12136              :                       }
   12137              :                     break;
   12138              :                   }
   12139              :                 default:;
   12140              :                 }
   12141              :               break;
   12142              :             }
   12143       101251 :           CASE_CONVERT:
   12144       101251 :             {
   12145       101251 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12146       101251 :               switch (TREE_CODE (_q21))
   12147              :                 {
   12148        20631 :                 case INTEGER_CST:
   12149        20631 :                   {
   12150        20631 :                     switch (TREE_CODE (_p1))
   12151              :                       {
   12152           31 :                       CASE_CONVERT:
   12153           31 :                         {
   12154           31 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12155           31 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12156              :                             {
   12157           16 :                               switch (TREE_CODE (_p2))
   12158              :                                 {
   12159           16 :                                 case INTEGER_CST:
   12160           16 :                                   {
   12161           16 :                                     {
   12162           16 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   12163           16 :                                       tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12164           16 :                                       if (res) return res;
   12165              :                                     }
   12166           16 :                                     break;
   12167              :                                   }
   12168              :                                 default:;
   12169              :                                 }
   12170              :                             }
   12171              :                           break;
   12172              :                         }
   12173        20631 :                       default:;
   12174              :                       }
   12175        20631 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   12176              :                       {
   12177            6 :                         switch (TREE_CODE (_p2))
   12178              :                           {
   12179            6 :                           case INTEGER_CST:
   12180            6 :                             {
   12181            6 :                               {
   12182            6 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   12183            6 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12184            6 :                                 if (res) return res;
   12185              :                               }
   12186            6 :                               break;
   12187              :                             }
   12188              :                           default:;
   12189              :                           }
   12190              :                       }
   12191        20631 :                     switch (TREE_CODE (_p1))
   12192              :                       {
   12193           25 :                       case PLUS_EXPR:
   12194           25 :                         {
   12195           25 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12196           25 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12197           25 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12198              :                             {
   12199            7 :                               switch (TREE_CODE (_q61))
   12200              :                                 {
   12201            7 :                                 case INTEGER_CST:
   12202            7 :                                   {
   12203            7 :                                     switch (TREE_CODE (_p2))
   12204              :                                       {
   12205            7 :                                       case INTEGER_CST:
   12206            7 :                                         {
   12207            7 :                                           {
   12208            7 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12209            7 :                                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   12210            7 :                                             if (res) return res;
   12211              :                                           }
   12212            0 :                                           break;
   12213              :                                         }
   12214              :                                       default:;
   12215              :                                       }
   12216              :                                     break;
   12217              :                                   }
   12218              :                                 default:;
   12219              :                                 }
   12220              :                             }
   12221              :                           break;
   12222              :                         }
   12223            0 :                       case MINUS_EXPR:
   12224            0 :                         {
   12225            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   12226            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   12227            0 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12228              :                             {
   12229            0 :                               switch (TREE_CODE (_q61))
   12230              :                                 {
   12231            0 :                                 case INTEGER_CST:
   12232            0 :                                   {
   12233            0 :                                     switch (TREE_CODE (_p2))
   12234              :                                       {
   12235            0 :                                       case INTEGER_CST:
   12236            0 :                                         {
   12237            0 :                                           {
   12238            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   12239            0 :                                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   12240            0 :                                             if (res) return res;
   12241              :                                           }
   12242            0 :                                           break;
   12243              :                                         }
   12244              :                                       default:;
   12245              :                                       }
   12246              :                                     break;
   12247              :                                   }
   12248              :                                 default:;
   12249              :                                 }
   12250              :                             }
   12251              :                           break;
   12252              :                         }
   12253              :                       default:;
   12254              :                       }
   12255              :                     break;
   12256              :                   }
   12257              :                 default:;
   12258              :                 }
   12259              :               break;
   12260              :             }
   12261      1810185 :           default:;
   12262              :           }
   12263      1810185 :         switch (TREE_CODE (_q21))
   12264              :           {
   12265       373960 :           case INTEGER_CST:
   12266       373960 :             {
   12267       373960 :               switch (TREE_CODE (_p1))
   12268              :                 {
   12269         1176 :                 CASE_CONVERT:
   12270         1176 :                   {
   12271         1176 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12272         1176 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12273              :                       {
   12274           36 :                         switch (TREE_CODE (_p2))
   12275              :                           {
   12276            5 :                           case INTEGER_CST:
   12277            5 :                             {
   12278            5 :                               {
   12279            5 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12280            5 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12281            5 :                                 if (res) return res;
   12282              :                               }
   12283            5 :                               break;
   12284              :                             }
   12285              :                           default:;
   12286              :                           }
   12287              :                       }
   12288              :                     break;
   12289              :                   }
   12290       373960 :                 default:;
   12291              :                 }
   12292       373960 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12293              :                 {
   12294           81 :                   switch (TREE_CODE (_p2))
   12295              :                     {
   12296            8 :                     case INTEGER_CST:
   12297            8 :                       {
   12298            8 :                         {
   12299            8 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12300            8 :                           tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   12301            8 :                           if (res) return res;
   12302              :                         }
   12303            0 :                         break;
   12304              :                       }
   12305              :                     default:;
   12306              :                     }
   12307              :                 }
   12308       373952 :               switch (TREE_CODE (_p1))
   12309              :                 {
   12310         9359 :                 case PLUS_EXPR:
   12311         9359 :                   {
   12312         9359 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12313         9359 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12314         9359 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12315              :                       {
   12316         9324 :                         switch (TREE_CODE (_q51))
   12317              :                           {
   12318         9324 :                           case INTEGER_CST:
   12319         9324 :                             {
   12320         9324 :                               switch (TREE_CODE (_p2))
   12321              :                                 {
   12322           24 :                                 case INTEGER_CST:
   12323           24 :                                   {
   12324           24 :                                     {
   12325           24 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12326           24 :                                       tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, PLUS_EXPR);
   12327           24 :                                       if (res) return res;
   12328              :                                     }
   12329           24 :                                     break;
   12330              :                                   }
   12331              :                                 default:;
   12332              :                                 }
   12333              :                               break;
   12334              :                             }
   12335              :                           default:;
   12336              :                           }
   12337              :                       }
   12338              :                     break;
   12339              :                   }
   12340           62 :                 case MINUS_EXPR:
   12341           62 :                   {
   12342           62 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   12343           62 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   12344           62 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12345              :                       {
   12346            0 :                         switch (TREE_CODE (_q51))
   12347              :                           {
   12348            0 :                           case INTEGER_CST:
   12349            0 :                             {
   12350            0 :                               switch (TREE_CODE (_p2))
   12351              :                                 {
   12352            0 :                                 case INTEGER_CST:
   12353            0 :                                   {
   12354            0 :                                     {
   12355            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   12356            0 :                                       tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MINUS_EXPR);
   12357            0 :                                       if (res) return res;
   12358              :                                     }
   12359            0 :                                     break;
   12360              :                                   }
   12361              :                                 default:;
   12362              :                                 }
   12363              :                               break;
   12364              :                             }
   12365              :                           default:;
   12366              :                           }
   12367              :                       }
   12368              :                     break;
   12369              :                   }
   12370              :                 default:;
   12371              :                 }
   12372              :               break;
   12373              :             }
   12374      1810177 :           default:;
   12375              :           }
   12376      1810177 :         switch (TREE_CODE (_p1))
   12377              :           {
   12378            0 :           case MIN_EXPR:
   12379            0 :             {
   12380            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12381            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12382            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12383              :                 {
   12384            0 :                   switch (TREE_CODE (_p2))
   12385              :                     {
   12386            0 :                     case MIN_EXPR:
   12387            0 :                       {
   12388            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12389            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12390            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12391              :                           {
   12392            0 :                             {
   12393            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12394            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12395            0 :                               if (res) return res;
   12396              :                             }
   12397              :                           }
   12398            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12399              :                           {
   12400            0 :                             {
   12401            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12402            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12403            0 :                               if (res) return res;
   12404              :                             }
   12405              :                           }
   12406              :                         break;
   12407              :                       }
   12408              :                     default:;
   12409              :                     }
   12410              :                 }
   12411            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12412              :                 {
   12413            0 :                   switch (TREE_CODE (_p2))
   12414              :                     {
   12415            0 :                     case MIN_EXPR:
   12416            0 :                       {
   12417            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12418            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12419            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12420              :                           {
   12421            0 :                             {
   12422            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12423            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12424            0 :                               if (res) return res;
   12425              :                             }
   12426              :                           }
   12427            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12428              :                           {
   12429            0 :                             {
   12430            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12431            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12432            0 :                               if (res) return res;
   12433              :                             }
   12434              :                           }
   12435              :                         break;
   12436              :                       }
   12437              :                     default:;
   12438              :                     }
   12439              :                 }
   12440            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12441              :                 {
   12442            0 :                   switch (TREE_CODE (_p2))
   12443              :                     {
   12444            0 :                     case MIN_EXPR:
   12445            0 :                       {
   12446            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12447            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12448            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12449              :                           {
   12450            0 :                             {
   12451            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12452            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12453            0 :                               if (res) return res;
   12454              :                             }
   12455              :                           }
   12456            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12457              :                           {
   12458            0 :                             {
   12459            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12460            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12461            0 :                               if (res) return res;
   12462              :                             }
   12463              :                           }
   12464              :                         break;
   12465              :                       }
   12466            0 :                     default:;
   12467              :                     }
   12468            0 :                   {
   12469            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   12470            0 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12471            0 :                     if (res) return res;
   12472              :                   }
   12473              :                 }
   12474            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12475              :                 {
   12476            0 :                   switch (TREE_CODE (_p2))
   12477              :                     {
   12478            0 :                     case MIN_EXPR:
   12479            0 :                       {
   12480            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12481            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12482            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12483              :                           {
   12484            0 :                             {
   12485            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12486            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12487            0 :                               if (res) return res;
   12488              :                             }
   12489              :                           }
   12490            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12491              :                           {
   12492            0 :                             {
   12493            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12494            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12495            0 :                               if (res) return res;
   12496              :                             }
   12497              :                           }
   12498              :                         break;
   12499              :                       }
   12500            0 :                     default:;
   12501              :                     }
   12502            0 :                   {
   12503            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   12504            0 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   12505            0 :                     if (res) return res;
   12506              :                   }
   12507              :                 }
   12508              :               break;
   12509              :             }
   12510           21 :           case MAX_EXPR:
   12511           21 :             {
   12512           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12513           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12514           21 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12515              :                 {
   12516            1 :                   switch (TREE_CODE (_p2))
   12517              :                     {
   12518            0 :                     case MAX_EXPR:
   12519            0 :                       {
   12520            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12521            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12522            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12523              :                           {
   12524            0 :                             {
   12525            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   12526            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12527            0 :                               if (res) return res;
   12528              :                             }
   12529              :                           }
   12530            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12531              :                           {
   12532            0 :                             {
   12533            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   12534            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12535            0 :                               if (res) return res;
   12536              :                             }
   12537              :                           }
   12538              :                         break;
   12539              :                       }
   12540            1 :                     default:;
   12541              :                     }
   12542            1 :                   {
   12543            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   12544            1 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12545            1 :                     if (res) return res;
   12546              :                   }
   12547              :                 }
   12548           20 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12549              :                 {
   12550            4 :                   switch (TREE_CODE (_p2))
   12551              :                     {
   12552            0 :                     case MAX_EXPR:
   12553            0 :                       {
   12554            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12555            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12556            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12557              :                           {
   12558            0 :                             {
   12559            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   12560            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12561            0 :                               if (res) return res;
   12562              :                             }
   12563              :                           }
   12564            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12565              :                           {
   12566            0 :                             {
   12567            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   12568            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12569            0 :                               if (res) return res;
   12570              :                             }
   12571              :                           }
   12572              :                         break;
   12573              :                       }
   12574              :                     default:;
   12575              :                     }
   12576              :                 }
   12577           20 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12578              :                 {
   12579            8 :                   switch (TREE_CODE (_p2))
   12580              :                     {
   12581            0 :                     case MAX_EXPR:
   12582            0 :                       {
   12583            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12584            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12585            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   12586              :                           {
   12587            0 :                             {
   12588            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   12589            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12590            0 :                               if (res) return res;
   12591              :                             }
   12592              :                           }
   12593            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   12594              :                           {
   12595            0 :                             {
   12596            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   12597            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12598            0 :                               if (res) return res;
   12599              :                             }
   12600              :                           }
   12601              :                         break;
   12602              :                       }
   12603              :                     default:;
   12604              :                     }
   12605              :                 }
   12606           20 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12607              :                 {
   12608            1 :                   switch (TREE_CODE (_p2))
   12609              :                     {
   12610            1 :                     case MAX_EXPR:
   12611            1 :                       {
   12612            1 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   12613            1 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   12614            1 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   12615              :                           {
   12616            0 :                             {
   12617            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   12618            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12619            0 :                               if (res) return res;
   12620              :                             }
   12621              :                           }
   12622            1 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   12623              :                           {
   12624            1 :                             {
   12625            1 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   12626            1 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   12627            1 :                               if (res) return res;
   12628              :                             }
   12629              :                           }
   12630              :                         break;
   12631              :                       }
   12632              :                     default:;
   12633              :                     }
   12634              :                 }
   12635           19 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12636              :                 {
   12637            4 :                   {
   12638            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   12639            4 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   12640            4 :                     if (res) return res;
   12641              :                   }
   12642              :                 }
   12643              :               break;
   12644              :             }
   12645      1810175 :           default:;
   12646              :           }
   12647      1810175 :         {
   12648      1810175 :           tree _q20_pops[1];
   12649      1810175 :           if (tree_nop_convert (_q20, _q20_pops))
   12650              :             {
   12651        53952 :               tree _q30 = _q20_pops[0];
   12652        53952 :               if (integer_zerop (_q21))
   12653              :                 {
   12654        10991 :                   switch (TREE_CODE (_p1))
   12655              :                     {
   12656            0 :                     case MIN_EXPR:
   12657            0 :                       {
   12658            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   12659            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   12660            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12661              :                           {
   12662            0 :                             switch (TREE_CODE (_q61))
   12663              :                               {
   12664            0 :                               case INTEGER_CST:
   12665            0 :                                 {
   12666            0 :                                   switch (TREE_CODE (_p2))
   12667              :                                     {
   12668            0 :                                     case INTEGER_CST:
   12669            0 :                                       {
   12670            0 :                                         {
   12671            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   12672            0 :                                           tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   12673            0 :                                           if (res) return res;
   12674              :                                         }
   12675            0 :                                         break;
   12676              :                                       }
   12677              :                                     default:;
   12678              :                                     }
   12679              :                                   break;
   12680              :                                 }
   12681              :                               default:;
   12682              :                               }
   12683              :                           }
   12684              :                         break;
   12685              :                       }
   12686              :                     default:;
   12687              :                     }
   12688              :                 }
   12689              :             }
   12690              :         }
   12691      1810175 :         if (integer_zerop (_q21))
   12692              :           {
   12693       327787 :             if (tree_expr_nonnegative_p (_p1))
   12694              :               {
   12695       294908 :                 switch (TREE_CODE (_p2))
   12696              :                   {
   12697           17 :                   case MIN_EXPR:
   12698           17 :                     {
   12699           17 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12700           17 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   12701           17 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12702              :                         {
   12703           16 :                           if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   12704              :                             {
   12705            9 :                               {
   12706            9 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12707            9 :                                 tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures);
   12708            9 :                                 if (res) return res;
   12709              :                               }
   12710              :                             }
   12711              :                         }
   12712            8 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12713              :                         {
   12714            0 :                           if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   12715              :                             {
   12716            0 :                               {
   12717            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12718            0 :                                 tree res = generic_simplify_353 (loc, type, _p0, _p1, _p2, captures);
   12719            0 :                                 if (res) return res;
   12720              :                               }
   12721              :                             }
   12722              :                         }
   12723              :                       break;
   12724              :                     }
   12725              :                   default:;
   12726              :                   }
   12727              :               }
   12728              :           }
   12729      1810166 :         if (tree_expr_nonnegative_p (_q20))
   12730              :           {
   12731       508058 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   12732              :               {
   12733          166 :                 switch (TREE_CODE (_p2))
   12734              :                   {
   12735            5 :                   case ABS_EXPR:
   12736            5 :                     {
   12737            5 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12738            5 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   12739              :                         {
   12740            0 :                           {
   12741            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   12742            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   12743            0 :                             if (res) return res;
   12744              :                           }
   12745              :                         }
   12746              :                       break;
   12747              :                     }
   12748              :                   default:;
   12749              :                   }
   12750              :               }
   12751       508058 :             switch (TREE_CODE (_p1))
   12752              :               {
   12753            0 :               case ABS_EXPR:
   12754            0 :                 {
   12755            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   12756            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12757              :                     {
   12758            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12759              :                         {
   12760            0 :                           {
   12761            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   12762            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   12763            0 :                             if (res) return res;
   12764              :                           }
   12765              :                         }
   12766              :                     }
   12767              :                   break;
   12768              :                 }
   12769              :               default:;
   12770              :               }
   12771              :           }
   12772              :         break;
   12773              :       }
   12774       569764 :     case GE_EXPR:
   12775       569764 :       {
   12776       569764 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12777       569764 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12778       569764 :         switch (TREE_CODE (_q20))
   12779              :           {
   12780        38243 :           case MINUS_EXPR:
   12781        38243 :             {
   12782        38243 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12783        38243 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12784        38243 :               switch (TREE_CODE (_q30))
   12785              :                 {
   12786          526 :                 case SSA_NAME:
   12787          526 :                   {
   12788          526 :                     switch (TREE_CODE (_q31))
   12789              :                       {
   12790            0 :                       case CALL_EXPR:
   12791            0 :                         switch (get_call_combined_fn (_q31))
   12792              :                           {
   12793            0 :                           case CFN_BUILT_IN_FLOORF:
   12794            0 :                             if (call_expr_nargs (_q31) == 1)
   12795              :     {
   12796            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12797            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12798              :                                   {
   12799            0 :                                     switch (TREE_CODE (_q50))
   12800              :                                       {
   12801            0 :                                       case SSA_NAME:
   12802            0 :                                         {
   12803            0 :                                           switch (TREE_CODE (_q21))
   12804              :                                             {
   12805            0 :                                             case MINUS_EXPR:
   12806            0 :                                               {
   12807            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12808            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12809            0 :                                                 switch (TREE_CODE (_q80))
   12810              :                                                   {
   12811            0 :                                                   case CALL_EXPR:
   12812            0 :                                                     switch (get_call_combined_fn (_q80))
   12813              :                                                       {
   12814            0 :                                                       case CFN_BUILT_IN_CEILF:
   12815            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12816              :     {
   12817            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12818            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12819              :                                                               {
   12820            0 :                                                                 switch (TREE_CODE (_q90))
   12821              :                                                                   {
   12822            0 :                                                                   case SSA_NAME:
   12823            0 :                                                                     {
   12824            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12825              :                                                                         {
   12826            0 :                                                                           switch (TREE_CODE (_q81))
   12827              :                                                                             {
   12828            0 :                                                                             case SSA_NAME:
   12829            0 :                                                                               {
   12830            0 :                                                                                 switch (TREE_CODE (_p1))
   12831              :                                                                                   {
   12832            0 :                                                                                   case CALL_EXPR:
   12833            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12834              :                                                                                       {
   12835            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   12836            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12837              :     {
   12838            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12839            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12840              :                                                                                               {
   12841            0 :                                                                                                 switch (TREE_CODE (_q140))
   12842              :                                                                                                   {
   12843            0 :                                                                                                   case SSA_NAME:
   12844            0 :                                                                                                     {
   12845            0 :                                                                                                       switch (TREE_CODE (_p2))
   12846              :                                                                                                         {
   12847            0 :                                                                                                         case CALL_EXPR:
   12848            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12849              :                                                                                                             {
   12850            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   12851            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12852              :     {
   12853            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12854            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12855              :                                                                                                                     {
   12856            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12857              :                                                                                                                         {
   12858            0 :                                                                                                                         case SSA_NAME:
   12859            0 :                                                                                                                           {
   12860            0 :                                                                                                                             {
   12861            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12862            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   12863            0 :                                                                                                                               if (res) return res;
   12864              :                                                                                                                             }
   12865            0 :                                                                                                                             break;
   12866              :                                                                                                                           }
   12867              :                                                                                                                         default:;
   12868              :                                                                                                                         }
   12869              :                                                                                                                     }
   12870              :                                                                                                                 }
   12871              :                                                                                                               break;
   12872              :                                                                                                             default:;
   12873              :                                                                                                             }
   12874              :                                                                                                           break;
   12875              :                                                                                                         default:;
   12876              :                                                                                                         }
   12877              :                                                                                                       break;
   12878              :                                                                                                     }
   12879              :                                                                                                   default:;
   12880              :                                                                                                   }
   12881              :                                                                                               }
   12882              :                                                                                           }
   12883              :                                                                                         break;
   12884              :                                                                                       default:;
   12885              :                                                                                       }
   12886              :                                                                                     break;
   12887              :                                                                                   default:;
   12888              :                                                                                   }
   12889              :                                                                                 break;
   12890              :                                                                               }
   12891              :                                                                             default:;
   12892              :                                                                             }
   12893              :                                                                         }
   12894              :                                                                       break;
   12895              :                                                                     }
   12896              :                                                                   default:;
   12897              :                                                                   }
   12898              :                                                               }
   12899              :                                                           }
   12900              :                                                         break;
   12901              :                                                       default:;
   12902              :                                                       }
   12903              :                                                     break;
   12904              :                                                   default:;
   12905              :                                                   }
   12906              :                                                 break;
   12907              :                                               }
   12908              :                                             default:;
   12909              :                                             }
   12910              :                                           break;
   12911              :                                         }
   12912              :                                       default:;
   12913              :                                       }
   12914              :                                   }
   12915              :                               }
   12916              :                             break;
   12917            0 :                           case CFN_BUILT_IN_FLOORL:
   12918            0 :                             if (call_expr_nargs (_q31) == 1)
   12919              :     {
   12920            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   12921            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   12922              :                                   {
   12923            0 :                                     switch (TREE_CODE (_q50))
   12924              :                                       {
   12925            0 :                                       case SSA_NAME:
   12926            0 :                                         {
   12927            0 :                                           switch (TREE_CODE (_q21))
   12928              :                                             {
   12929            0 :                                             case MINUS_EXPR:
   12930            0 :                                               {
   12931            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   12932            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   12933            0 :                                                 switch (TREE_CODE (_q80))
   12934              :                                                   {
   12935            0 :                                                   case CALL_EXPR:
   12936            0 :                                                     switch (get_call_combined_fn (_q80))
   12937              :                                                       {
   12938            0 :                                                       case CFN_BUILT_IN_CEILL:
   12939            0 :                                                         if (call_expr_nargs (_q80) == 1)
   12940              :     {
   12941            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   12942            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   12943              :                                                               {
   12944            0 :                                                                 switch (TREE_CODE (_q90))
   12945              :                                                                   {
   12946            0 :                                                                   case SSA_NAME:
   12947            0 :                                                                     {
   12948            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12949              :                                                                         {
   12950            0 :                                                                           switch (TREE_CODE (_q81))
   12951              :                                                                             {
   12952            0 :                                                                             case SSA_NAME:
   12953            0 :                                                                               {
   12954            0 :                                                                                 switch (TREE_CODE (_p1))
   12955              :                                                                                   {
   12956            0 :                                                                                   case CALL_EXPR:
   12957            0 :                                                                                     switch (get_call_combined_fn (_p1))
   12958              :                                                                                       {
   12959            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   12960            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   12961              :     {
   12962            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   12963            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   12964              :                                                                                               {
   12965            0 :                                                                                                 switch (TREE_CODE (_q140))
   12966              :                                                                                                   {
   12967            0 :                                                                                                   case SSA_NAME:
   12968            0 :                                                                                                     {
   12969            0 :                                                                                                       switch (TREE_CODE (_p2))
   12970              :                                                                                                         {
   12971            0 :                                                                                                         case CALL_EXPR:
   12972            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   12973              :                                                                                                             {
   12974            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   12975            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   12976              :     {
   12977            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   12978            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   12979              :                                                                                                                     {
   12980            0 :                                                                                                                       switch (TREE_CODE (_q170))
   12981              :                                                                                                                         {
   12982            0 :                                                                                                                         case SSA_NAME:
   12983            0 :                                                                                                                           {
   12984            0 :                                                                                                                             {
   12985            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   12986            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   12987            0 :                                                                                                                               if (res) return res;
   12988              :                                                                                                                             }
   12989            0 :                                                                                                                             break;
   12990              :                                                                                                                           }
   12991              :                                                                                                                         default:;
   12992              :                                                                                                                         }
   12993              :                                                                                                                     }
   12994              :                                                                                                                 }
   12995              :                                                                                                               break;
   12996              :                                                                                                             default:;
   12997              :                                                                                                             }
   12998              :                                                                                                           break;
   12999              :                                                                                                         default:;
   13000              :                                                                                                         }
   13001              :                                                                                                       break;
   13002              :                                                                                                     }
   13003              :                                                                                                   default:;
   13004              :                                                                                                   }
   13005              :                                                                                               }
   13006              :                                                                                           }
   13007              :                                                                                         break;
   13008              :                                                                                       default:;
   13009              :                                                                                       }
   13010              :                                                                                     break;
   13011              :                                                                                   default:;
   13012              :                                                                                   }
   13013              :                                                                                 break;
   13014              :                                                                               }
   13015              :                                                                             default:;
   13016              :                                                                             }
   13017              :                                                                         }
   13018              :                                                                       break;
   13019              :                                                                     }
   13020              :                                                                   default:;
   13021              :                                                                   }
   13022              :                                                               }
   13023              :                                                           }
   13024              :                                                         break;
   13025              :                                                       default:;
   13026              :                                                       }
   13027              :                                                     break;
   13028              :                                                   default:;
   13029              :                                                   }
   13030              :                                                 break;
   13031              :                                               }
   13032              :                                             default:;
   13033              :                                             }
   13034              :                                           break;
   13035              :                                         }
   13036              :                                       default:;
   13037              :                                       }
   13038              :                                   }
   13039              :                               }
   13040              :                             break;
   13041            0 :                           case CFN_FLOOR:
   13042            0 :                             if (call_expr_nargs (_q31) == 1)
   13043              :     {
   13044            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   13045            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   13046              :                                   {
   13047            0 :                                     switch (TREE_CODE (_q50))
   13048              :                                       {
   13049            0 :                                       case SSA_NAME:
   13050            0 :                                         {
   13051            0 :                                           switch (TREE_CODE (_q21))
   13052              :                                             {
   13053            0 :                                             case MINUS_EXPR:
   13054            0 :                                               {
   13055            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13056            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13057            0 :                                                 switch (TREE_CODE (_q80))
   13058              :                                                   {
   13059            0 :                                                   case CALL_EXPR:
   13060            0 :                                                     switch (get_call_combined_fn (_q80))
   13061              :                                                       {
   13062            0 :                                                       case CFN_CEIL:
   13063            0 :                                                         if (call_expr_nargs (_q80) == 1)
   13064              :     {
   13065            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   13066            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   13067              :                                                               {
   13068            0 :                                                                 switch (TREE_CODE (_q90))
   13069              :                                                                   {
   13070            0 :                                                                   case SSA_NAME:
   13071            0 :                                                                     {
   13072            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13073              :                                                                         {
   13074            0 :                                                                           switch (TREE_CODE (_q81))
   13075              :                                                                             {
   13076            0 :                                                                             case SSA_NAME:
   13077            0 :                                                                               {
   13078            0 :                                                                                 switch (TREE_CODE (_p1))
   13079              :                                                                                   {
   13080            0 :                                                                                   case CALL_EXPR:
   13081            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13082              :                                                                                       {
   13083            0 :                                                                                       case CFN_CEIL:
   13084            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13085              :     {
   13086            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13087            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   13088              :                                                                                               {
   13089            0 :                                                                                                 switch (TREE_CODE (_q140))
   13090              :                                                                                                   {
   13091            0 :                                                                                                   case SSA_NAME:
   13092            0 :                                                                                                     {
   13093            0 :                                                                                                       switch (TREE_CODE (_p2))
   13094              :                                                                                                         {
   13095            0 :                                                                                                         case CALL_EXPR:
   13096            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13097              :                                                                                                             {
   13098            0 :                                                                                                             case CFN_FLOOR:
   13099            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13100              :     {
   13101            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13102            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   13103              :                                                                                                                     {
   13104            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13105              :                                                                                                                         {
   13106            0 :                                                                                                                         case SSA_NAME:
   13107            0 :                                                                                                                           {
   13108            0 :                                                                                                                             {
   13109            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   13110            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   13111            0 :                                                                                                                               if (res) return res;
   13112              :                                                                                                                             }
   13113            0 :                                                                                                                             break;
   13114              :                                                                                                                           }
   13115              :                                                                                                                         default:;
   13116              :                                                                                                                         }
   13117              :                                                                                                                     }
   13118              :                                                                                                                 }
   13119              :                                                                                                               break;
   13120              :                                                                                                             default:;
   13121              :                                                                                                             }
   13122              :                                                                                                           break;
   13123              :                                                                                                         default:;
   13124              :                                                                                                         }
   13125              :                                                                                                       break;
   13126              :                                                                                                     }
   13127              :                                                                                                   default:;
   13128              :                                                                                                   }
   13129              :                                                                                               }
   13130              :                                                                                           }
   13131              :                                                                                         break;
   13132              :                                                                                       default:;
   13133              :                                                                                       }
   13134              :                                                                                     break;
   13135              :                                                                                   default:;
   13136              :                                                                                   }
   13137              :                                                                                 break;
   13138              :                                                                               }
   13139              :                                                                             default:;
   13140              :                                                                             }
   13141              :                                                                         }
   13142              :                                                                       break;
   13143              :                                                                     }
   13144              :                                                                   default:;
   13145              :                                                                   }
   13146              :                                                               }
   13147              :                                                           }
   13148              :                                                         break;
   13149              :                                                       default:;
   13150              :                                                       }
   13151              :                                                     break;
   13152              :                                                   default:;
   13153              :                                                   }
   13154              :                                                 break;
   13155              :                                               }
   13156              :                                             default:;
   13157              :                                             }
   13158              :                                           break;
   13159              :                                         }
   13160              :                                       default:;
   13161              :                                       }
   13162              :                                   }
   13163              :                               }
   13164              :                             break;
   13165            0 :                           case CFN_BUILT_IN_FLOOR:
   13166            0 :                             if (call_expr_nargs (_q31) == 1)
   13167              :     {
   13168            0 :                                 tree _q50 = CALL_EXPR_ARG (_q31, 0);
   13169            0 :                                 if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
   13170              :                                   {
   13171            0 :                                     switch (TREE_CODE (_q50))
   13172              :                                       {
   13173            0 :                                       case SSA_NAME:
   13174            0 :                                         {
   13175            0 :                                           switch (TREE_CODE (_q21))
   13176              :                                             {
   13177            0 :                                             case MINUS_EXPR:
   13178            0 :                                               {
   13179            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13180            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13181            0 :                                                 switch (TREE_CODE (_q80))
   13182              :                                                   {
   13183            0 :                                                   case CALL_EXPR:
   13184            0 :                                                     switch (get_call_combined_fn (_q80))
   13185              :                                                       {
   13186            0 :                                                       case CFN_BUILT_IN_CEIL:
   13187            0 :                                                         if (call_expr_nargs (_q80) == 1)
   13188              :     {
   13189            0 :                                                             tree _q90 = CALL_EXPR_ARG (_q80, 0);
   13190            0 :                                                             if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
   13191              :                                                               {
   13192            0 :                                                                 switch (TREE_CODE (_q90))
   13193              :                                                                   {
   13194            0 :                                                                   case SSA_NAME:
   13195            0 :                                                                     {
   13196            0 :                                                                       if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13197              :                                                                         {
   13198            0 :                                                                           switch (TREE_CODE (_q81))
   13199              :                                                                             {
   13200            0 :                                                                             case SSA_NAME:
   13201            0 :                                                                               {
   13202            0 :                                                                                 switch (TREE_CODE (_p1))
   13203              :                                                                                   {
   13204            0 :                                                                                   case CALL_EXPR:
   13205            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13206              :                                                                                       {
   13207            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   13208            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13209              :     {
   13210            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13211            0 :                                                                                             if ((_q140 == _q30 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q30, 0) && types_match (_q140, _q30)))
   13212              :                                                                                               {
   13213            0 :                                                                                                 switch (TREE_CODE (_q140))
   13214              :                                                                                                   {
   13215            0 :                                                                                                   case SSA_NAME:
   13216            0 :                                                                                                     {
   13217            0 :                                                                                                       switch (TREE_CODE (_p2))
   13218              :                                                                                                         {
   13219            0 :                                                                                                         case CALL_EXPR:
   13220            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13221              :                                                                                                             {
   13222            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   13223            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13224              :     {
   13225            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13226            0 :                                                                                                                   if ((_q170 == _q30 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q30, 0) && types_match (_q170, _q30)))
   13227              :                                                                                                                     {
   13228            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13229              :                                                                                                                         {
   13230            0 :                                                                                                                         case SSA_NAME:
   13231            0 :                                                                                                                           {
   13232            0 :                                                                                                                             {
   13233            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   13234            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   13235            0 :                                                                                                                               if (res) return res;
   13236              :                                                                                                                             }
   13237            0 :                                                                                                                             break;
   13238              :                                                                                                                           }
   13239              :                                                                                                                         default:;
   13240              :                                                                                                                         }
   13241              :                                                                                                                     }
   13242              :                                                                                                                 }
   13243              :                                                                                                               break;
   13244              :                                                                                                             default:;
   13245              :                                                                                                             }
   13246              :                                                                                                           break;
   13247              :                                                                                                         default:;
   13248              :                                                                                                         }
   13249              :                                                                                                       break;
   13250              :                                                                                                     }
   13251              :                                                                                                   default:;
   13252              :                                                                                                   }
   13253              :                                                                                               }
   13254              :                                                                                           }
   13255              :                                                                                         break;
   13256              :                                                                                       default:;
   13257              :                                                                                       }
   13258              :                                                                                     break;
   13259              :                                                                                   default:;
   13260              :                                                                                   }
   13261              :                                                                                 break;
   13262              :                                                                               }
   13263              :                                                                             default:;
   13264              :                                                                             }
   13265              :                                                                         }
   13266              :                                                                       break;
   13267              :                                                                     }
   13268              :                                                                   default:;
   13269              :                                                                   }
   13270              :                                                               }
   13271              :                                                           }
   13272              :                                                         break;
   13273              :                                                       default:;
   13274              :                                                       }
   13275              :                                                     break;
   13276              :                                                   default:;
   13277              :                                                   }
   13278              :                                                 break;
   13279              :                                               }
   13280              :                                             default:;
   13281              :                                             }
   13282              :                                           break;
   13283              :                                         }
   13284              :                                       default:;
   13285              :                                       }
   13286              :                                   }
   13287              :                               }
   13288              :                             break;
   13289              :                           default:;
   13290              :                           }
   13291              :                         break;
   13292              :                       default:;
   13293              :                       }
   13294              :                     break;
   13295              :                   }
   13296              :                 default:;
   13297              :                 }
   13298              :               break;
   13299              :             }
   13300        61880 :           CASE_CONVERT:
   13301        61880 :             {
   13302        61880 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13303        61880 :               switch (TREE_CODE (_q21))
   13304              :                 {
   13305        32498 :                 case INTEGER_CST:
   13306        32498 :                   {
   13307        32498 :                     switch (TREE_CODE (_p1))
   13308              :                       {
   13309        12165 :                       CASE_CONVERT:
   13310        12165 :                         {
   13311        12165 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13312        12165 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13313              :                             {
   13314         6630 :                               switch (TREE_CODE (_p2))
   13315              :                                 {
   13316         6622 :                                 case INTEGER_CST:
   13317         6622 :                                   {
   13318         6622 :                                     {
   13319         6622 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13320         6622 :                                       tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13321         6622 :                                       if (res) return res;
   13322              :                                     }
   13323         6622 :                                     break;
   13324              :                                   }
   13325              :                                 default:;
   13326              :                                 }
   13327              :                             }
   13328              :                           break;
   13329              :                         }
   13330        32498 :                       default:;
   13331              :                       }
   13332        32498 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   13333              :                       {
   13334          312 :                         switch (TREE_CODE (_p2))
   13335              :                           {
   13336          299 :                           case INTEGER_CST:
   13337          299 :                             {
   13338          299 :                               {
   13339          299 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   13340          299 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13341          299 :                                 if (res) return res;
   13342              :                               }
   13343          294 :                               break;
   13344              :                             }
   13345              :                           default:;
   13346              :                           }
   13347              :                       }
   13348        32493 :                     switch (TREE_CODE (_p1))
   13349              :                       {
   13350          398 :                       case PLUS_EXPR:
   13351          398 :                         {
   13352          398 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13353          398 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13354          398 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13355              :                             {
   13356            0 :                               switch (TREE_CODE (_q61))
   13357              :                                 {
   13358            0 :                                 case INTEGER_CST:
   13359            0 :                                   {
   13360            0 :                                     switch (TREE_CODE (_p2))
   13361              :                                       {
   13362            0 :                                       case INTEGER_CST:
   13363            0 :                                         {
   13364            0 :                                           {
   13365            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13366            0 :                                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   13367            0 :                                             if (res) return res;
   13368              :                                           }
   13369            0 :                                           break;
   13370              :                                         }
   13371              :                                       default:;
   13372              :                                       }
   13373              :                                     break;
   13374              :                                   }
   13375              :                                 default:;
   13376              :                                 }
   13377              :                             }
   13378              :                           break;
   13379              :                         }
   13380           73 :                       case MINUS_EXPR:
   13381           73 :                         {
   13382           73 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   13383           73 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   13384           73 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13385              :                             {
   13386            0 :                               switch (TREE_CODE (_q61))
   13387              :                                 {
   13388            0 :                                 case INTEGER_CST:
   13389            0 :                                   {
   13390            0 :                                     switch (TREE_CODE (_p2))
   13391              :                                       {
   13392            0 :                                       case INTEGER_CST:
   13393            0 :                                         {
   13394            0 :                                           {
   13395            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   13396            0 :                                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   13397            0 :                                             if (res) return res;
   13398              :                                           }
   13399            0 :                                           break;
   13400              :                                         }
   13401              :                                       default:;
   13402              :                                       }
   13403              :                                     break;
   13404              :                                   }
   13405              :                                 default:;
   13406              :                                 }
   13407              :                             }
   13408              :                           break;
   13409              :                         }
   13410              :                       default:;
   13411              :                       }
   13412              :                     break;
   13413              :                   }
   13414              :                 default:;
   13415              :                 }
   13416              :               break;
   13417              :             }
   13418       569759 :           default:;
   13419              :           }
   13420       569759 :         switch (TREE_CODE (_q21))
   13421              :           {
   13422       214278 :           case INTEGER_CST:
   13423       214278 :             {
   13424       214278 :               switch (TREE_CODE (_p1))
   13425              :                 {
   13426        56897 :                 CASE_CONVERT:
   13427        56897 :                   {
   13428        56897 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13429        56897 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13430              :                       {
   13431          150 :                         switch (TREE_CODE (_p2))
   13432              :                           {
   13433           45 :                           case INTEGER_CST:
   13434           45 :                             {
   13435           45 :                               {
   13436           45 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13437           45 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13438           45 :                                 if (res) return res;
   13439              :                               }
   13440           45 :                               break;
   13441              :                             }
   13442              :                           default:;
   13443              :                           }
   13444              :                       }
   13445              :                     break;
   13446              :                   }
   13447       214278 :                 default:;
   13448              :                 }
   13449       214278 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13450              :                 {
   13451        42492 :                   switch (TREE_CODE (_p2))
   13452              :                     {
   13453        10818 :                     case INTEGER_CST:
   13454        10818 :                       {
   13455        10818 :                         {
   13456        10818 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13457        10818 :                           tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13458        10818 :                           if (res) return res;
   13459              :                         }
   13460           19 :                         break;
   13461              :                       }
   13462              :                     default:;
   13463              :                     }
   13464              :                 }
   13465       203479 :               switch (TREE_CODE (_p1))
   13466              :                 {
   13467        17071 :                 case PLUS_EXPR:
   13468        17071 :                   {
   13469        17071 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13470        17071 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13471        17071 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13472              :                       {
   13473         6539 :                         switch (TREE_CODE (_q51))
   13474              :                           {
   13475         6539 :                           case INTEGER_CST:
   13476         6539 :                             {
   13477         6539 :                               switch (TREE_CODE (_p2))
   13478              :                                 {
   13479         6539 :                                 case INTEGER_CST:
   13480         6539 :                                   {
   13481         6539 :                                     {
   13482         6539 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13483         6539 :                                       tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, PLUS_EXPR);
   13484         6539 :                                       if (res) return res;
   13485              :                                     }
   13486            0 :                                     break;
   13487              :                                   }
   13488              :                                 default:;
   13489              :                                 }
   13490              :                               break;
   13491              :                             }
   13492              :                           default:;
   13493              :                           }
   13494              :                       }
   13495              :                     break;
   13496              :                   }
   13497          223 :                 case MINUS_EXPR:
   13498          223 :                   {
   13499          223 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   13500          223 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   13501          223 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13502              :                       {
   13503            0 :                         switch (TREE_CODE (_q51))
   13504              :                           {
   13505            0 :                           case INTEGER_CST:
   13506            0 :                             {
   13507            0 :                               switch (TREE_CODE (_p2))
   13508              :                                 {
   13509            0 :                                 case INTEGER_CST:
   13510            0 :                                   {
   13511            0 :                                     {
   13512            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   13513            0 :                                       tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MINUS_EXPR);
   13514            0 :                                       if (res) return res;
   13515              :                                     }
   13516            0 :                                     break;
   13517              :                                   }
   13518              :                                 default:;
   13519              :                                 }
   13520              :                               break;
   13521              :                             }
   13522              :                           default:;
   13523              :                           }
   13524              :                       }
   13525              :                     break;
   13526              :                   }
   13527              :                 default:;
   13528              :                 }
   13529              :               break;
   13530              :             }
   13531       552421 :           default:;
   13532              :           }
   13533       552421 :         switch (TREE_CODE (_p1))
   13534              :           {
   13535           16 :           case MIN_EXPR:
   13536           16 :             {
   13537           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13538           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13539           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13540              :                 {
   13541           15 :                   switch (TREE_CODE (_p2))
   13542              :                     {
   13543            0 :                     case MIN_EXPR:
   13544            0 :                       {
   13545            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13546            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13547            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13548              :                           {
   13549            0 :                             {
   13550            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13551            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13552            0 :                               if (res) return res;
   13553              :                             }
   13554              :                           }
   13555            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13556              :                           {
   13557            0 :                             {
   13558            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13559            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13560            0 :                               if (res) return res;
   13561              :                             }
   13562              :                           }
   13563              :                         break;
   13564              :                       }
   13565           15 :                     default:;
   13566              :                     }
   13567           15 :                   {
   13568           15 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   13569           15 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13570           15 :                     if (res) return res;
   13571              :                   }
   13572              :                 }
   13573            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13574              :                 {
   13575            0 :                   switch (TREE_CODE (_p2))
   13576              :                     {
   13577            0 :                     case MIN_EXPR:
   13578            0 :                       {
   13579            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13580            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13581            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13582              :                           {
   13583            0 :                             {
   13584            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13585            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13586            0 :                               if (res) return res;
   13587              :                             }
   13588              :                           }
   13589            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13590              :                           {
   13591            0 :                             {
   13592            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13593            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13594            0 :                               if (res) return res;
   13595              :                             }
   13596              :                           }
   13597              :                         break;
   13598              :                       }
   13599              :                     default:;
   13600              :                     }
   13601              :                 }
   13602            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13603              :                 {
   13604            0 :                   switch (TREE_CODE (_p2))
   13605              :                     {
   13606            0 :                     case MIN_EXPR:
   13607            0 :                       {
   13608            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13609            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13610            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13611              :                           {
   13612            0 :                             {
   13613            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   13614            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13615            0 :                               if (res) return res;
   13616              :                             }
   13617              :                           }
   13618            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13619              :                           {
   13620            0 :                             {
   13621            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13622            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13623            0 :                               if (res) return res;
   13624              :                             }
   13625              :                           }
   13626              :                         break;
   13627              :                       }
   13628              :                     default:;
   13629              :                     }
   13630              :                 }
   13631            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13632              :                 {
   13633            0 :                   switch (TREE_CODE (_p2))
   13634              :                     {
   13635            0 :                     case MIN_EXPR:
   13636            0 :                       {
   13637            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13638            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13639            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13640              :                           {
   13641            0 :                             {
   13642            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13643            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13644            0 :                               if (res) return res;
   13645              :                             }
   13646              :                           }
   13647            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13648              :                           {
   13649            0 :                             {
   13650            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13651            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   13652            0 :                               if (res) return res;
   13653              :                             }
   13654              :                           }
   13655              :                         break;
   13656              :                       }
   13657              :                     default:;
   13658              :                     }
   13659              :                 }
   13660            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13661              :                 {
   13662            0 :                   {
   13663            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   13664            0 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   13665            0 :                     if (res) return res;
   13666              :                   }
   13667              :                 }
   13668              :               break;
   13669              :             }
   13670            9 :           case MAX_EXPR:
   13671            9 :             {
   13672            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13673            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13674            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13675              :                 {
   13676            1 :                   switch (TREE_CODE (_p2))
   13677              :                     {
   13678            0 :                     case MAX_EXPR:
   13679            0 :                       {
   13680            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13681            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13682            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13683              :                           {
   13684            0 :                             {
   13685            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   13686            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13687            0 :                               if (res) return res;
   13688              :                             }
   13689              :                           }
   13690            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13691              :                           {
   13692            0 :                             {
   13693            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   13694            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13695            0 :                               if (res) return res;
   13696              :                             }
   13697              :                           }
   13698              :                         break;
   13699              :                       }
   13700              :                     default:;
   13701              :                     }
   13702              :                 }
   13703            9 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13704              :                 {
   13705            1 :                   switch (TREE_CODE (_p2))
   13706              :                     {
   13707            0 :                     case MAX_EXPR:
   13708            0 :                       {
   13709            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13710            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13711            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13712              :                           {
   13713            0 :                             {
   13714            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   13715            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13716            0 :                               if (res) return res;
   13717              :                             }
   13718              :                           }
   13719            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13720              :                           {
   13721            0 :                             {
   13722            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   13723            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13724            0 :                               if (res) return res;
   13725              :                             }
   13726              :                           }
   13727              :                         break;
   13728              :                       }
   13729              :                     default:;
   13730              :                     }
   13731              :                 }
   13732            9 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13733              :                 {
   13734            1 :                   switch (TREE_CODE (_p2))
   13735              :                     {
   13736            0 :                     case MAX_EXPR:
   13737            0 :                       {
   13738            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13739            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13740            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   13741              :                           {
   13742            0 :                             {
   13743            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   13744            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13745            0 :                               if (res) return res;
   13746              :                             }
   13747              :                           }
   13748            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   13749              :                           {
   13750            0 :                             {
   13751            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   13752            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13753            0 :                               if (res) return res;
   13754              :                             }
   13755              :                           }
   13756              :                         break;
   13757              :                       }
   13758            1 :                     default:;
   13759              :                     }
   13760            1 :                   {
   13761            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   13762            1 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13763            1 :                     if (res) return res;
   13764              :                   }
   13765              :                 }
   13766            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13767              :                 {
   13768            8 :                   switch (TREE_CODE (_p2))
   13769              :                     {
   13770            0 :                     case MAX_EXPR:
   13771            0 :                       {
   13772            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   13773            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   13774            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   13775              :                           {
   13776            0 :                             {
   13777            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   13778            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13779            0 :                               if (res) return res;
   13780              :                             }
   13781              :                           }
   13782            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   13783              :                           {
   13784            0 :                             {
   13785            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   13786            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13787            0 :                               if (res) return res;
   13788              :                             }
   13789              :                           }
   13790              :                         break;
   13791              :                       }
   13792            8 :                     default:;
   13793              :                     }
   13794            8 :                   {
   13795            8 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   13796            8 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   13797            8 :                     if (res) return res;
   13798              :                   }
   13799              :                 }
   13800              :               break;
   13801              :             }
   13802       552411 :           default:;
   13803              :           }
   13804       552411 :         {
   13805       552411 :           tree _q20_pops[1];
   13806       552411 :           if (tree_nop_convert (_q20, _q20_pops))
   13807              :             {
   13808        27216 :               tree _q30 = _q20_pops[0];
   13809        27216 :               if (integer_zerop (_q21))
   13810              :                 {
   13811        24021 :                   switch (TREE_CODE (_p1))
   13812              :                     {
   13813            0 :                     case MAX_EXPR:
   13814            0 :                       {
   13815            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   13816            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   13817            0 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13818              :                           {
   13819            0 :                             switch (TREE_CODE (_q61))
   13820              :                               {
   13821            0 :                               case INTEGER_CST:
   13822            0 :                                 {
   13823            0 :                                   switch (TREE_CODE (_p2))
   13824              :                                     {
   13825            0 :                                     case INTEGER_CST:
   13826            0 :                                       {
   13827            0 :                                         {
   13828            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q21, _p1, _q61, _p2 };
   13829            0 :                                           tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   13830            0 :                                           if (res) return res;
   13831              :                                         }
   13832            0 :                                         break;
   13833              :                                       }
   13834              :                                     default:;
   13835              :                                     }
   13836              :                                   break;
   13837              :                                 }
   13838              :                               default:;
   13839              :                               }
   13840              :                           }
   13841              :                         break;
   13842              :                       }
   13843              :                     default:;
   13844              :                     }
   13845              :                 }
   13846              :             }
   13847              :         }
   13848       552411 :         if (tree_expr_nonnegative_p (_q21))
   13849              :           {
   13850       401035 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13851              :               {
   13852        31751 :                 switch (TREE_CODE (_p2))
   13853              :                   {
   13854            0 :                   case ABS_EXPR:
   13855            0 :                     {
   13856            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13857            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13858              :                         {
   13859            0 :                           {
   13860            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13861            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13862            0 :                             if (res) return res;
   13863              :                           }
   13864              :                         }
   13865              :                       break;
   13866              :                     }
   13867              :                   default:;
   13868              :                   }
   13869              :               }
   13870       401035 :             switch (TREE_CODE (_p1))
   13871              :               {
   13872           12 :               case ABS_EXPR:
   13873           12 :                 {
   13874           12 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13875           12 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13876              :                     {
   13877            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   13878              :                         {
   13879            0 :                           {
   13880            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   13881            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   13882            0 :                             if (res) return res;
   13883              :                           }
   13884              :                         }
   13885              :                     }
   13886              :                   break;
   13887              :                 }
   13888              :               default:;
   13889              :               }
   13890              :           }
   13891              :         break;
   13892              :       }
   13893       927421 :     case GT_EXPR:
   13894       927421 :       {
   13895       927421 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13896       927421 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13897       927421 :         switch (TREE_CODE (_q20))
   13898              :           {
   13899         1090 :           case MINUS_EXPR:
   13900         1090 :             {
   13901         1090 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13902         1090 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13903         1090 :               switch (TREE_CODE (_q30))
   13904              :                 {
   13905            0 :                 case CALL_EXPR:
   13906            0 :                   switch (get_call_combined_fn (_q30))
   13907              :                     {
   13908            0 :                     case CFN_BUILT_IN_CEIL:
   13909            0 :                       if (call_expr_nargs (_q30) == 1)
   13910              :     {
   13911            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13912            0 :                           switch (TREE_CODE (_q40))
   13913              :                             {
   13914            0 :                             case SSA_NAME:
   13915            0 :                               {
   13916            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   13917              :                                   {
   13918            0 :                                     switch (TREE_CODE (_q31))
   13919              :                                       {
   13920            0 :                                       case SSA_NAME:
   13921            0 :                                         {
   13922            0 :                                           switch (TREE_CODE (_q21))
   13923              :                                             {
   13924            0 :                                             case MINUS_EXPR:
   13925            0 :                                               {
   13926            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   13927            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   13928            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   13929              :                                                   {
   13930            0 :                                                     switch (TREE_CODE (_q80))
   13931              :                                                       {
   13932            0 :                                                       case SSA_NAME:
   13933            0 :                                                         {
   13934            0 :                                                           switch (TREE_CODE (_q81))
   13935              :                                                             {
   13936            0 :                                                             case CALL_EXPR:
   13937            0 :                                                               switch (get_call_combined_fn (_q81))
   13938              :                                                                 {
   13939            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   13940            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   13941              :     {
   13942            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   13943            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   13944              :                                                                         {
   13945            0 :                                                                           switch (TREE_CODE (_q110))
   13946              :                                                                             {
   13947            0 :                                                                             case SSA_NAME:
   13948            0 :                                                                               {
   13949            0 :                                                                                 switch (TREE_CODE (_p1))
   13950              :                                                                                   {
   13951            0 :                                                                                   case CALL_EXPR:
   13952            0 :                                                                                     switch (get_call_combined_fn (_p1))
   13953              :                                                                                       {
   13954            0 :                                                                                       case CFN_BUILT_IN_FLOOR:
   13955            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   13956              :     {
   13957            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   13958            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   13959              :                                                                                               {
   13960            0 :                                                                                                 switch (TREE_CODE (_q140))
   13961              :                                                                                                   {
   13962            0 :                                                                                                   case SSA_NAME:
   13963            0 :                                                                                                     {
   13964            0 :                                                                                                       switch (TREE_CODE (_p2))
   13965              :                                                                                                         {
   13966            0 :                                                                                                         case CALL_EXPR:
   13967            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   13968              :                                                                                                             {
   13969            0 :                                                                                                             case CFN_BUILT_IN_CEIL:
   13970            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   13971              :     {
   13972            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   13973            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   13974              :                                                                                                                     {
   13975            0 :                                                                                                                       switch (TREE_CODE (_q170))
   13976              :                                                                                                                         {
   13977            0 :                                                                                                                         case SSA_NAME:
   13978            0 :                                                                                                                           {
   13979            0 :                                                                                                                             {
   13980            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   13981            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   13982            0 :                                                                                                                               if (res) return res;
   13983              :                                                                                                                             }
   13984            0 :                                                                                                                             break;
   13985              :                                                                                                                           }
   13986              :                                                                                                                         default:;
   13987              :                                                                                                                         }
   13988              :                                                                                                                     }
   13989              :                                                                                                                 }
   13990              :                                                                                                               break;
   13991              :                                                                                                             default:;
   13992              :                                                                                                             }
   13993              :                                                                                                           break;
   13994              :                                                                                                         default:;
   13995              :                                                                                                         }
   13996              :                                                                                                       break;
   13997              :                                                                                                     }
   13998              :                                                                                                   default:;
   13999              :                                                                                                   }
   14000              :                                                                                               }
   14001              :                                                                                           }
   14002              :                                                                                         break;
   14003              :                                                                                       default:;
   14004              :                                                                                       }
   14005              :                                                                                     break;
   14006              :                                                                                   default:;
   14007              :                                                                                   }
   14008              :                                                                                 break;
   14009              :                                                                               }
   14010              :                                                                             default:;
   14011              :                                                                             }
   14012              :                                                                         }
   14013              :                                                                     }
   14014              :                                                                   break;
   14015              :                                                                 default:;
   14016              :                                                                 }
   14017              :                                                               break;
   14018              :                                                             default:;
   14019              :                                                             }
   14020              :                                                           break;
   14021              :                                                         }
   14022              :                                                       default:;
   14023              :                                                       }
   14024              :                                                   }
   14025              :                                                 break;
   14026              :                                               }
   14027              :                                             default:;
   14028              :                                             }
   14029              :                                           break;
   14030              :                                         }
   14031              :                                       default:;
   14032              :                                       }
   14033              :                                   }
   14034              :                                 break;
   14035              :                               }
   14036              :                             default:;
   14037              :                             }
   14038              :                         }
   14039              :                       break;
   14040            0 :                     case CFN_CEIL:
   14041            0 :                       if (call_expr_nargs (_q30) == 1)
   14042              :     {
   14043            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14044            0 :                           switch (TREE_CODE (_q40))
   14045              :                             {
   14046            0 :                             case SSA_NAME:
   14047            0 :                               {
   14048            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14049              :                                   {
   14050            0 :                                     switch (TREE_CODE (_q31))
   14051              :                                       {
   14052            0 :                                       case SSA_NAME:
   14053            0 :                                         {
   14054            0 :                                           switch (TREE_CODE (_q21))
   14055              :                                             {
   14056            0 :                                             case MINUS_EXPR:
   14057            0 :                                               {
   14058            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14059            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14060            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14061              :                                                   {
   14062            0 :                                                     switch (TREE_CODE (_q80))
   14063              :                                                       {
   14064            0 :                                                       case SSA_NAME:
   14065            0 :                                                         {
   14066            0 :                                                           switch (TREE_CODE (_q81))
   14067              :                                                             {
   14068            0 :                                                             case CALL_EXPR:
   14069            0 :                                                               switch (get_call_combined_fn (_q81))
   14070              :                                                                 {
   14071            0 :                                                                 case CFN_FLOOR:
   14072            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14073              :     {
   14074            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14075            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14076              :                                                                         {
   14077            0 :                                                                           switch (TREE_CODE (_q110))
   14078              :                                                                             {
   14079            0 :                                                                             case SSA_NAME:
   14080            0 :                                                                               {
   14081            0 :                                                                                 switch (TREE_CODE (_p1))
   14082              :                                                                                   {
   14083            0 :                                                                                   case CALL_EXPR:
   14084            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14085              :                                                                                       {
   14086            0 :                                                                                       case CFN_FLOOR:
   14087            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14088              :     {
   14089            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14090            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14091              :                                                                                               {
   14092            0 :                                                                                                 switch (TREE_CODE (_q140))
   14093              :                                                                                                   {
   14094            0 :                                                                                                   case SSA_NAME:
   14095            0 :                                                                                                     {
   14096            0 :                                                                                                       switch (TREE_CODE (_p2))
   14097              :                                                                                                         {
   14098            0 :                                                                                                         case CALL_EXPR:
   14099            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14100              :                                                                                                             {
   14101            0 :                                                                                                             case CFN_CEIL:
   14102            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14103              :     {
   14104            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14105            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14106              :                                                                                                                     {
   14107            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14108              :                                                                                                                         {
   14109            0 :                                                                                                                         case SSA_NAME:
   14110            0 :                                                                                                                           {
   14111            0 :                                                                                                                             {
   14112            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14113            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_FLOOR, CFN_CEIL, CFN_FLOOR, CFN_CEIL);
   14114            0 :                                                                                                                               if (res) return res;
   14115              :                                                                                                                             }
   14116            0 :                                                                                                                             break;
   14117              :                                                                                                                           }
   14118              :                                                                                                                         default:;
   14119              :                                                                                                                         }
   14120              :                                                                                                                     }
   14121              :                                                                                                                 }
   14122              :                                                                                                               break;
   14123              :                                                                                                             default:;
   14124              :                                                                                                             }
   14125              :                                                                                                           break;
   14126              :                                                                                                         default:;
   14127              :                                                                                                         }
   14128              :                                                                                                       break;
   14129              :                                                                                                     }
   14130              :                                                                                                   default:;
   14131              :                                                                                                   }
   14132              :                                                                                               }
   14133              :                                                                                           }
   14134              :                                                                                         break;
   14135              :                                                                                       default:;
   14136              :                                                                                       }
   14137              :                                                                                     break;
   14138              :                                                                                   default:;
   14139              :                                                                                   }
   14140              :                                                                                 break;
   14141              :                                                                               }
   14142              :                                                                             default:;
   14143              :                                                                             }
   14144              :                                                                         }
   14145              :                                                                     }
   14146              :                                                                   break;
   14147              :                                                                 default:;
   14148              :                                                                 }
   14149              :                                                               break;
   14150              :                                                             default:;
   14151              :                                                             }
   14152              :                                                           break;
   14153              :                                                         }
   14154              :                                                       default:;
   14155              :                                                       }
   14156              :                                                   }
   14157              :                                                 break;
   14158              :                                               }
   14159              :                                             default:;
   14160              :                                             }
   14161              :                                           break;
   14162              :                                         }
   14163              :                                       default:;
   14164              :                                       }
   14165              :                                   }
   14166              :                                 break;
   14167              :                               }
   14168              :                             default:;
   14169              :                             }
   14170              :                         }
   14171              :                       break;
   14172            0 :                     case CFN_BUILT_IN_CEILF:
   14173            0 :                       if (call_expr_nargs (_q30) == 1)
   14174              :     {
   14175            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14176            0 :                           switch (TREE_CODE (_q40))
   14177              :                             {
   14178            0 :                             case SSA_NAME:
   14179            0 :                               {
   14180            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14181              :                                   {
   14182            0 :                                     switch (TREE_CODE (_q31))
   14183              :                                       {
   14184            0 :                                       case SSA_NAME:
   14185            0 :                                         {
   14186            0 :                                           switch (TREE_CODE (_q21))
   14187              :                                             {
   14188            0 :                                             case MINUS_EXPR:
   14189            0 :                                               {
   14190            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14191            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14192            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14193              :                                                   {
   14194            0 :                                                     switch (TREE_CODE (_q80))
   14195              :                                                       {
   14196            0 :                                                       case SSA_NAME:
   14197            0 :                                                         {
   14198            0 :                                                           switch (TREE_CODE (_q81))
   14199              :                                                             {
   14200            0 :                                                             case CALL_EXPR:
   14201            0 :                                                               switch (get_call_combined_fn (_q81))
   14202              :                                                                 {
   14203            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   14204            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14205              :     {
   14206            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14207            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14208              :                                                                         {
   14209            0 :                                                                           switch (TREE_CODE (_q110))
   14210              :                                                                             {
   14211            0 :                                                                             case SSA_NAME:
   14212            0 :                                                                               {
   14213            0 :                                                                                 switch (TREE_CODE (_p1))
   14214              :                                                                                   {
   14215            0 :                                                                                   case CALL_EXPR:
   14216            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14217              :                                                                                       {
   14218            0 :                                                                                       case CFN_BUILT_IN_FLOORF:
   14219            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14220              :     {
   14221            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14222            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14223              :                                                                                               {
   14224            0 :                                                                                                 switch (TREE_CODE (_q140))
   14225              :                                                                                                   {
   14226            0 :                                                                                                   case SSA_NAME:
   14227            0 :                                                                                                     {
   14228            0 :                                                                                                       switch (TREE_CODE (_p2))
   14229              :                                                                                                         {
   14230            0 :                                                                                                         case CALL_EXPR:
   14231            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14232              :                                                                                                             {
   14233            0 :                                                                                                             case CFN_BUILT_IN_CEILF:
   14234            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14235              :     {
   14236            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14237            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14238              :                                                                                                                     {
   14239            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14240              :                                                                                                                         {
   14241            0 :                                                                                                                         case SSA_NAME:
   14242            0 :                                                                                                                           {
   14243            0 :                                                                                                                             {
   14244            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14245            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   14246            0 :                                                                                                                               if (res) return res;
   14247              :                                                                                                                             }
   14248            0 :                                                                                                                             break;
   14249              :                                                                                                                           }
   14250              :                                                                                                                         default:;
   14251              :                                                                                                                         }
   14252              :                                                                                                                     }
   14253              :                                                                                                                 }
   14254              :                                                                                                               break;
   14255              :                                                                                                             default:;
   14256              :                                                                                                             }
   14257              :                                                                                                           break;
   14258              :                                                                                                         default:;
   14259              :                                                                                                         }
   14260              :                                                                                                       break;
   14261              :                                                                                                     }
   14262              :                                                                                                   default:;
   14263              :                                                                                                   }
   14264              :                                                                                               }
   14265              :                                                                                           }
   14266              :                                                                                         break;
   14267              :                                                                                       default:;
   14268              :                                                                                       }
   14269              :                                                                                     break;
   14270              :                                                                                   default:;
   14271              :                                                                                   }
   14272              :                                                                                 break;
   14273              :                                                                               }
   14274              :                                                                             default:;
   14275              :                                                                             }
   14276              :                                                                         }
   14277              :                                                                     }
   14278              :                                                                   break;
   14279              :                                                                 default:;
   14280              :                                                                 }
   14281              :                                                               break;
   14282              :                                                             default:;
   14283              :                                                             }
   14284              :                                                           break;
   14285              :                                                         }
   14286              :                                                       default:;
   14287              :                                                       }
   14288              :                                                   }
   14289              :                                                 break;
   14290              :                                               }
   14291              :                                             default:;
   14292              :                                             }
   14293              :                                           break;
   14294              :                                         }
   14295              :                                       default:;
   14296              :                                       }
   14297              :                                   }
   14298              :                                 break;
   14299              :                               }
   14300              :                             default:;
   14301              :                             }
   14302              :                         }
   14303              :                       break;
   14304            0 :                     case CFN_BUILT_IN_CEILL:
   14305            0 :                       if (call_expr_nargs (_q30) == 1)
   14306              :     {
   14307            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14308            0 :                           switch (TREE_CODE (_q40))
   14309              :                             {
   14310            0 :                             case SSA_NAME:
   14311            0 :                               {
   14312            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   14313              :                                   {
   14314            0 :                                     switch (TREE_CODE (_q31))
   14315              :                                       {
   14316            0 :                                       case SSA_NAME:
   14317            0 :                                         {
   14318            0 :                                           switch (TREE_CODE (_q21))
   14319              :                                             {
   14320            0 :                                             case MINUS_EXPR:
   14321            0 :                                               {
   14322            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   14323            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   14324            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   14325              :                                                   {
   14326            0 :                                                     switch (TREE_CODE (_q80))
   14327              :                                                       {
   14328            0 :                                                       case SSA_NAME:
   14329            0 :                                                         {
   14330            0 :                                                           switch (TREE_CODE (_q81))
   14331              :                                                             {
   14332            0 :                                                             case CALL_EXPR:
   14333            0 :                                                               switch (get_call_combined_fn (_q81))
   14334              :                                                                 {
   14335            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   14336            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   14337              :     {
   14338            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   14339            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   14340              :                                                                         {
   14341            0 :                                                                           switch (TREE_CODE (_q110))
   14342              :                                                                             {
   14343            0 :                                                                             case SSA_NAME:
   14344            0 :                                                                               {
   14345            0 :                                                                                 switch (TREE_CODE (_p1))
   14346              :                                                                                   {
   14347            0 :                                                                                   case CALL_EXPR:
   14348            0 :                                                                                     switch (get_call_combined_fn (_p1))
   14349              :                                                                                       {
   14350            0 :                                                                                       case CFN_BUILT_IN_FLOORL:
   14351            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   14352              :     {
   14353            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   14354            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   14355              :                                                                                               {
   14356            0 :                                                                                                 switch (TREE_CODE (_q140))
   14357              :                                                                                                   {
   14358            0 :                                                                                                   case SSA_NAME:
   14359            0 :                                                                                                     {
   14360            0 :                                                                                                       switch (TREE_CODE (_p2))
   14361              :                                                                                                         {
   14362            0 :                                                                                                         case CALL_EXPR:
   14363            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   14364              :                                                                                                             {
   14365            0 :                                                                                                             case CFN_BUILT_IN_CEILL:
   14366            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   14367              :     {
   14368            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   14369            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   14370              :                                                                                                                     {
   14371            0 :                                                                                                                       switch (TREE_CODE (_q170))
   14372              :                                                                                                                         {
   14373            0 :                                                                                                                         case SSA_NAME:
   14374            0 :                                                                                                                           {
   14375            0 :                                                                                                                             {
   14376            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   14377            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   14378            0 :                                                                                                                               if (res) return res;
   14379              :                                                                                                                             }
   14380            0 :                                                                                                                             break;
   14381              :                                                                                                                           }
   14382              :                                                                                                                         default:;
   14383              :                                                                                                                         }
   14384              :                                                                                                                     }
   14385              :                                                                                                                 }
   14386              :                                                                                                               break;
   14387              :                                                                                                             default:;
   14388              :                                                                                                             }
   14389              :                                                                                                           break;
   14390              :                                                                                                         default:;
   14391              :                                                                                                         }
   14392              :                                                                                                       break;
   14393              :                                                                                                     }
   14394              :                                                                                                   default:;
   14395              :                                                                                                   }
   14396              :                                                                                               }
   14397              :                                                                                           }
   14398              :                                                                                         break;
   14399              :                                                                                       default:;
   14400              :                                                                                       }
   14401              :                                                                                     break;
   14402              :                                                                                   default:;
   14403              :                                                                                   }
   14404              :                                                                                 break;
   14405              :                                                                               }
   14406              :                                                                             default:;
   14407              :                                                                             }
   14408              :                                                                         }
   14409              :                                                                     }
   14410              :                                                                   break;
   14411              :                                                                 default:;
   14412              :                                                                 }
   14413              :                                                               break;
   14414              :                                                             default:;
   14415              :                                                             }
   14416              :                                                           break;
   14417              :                                                         }
   14418              :                                                       default:;
   14419              :                                                       }
   14420              :                                                   }
   14421              :                                                 break;
   14422              :                                               }
   14423              :                                             default:;
   14424              :                                             }
   14425              :                                           break;
   14426              :                                         }
   14427              :                                       default:;
   14428              :                                       }
   14429              :                                   }
   14430              :                                 break;
   14431              :                               }
   14432              :                             default:;
   14433              :                             }
   14434              :                         }
   14435              :                       break;
   14436              :                     default:;
   14437              :                     }
   14438              :                   break;
   14439              :                 default:;
   14440              :                 }
   14441              :               break;
   14442              :             }
   14443        88544 :           CASE_CONVERT:
   14444        88544 :             {
   14445        88544 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14446        88544 :               switch (TREE_CODE (_q21))
   14447              :                 {
   14448         4084 :                 case INTEGER_CST:
   14449         4084 :                   {
   14450         4084 :                     switch (TREE_CODE (_p1))
   14451              :                       {
   14452          203 :                       CASE_CONVERT:
   14453          203 :                         {
   14454          203 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14455          203 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14456              :                             {
   14457           63 :                               switch (TREE_CODE (_p2))
   14458              :                                 {
   14459           62 :                                 case INTEGER_CST:
   14460           62 :                                   {
   14461           62 :                                     {
   14462           62 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14463           62 :                                       tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14464           62 :                                       if (res) return res;
   14465              :                                     }
   14466           62 :                                     break;
   14467              :                                   }
   14468              :                                 default:;
   14469              :                                 }
   14470              :                             }
   14471              :                           break;
   14472              :                         }
   14473         4084 :                       default:;
   14474              :                       }
   14475         4084 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   14476              :                       {
   14477            5 :                         switch (TREE_CODE (_p2))
   14478              :                           {
   14479            3 :                           case INTEGER_CST:
   14480            3 :                             {
   14481            3 :                               {
   14482            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   14483            3 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14484            3 :                                 if (res) return res;
   14485              :                               }
   14486            3 :                               break;
   14487              :                             }
   14488              :                           default:;
   14489              :                           }
   14490              :                       }
   14491         4084 :                     switch (TREE_CODE (_p1))
   14492              :                       {
   14493         1170 :                       case PLUS_EXPR:
   14494         1170 :                         {
   14495         1170 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14496         1170 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14497         1170 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14498              :                             {
   14499           24 :                               switch (TREE_CODE (_q61))
   14500              :                                 {
   14501           24 :                                 case INTEGER_CST:
   14502           24 :                                   {
   14503           24 :                                     switch (TREE_CODE (_p2))
   14504              :                                       {
   14505           24 :                                       case INTEGER_CST:
   14506           24 :                                         {
   14507           24 :                                           {
   14508           24 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14509           24 :                                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   14510           24 :                                             if (res) return res;
   14511              :                                           }
   14512           24 :                                           break;
   14513              :                                         }
   14514              :                                       default:;
   14515              :                                       }
   14516              :                                     break;
   14517              :                                   }
   14518              :                                 default:;
   14519              :                                 }
   14520              :                             }
   14521              :                           break;
   14522              :                         }
   14523            3 :                       case MINUS_EXPR:
   14524            3 :                         {
   14525            3 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   14526            3 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   14527            3 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14528              :                             {
   14529            0 :                               switch (TREE_CODE (_q61))
   14530              :                                 {
   14531            0 :                                 case INTEGER_CST:
   14532            0 :                                   {
   14533            0 :                                     switch (TREE_CODE (_p2))
   14534              :                                       {
   14535            0 :                                       case INTEGER_CST:
   14536            0 :                                         {
   14537            0 :                                           {
   14538            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   14539            0 :                                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   14540            0 :                                             if (res) return res;
   14541              :                                           }
   14542            0 :                                           break;
   14543              :                                         }
   14544              :                                       default:;
   14545              :                                       }
   14546              :                                     break;
   14547              :                                   }
   14548              :                                 default:;
   14549              :                                 }
   14550              :                             }
   14551              :                           break;
   14552              :                         }
   14553              :                       default:;
   14554              :                       }
   14555              :                     break;
   14556              :                   }
   14557              :                 default:;
   14558              :                 }
   14559              :               break;
   14560              :             }
   14561       927421 :           default:;
   14562              :           }
   14563       927421 :         switch (TREE_CODE (_q21))
   14564              :           {
   14565       481777 :           case INTEGER_CST:
   14566       481777 :             {
   14567       481777 :               switch (TREE_CODE (_p1))
   14568              :                 {
   14569        54339 :                 CASE_CONVERT:
   14570        54339 :                   {
   14571        54339 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14572        54339 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14573              :                       {
   14574        12756 :                         switch (TREE_CODE (_p2))
   14575              :                           {
   14576        12720 :                           case INTEGER_CST:
   14577        12720 :                             {
   14578        12720 :                               {
   14579        12720 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14580        12720 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14581        12720 :                                 if (res) return res;
   14582              :                               }
   14583        12411 :                               break;
   14584              :                             }
   14585              :                           default:;
   14586              :                           }
   14587              :                       }
   14588              :                     break;
   14589              :                   }
   14590       481468 :                 default:;
   14591              :                 }
   14592       481468 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14593              :                 {
   14594         8842 :                   switch (TREE_CODE (_p2))
   14595              :                     {
   14596         8668 :                     case INTEGER_CST:
   14597         8668 :                       {
   14598         8668 :                         {
   14599         8668 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   14600         8668 :                           tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   14601         8668 :                           if (res) return res;
   14602              :                         }
   14603           31 :                         break;
   14604              :                       }
   14605              :                     default:;
   14606              :                     }
   14607              :                 }
   14608       472831 :               switch (TREE_CODE (_p1))
   14609              :                 {
   14610        47927 :                 case PLUS_EXPR:
   14611        47927 :                   {
   14612        47927 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14613        47927 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   14614        47927 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14615              :                       {
   14616          737 :                         switch (TREE_CODE (_q51))
   14617              :                           {
   14618          737 :                           case INTEGER_CST:
   14619          737 :                             {
   14620          737 :                               switch (TREE_CODE (_p2))
   14621              :                                 {
   14622          729 :                                 case INTEGER_CST:
   14623          729 :                                   {
   14624          729 :                                     {
   14625          729 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   14626          729 :                                       tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, PLUS_EXPR);
   14627          729 :                                       if (res) return res;
   14628              :                                     }
   14629           17 :                                     break;
   14630              :                                   }
   14631              :                                 default:;
   14632              :                                 }
   14633              :                               break;
   14634              :                             }
   14635              :                           default:;
   14636              :                           }
   14637              :                       }
   14638              :                     break;
   14639              :                   }
   14640          193 :                 case MINUS_EXPR:
   14641          193 :                   {
   14642          193 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   14643          193 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   14644          193 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14645              :                       {
   14646            4 :                         switch (TREE_CODE (_q51))
   14647              :                           {
   14648            0 :                           case INTEGER_CST:
   14649            0 :                             {
   14650            0 :                               switch (TREE_CODE (_p2))
   14651              :                                 {
   14652            0 :                                 case INTEGER_CST:
   14653            0 :                                   {
   14654            0 :                                     {
   14655            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   14656            0 :                                       tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MINUS_EXPR);
   14657            0 :                                       if (res) return res;
   14658              :                                     }
   14659            0 :                                     break;
   14660              :                                   }
   14661              :                                 default:;
   14662              :                                 }
   14663              :                               break;
   14664              :                             }
   14665              :                           default:;
   14666              :                           }
   14667              :                       }
   14668              :                     break;
   14669              :                   }
   14670              :                 default:;
   14671              :                 }
   14672              :               break;
   14673              :             }
   14674       917763 :           default:;
   14675              :           }
   14676       917763 :         switch (TREE_CODE (_p1))
   14677              :           {
   14678           18 :           case MIN_EXPR:
   14679           18 :             {
   14680           18 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14681           18 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14682           18 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14683              :                 {
   14684            7 :                   switch (TREE_CODE (_p2))
   14685              :                     {
   14686            0 :                     case MIN_EXPR:
   14687            0 :                       {
   14688            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14689            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14690            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14691              :                           {
   14692            0 :                             {
   14693            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14694            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14695            0 :                               if (res) return res;
   14696              :                             }
   14697              :                           }
   14698            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14699              :                           {
   14700            0 :                             {
   14701            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14702            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14703            0 :                               if (res) return res;
   14704              :                             }
   14705              :                           }
   14706              :                         break;
   14707              :                       }
   14708            7 :                     default:;
   14709              :                     }
   14710            7 :                   {
   14711            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   14712            7 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14713            7 :                     if (res) return res;
   14714              :                   }
   14715              :                 }
   14716           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14717              :                 {
   14718            0 :                   switch (TREE_CODE (_p2))
   14719              :                     {
   14720            0 :                     case MIN_EXPR:
   14721            0 :                       {
   14722            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14723            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14724            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14725              :                           {
   14726            0 :                             {
   14727            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14728            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14729            0 :                               if (res) return res;
   14730              :                             }
   14731              :                           }
   14732            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14733              :                           {
   14734            0 :                             {
   14735            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14736            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14737            0 :                               if (res) return res;
   14738              :                             }
   14739              :                           }
   14740              :                         break;
   14741              :                       }
   14742              :                     default:;
   14743              :                     }
   14744              :                 }
   14745           18 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14746              :                 {
   14747            8 :                   switch (TREE_CODE (_p2))
   14748              :                     {
   14749            0 :                     case MIN_EXPR:
   14750            0 :                       {
   14751            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14752            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14753            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14754              :                           {
   14755            0 :                             {
   14756            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14757            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14758            0 :                               if (res) return res;
   14759              :                             }
   14760              :                           }
   14761            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14762              :                           {
   14763            0 :                             {
   14764            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14765            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14766            0 :                               if (res) return res;
   14767              :                             }
   14768              :                           }
   14769              :                         break;
   14770              :                       }
   14771              :                     default:;
   14772              :                     }
   14773              :                 }
   14774           18 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14775              :                 {
   14776            7 :                   switch (TREE_CODE (_p2))
   14777              :                     {
   14778            0 :                     case MIN_EXPR:
   14779            0 :                       {
   14780            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14781            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14782            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14783              :                           {
   14784            0 :                             {
   14785            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14786            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14787            0 :                               if (res) return res;
   14788              :                             }
   14789              :                           }
   14790            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14791              :                           {
   14792            0 :                             {
   14793            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14794            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14795            0 :                               if (res) return res;
   14796              :                             }
   14797              :                           }
   14798              :                         break;
   14799              :                       }
   14800              :                     default:;
   14801              :                     }
   14802              :                 }
   14803           18 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14804              :                 {
   14805            0 :                   {
   14806            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   14807            0 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MIN_EXPR);
   14808            0 :                     if (res) return res;
   14809              :                   }
   14810              :                 }
   14811              :               break;
   14812              :             }
   14813          109 :           case MAX_EXPR:
   14814          109 :             {
   14815          109 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14816          109 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14817          109 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14818              :                 {
   14819            0 :                   switch (TREE_CODE (_p2))
   14820              :                     {
   14821            0 :                     case MAX_EXPR:
   14822            0 :                       {
   14823            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14824            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14825            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14826              :                           {
   14827            0 :                             {
   14828            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   14829            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14830            0 :                               if (res) return res;
   14831              :                             }
   14832              :                           }
   14833            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14834              :                           {
   14835            0 :                             {
   14836            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   14837            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14838            0 :                               if (res) return res;
   14839              :                             }
   14840              :                           }
   14841              :                         break;
   14842              :                       }
   14843              :                     default:;
   14844              :                     }
   14845              :                 }
   14846          109 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14847              :                 {
   14848           11 :                   switch (TREE_CODE (_p2))
   14849              :                     {
   14850           10 :                     case MAX_EXPR:
   14851           10 :                       {
   14852           10 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14853           10 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14854           10 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14855              :                           {
   14856            0 :                             {
   14857            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   14858            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14859            0 :                               if (res) return res;
   14860              :                             }
   14861              :                           }
   14862           10 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14863              :                           {
   14864           10 :                             {
   14865           10 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   14866           10 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GT_EXPR, MAX_EXPR);
   14867           10 :                               if (res) return res;
   14868              :                             }
   14869              :                           }
   14870              :                         break;
   14871              :                       }
   14872              :                     default:;
   14873              :                     }
   14874              :                 }
   14875          107 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14876              :                 {
   14877            1 :                   switch (TREE_CODE (_p2))
   14878              :                     {
   14879            0 :                     case MAX_EXPR:
   14880            0 :                       {
   14881            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14882            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14883            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   14884              :                           {
   14885            0 :                             {
   14886            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   14887            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14888            0 :                               if (res) return res;
   14889              :                             }
   14890              :                           }
   14891            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   14892              :                           {
   14893            0 :                             {
   14894            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   14895            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14896            0 :                               if (res) return res;
   14897              :                             }
   14898              :                           }
   14899              :                         break;
   14900              :                       }
   14901            1 :                     default:;
   14902              :                     }
   14903            1 :                   {
   14904            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   14905            1 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14906            1 :                     if (res) return res;
   14907              :                   }
   14908              :                 }
   14909          106 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14910              :                 {
   14911            0 :                   switch (TREE_CODE (_p2))
   14912              :                     {
   14913            0 :                     case MAX_EXPR:
   14914            0 :                       {
   14915            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   14916            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   14917            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   14918              :                           {
   14919            0 :                             {
   14920            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   14921            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14922            0 :                               if (res) return res;
   14923              :                             }
   14924              :                           }
   14925            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   14926              :                           {
   14927            0 :                             {
   14928            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   14929            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14930            0 :                               if (res) return res;
   14931              :                             }
   14932              :                           }
   14933              :                         break;
   14934              :                       }
   14935            0 :                     default:;
   14936              :                     }
   14937            0 :                   {
   14938            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   14939            0 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MAX_EXPR);
   14940            0 :                     if (res) return res;
   14941              :                   }
   14942              :                 }
   14943              :               break;
   14944              :             }
   14945       917760 :           default:;
   14946              :           }
   14947       917760 :         if (integer_zerop (_q20))
   14948              :           {
   14949            0 :             {
   14950            0 :               tree _q21_pops[1];
   14951            0 :               if (tree_nop_convert (_q21, _q21_pops))
   14952              :                 {
   14953            0 :                   tree _q40 = _q21_pops[0];
   14954            0 :                   switch (TREE_CODE (_p1))
   14955              :                     {
   14956            0 :                     case MIN_EXPR:
   14957            0 :                       {
   14958            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   14959            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   14960            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14961              :                           {
   14962            0 :                             switch (TREE_CODE (_q61))
   14963              :                               {
   14964            0 :                               case INTEGER_CST:
   14965            0 :                                 {
   14966            0 :                                   switch (TREE_CODE (_p2))
   14967              :                                     {
   14968            0 :                                     case INTEGER_CST:
   14969            0 :                                       {
   14970            0 :                                         {
   14971            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   14972            0 :                                           tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, LT_EXPR, MIN_EXPR);
   14973            0 :                                           if (res) return res;
   14974              :                                         }
   14975            0 :                                         break;
   14976              :                                       }
   14977              :                                     default:;
   14978              :                                     }
   14979              :                                   break;
   14980              :                                 }
   14981              :                               default:;
   14982              :                               }
   14983              :                           }
   14984              :                         break;
   14985              :                       }
   14986              :                     default:;
   14987              :                     }
   14988              :                 }
   14989              :             }
   14990              :           }
   14991       917760 :         if (tree_expr_nonnegative_p (_q21))
   14992              :           {
   14993       590368 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14994              :               {
   14995          612 :                 switch (TREE_CODE (_p2))
   14996              :                   {
   14997            0 :                   case ABS_EXPR:
   14998            0 :                     {
   14999            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   15000            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   15001              :                         {
   15002            0 :                           {
   15003            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15004            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   15005            0 :                             if (res) return res;
   15006              :                           }
   15007              :                         }
   15008              :                       break;
   15009              :                     }
   15010              :                   default:;
   15011              :                   }
   15012              :               }
   15013       590368 :             switch (TREE_CODE (_p1))
   15014              :               {
   15015            1 :               case ABS_EXPR:
   15016            1 :                 {
   15017            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15018            1 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15019              :                     {
   15020            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15021              :                         {
   15022            0 :                           {
   15023            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   15024            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, GT_EXPR);
   15025            0 :                             if (res) return res;
   15026              :                           }
   15027              :                         }
   15028              :                     }
   15029              :                   break;
   15030              :                 }
   15031              :               default:;
   15032              :               }
   15033              :           }
   15034       917760 :         switch (TREE_CODE (_q20))
   15035              :           {
   15036        56590 :           case PLUS_EXPR:
   15037        56590 :             {
   15038        56590 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15039        56590 :               tree _q31 = TREE_OPERAND (_q20, 1);
   15040        56590 :               if (integer_onep (_q31))
   15041              :                 {
   15042        28453 :                   switch (TREE_CODE (_p1))
   15043              :                     {
   15044            2 :                     case NEGATE_EXPR:
   15045            2 :                       {
   15046            2 :                         tree _q70 = TREE_OPERAND (_p1, 0);
   15047            2 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   15048              :                           {
   15049            2 :                             if (integer_onep (_p2))
   15050              :                               {
   15051            2 :                                 {
   15052            2 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15053            2 :                                   if (TYPE_UNSIGNED (type)
   15054              : )
   15055              :                                     {
   15056            2 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1859;
   15057            2 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1859;
   15058            2 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1859;
   15059            2 :                                       {
   15060            2 :                                         tree res_op0;
   15061            2 :                                         {
   15062            2 :                                           tree _o1[2], _r1;
   15063            2 :                                           _o1[0] = unshare_expr (captures[0]);
   15064            2 :                                           _o1[1] = captures[1];
   15065            2 :                                           _r1 = fold_build2_loc (loc, GE_EXPR, boolean_type_node, _o1[0], _o1[1]);
   15066            2 :                                           res_op0 = _r1;
   15067              :                                         }
   15068            2 :                                         tree res_op1;
   15069            2 :                                         {
   15070            2 :                                           tree _o1[1], _r1;
   15071            2 :                                           _o1[0] = captures[0];
   15072            2 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   15073            2 :                                           res_op1 = _r1;
   15074              :                                         }
   15075            2 :                                         tree res_op2;
   15076            2 :                                         res_op2 = captures[2];
   15077            2 :                                         tree _r;
   15078            2 :                                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   15079            2 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   15080            2 :                                         return _r;
   15081              :                                       }
   15082            0 : next_after_fail1859:;
   15083              :                                     }
   15084              :                                 }
   15085              :                               }
   15086              :                           }
   15087              :                         break;
   15088              :                       }
   15089              :                     default:;
   15090              :                     }
   15091              :                 }
   15092              :               break;
   15093              :             }
   15094              :           default:;
   15095              :           }
   15096              :         break;
   15097              :       }
   15098      1401399 :     case LE_EXPR:
   15099      1401399 :       {
   15100      1401399 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15101      1401399 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15102      1401399 :         switch (TREE_CODE (_q20))
   15103              :           {
   15104          198 :           case MINUS_EXPR:
   15105          198 :             {
   15106          198 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15107          198 :               tree _q31 = TREE_OPERAND (_q20, 1);
   15108          198 :               switch (TREE_CODE (_q30))
   15109              :                 {
   15110            0 :                 case CALL_EXPR:
   15111            0 :                   switch (get_call_combined_fn (_q30))
   15112              :                     {
   15113            0 :                     case CFN_BUILT_IN_CEIL:
   15114            0 :                       if (call_expr_nargs (_q30) == 1)
   15115              :     {
   15116            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15117            0 :                           switch (TREE_CODE (_q40))
   15118              :                             {
   15119            0 :                             case SSA_NAME:
   15120            0 :                               {
   15121            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15122              :                                   {
   15123            0 :                                     switch (TREE_CODE (_q31))
   15124              :                                       {
   15125            0 :                                       case SSA_NAME:
   15126            0 :                                         {
   15127            0 :                                           switch (TREE_CODE (_q21))
   15128              :                                             {
   15129            0 :                                             case MINUS_EXPR:
   15130            0 :                                               {
   15131            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15132            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15133            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15134              :                                                   {
   15135            0 :                                                     switch (TREE_CODE (_q80))
   15136              :                                                       {
   15137            0 :                                                       case SSA_NAME:
   15138            0 :                                                         {
   15139            0 :                                                           switch (TREE_CODE (_q81))
   15140              :                                                             {
   15141            0 :                                                             case CALL_EXPR:
   15142            0 :                                                               switch (get_call_combined_fn (_q81))
   15143              :                                                                 {
   15144            0 :                                                                 case CFN_BUILT_IN_FLOOR:
   15145            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15146              :     {
   15147            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15148            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15149              :                                                                         {
   15150            0 :                                                                           switch (TREE_CODE (_q110))
   15151              :                                                                             {
   15152            0 :                                                                             case SSA_NAME:
   15153            0 :                                                                               {
   15154            0 :                                                                                 switch (TREE_CODE (_p1))
   15155              :                                                                                   {
   15156            0 :                                                                                   case CALL_EXPR:
   15157            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15158              :                                                                                       {
   15159            0 :                                                                                       case CFN_BUILT_IN_CEIL:
   15160            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15161              :     {
   15162            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15163            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15164              :                                                                                               {
   15165            0 :                                                                                                 switch (TREE_CODE (_q140))
   15166              :                                                                                                   {
   15167            0 :                                                                                                   case SSA_NAME:
   15168            0 :                                                                                                     {
   15169            0 :                                                                                                       switch (TREE_CODE (_p2))
   15170              :                                                                                                         {
   15171            0 :                                                                                                         case CALL_EXPR:
   15172            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15173              :                                                                                                             {
   15174            0 :                                                                                                             case CFN_BUILT_IN_FLOOR:
   15175            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15176              :     {
   15177            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15178            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15179              :                                                                                                                     {
   15180            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15181              :                                                                                                                         {
   15182            0 :                                                                                                                         case SSA_NAME:
   15183            0 :                                                                                                                           {
   15184            0 :                                                                                                                             {
   15185            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15186            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_CEIL);
   15187            0 :                                                                                                                               if (res) return res;
   15188              :                                                                                                                             }
   15189            0 :                                                                                                                             break;
   15190              :                                                                                                                           }
   15191              :                                                                                                                         default:;
   15192              :                                                                                                                         }
   15193              :                                                                                                                     }
   15194              :                                                                                                                 }
   15195              :                                                                                                               break;
   15196              :                                                                                                             default:;
   15197              :                                                                                                             }
   15198              :                                                                                                           break;
   15199              :                                                                                                         default:;
   15200              :                                                                                                         }
   15201              :                                                                                                       break;
   15202              :                                                                                                     }
   15203              :                                                                                                   default:;
   15204              :                                                                                                   }
   15205              :                                                                                               }
   15206              :                                                                                           }
   15207              :                                                                                         break;
   15208              :                                                                                       default:;
   15209              :                                                                                       }
   15210              :                                                                                     break;
   15211              :                                                                                   default:;
   15212              :                                                                                   }
   15213              :                                                                                 break;
   15214              :                                                                               }
   15215              :                                                                             default:;
   15216              :                                                                             }
   15217              :                                                                         }
   15218              :                                                                     }
   15219              :                                                                   break;
   15220              :                                                                 default:;
   15221              :                                                                 }
   15222              :                                                               break;
   15223              :                                                             default:;
   15224              :                                                             }
   15225              :                                                           break;
   15226              :                                                         }
   15227              :                                                       default:;
   15228              :                                                       }
   15229              :                                                   }
   15230              :                                                 break;
   15231              :                                               }
   15232              :                                             default:;
   15233              :                                             }
   15234              :                                           break;
   15235              :                                         }
   15236              :                                       default:;
   15237              :                                       }
   15238              :                                   }
   15239              :                                 break;
   15240              :                               }
   15241              :                             default:;
   15242              :                             }
   15243              :                         }
   15244              :                       break;
   15245            0 :                     case CFN_CEIL:
   15246            0 :                       if (call_expr_nargs (_q30) == 1)
   15247              :     {
   15248            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15249            0 :                           switch (TREE_CODE (_q40))
   15250              :                             {
   15251            0 :                             case SSA_NAME:
   15252            0 :                               {
   15253            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15254              :                                   {
   15255            0 :                                     switch (TREE_CODE (_q31))
   15256              :                                       {
   15257            0 :                                       case SSA_NAME:
   15258            0 :                                         {
   15259            0 :                                           switch (TREE_CODE (_q21))
   15260              :                                             {
   15261            0 :                                             case MINUS_EXPR:
   15262            0 :                                               {
   15263            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15264            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15265            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15266              :                                                   {
   15267            0 :                                                     switch (TREE_CODE (_q80))
   15268              :                                                       {
   15269            0 :                                                       case SSA_NAME:
   15270            0 :                                                         {
   15271            0 :                                                           switch (TREE_CODE (_q81))
   15272              :                                                             {
   15273            0 :                                                             case CALL_EXPR:
   15274            0 :                                                               switch (get_call_combined_fn (_q81))
   15275              :                                                                 {
   15276            0 :                                                                 case CFN_FLOOR:
   15277            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15278              :     {
   15279            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15280            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15281              :                                                                         {
   15282            0 :                                                                           switch (TREE_CODE (_q110))
   15283              :                                                                             {
   15284            0 :                                                                             case SSA_NAME:
   15285            0 :                                                                               {
   15286            0 :                                                                                 switch (TREE_CODE (_p1))
   15287              :                                                                                   {
   15288            0 :                                                                                   case CALL_EXPR:
   15289            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15290              :                                                                                       {
   15291            0 :                                                                                       case CFN_CEIL:
   15292            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15293              :     {
   15294            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15295            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15296              :                                                                                               {
   15297            0 :                                                                                                 switch (TREE_CODE (_q140))
   15298              :                                                                                                   {
   15299            0 :                                                                                                   case SSA_NAME:
   15300            0 :                                                                                                     {
   15301            0 :                                                                                                       switch (TREE_CODE (_p2))
   15302              :                                                                                                         {
   15303            0 :                                                                                                         case CALL_EXPR:
   15304            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15305              :                                                                                                             {
   15306            0 :                                                                                                             case CFN_FLOOR:
   15307            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15308              :     {
   15309            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15310            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15311              :                                                                                                                     {
   15312            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15313              :                                                                                                                         {
   15314            0 :                                                                                                                         case SSA_NAME:
   15315            0 :                                                                                                                           {
   15316            0 :                                                                                                                             {
   15317            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15318            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_CEIL, CFN_FLOOR, CFN_FLOOR, CFN_CEIL);
   15319            0 :                                                                                                                               if (res) return res;
   15320              :                                                                                                                             }
   15321            0 :                                                                                                                             break;
   15322              :                                                                                                                           }
   15323              :                                                                                                                         default:;
   15324              :                                                                                                                         }
   15325              :                                                                                                                     }
   15326              :                                                                                                                 }
   15327              :                                                                                                               break;
   15328              :                                                                                                             default:;
   15329              :                                                                                                             }
   15330              :                                                                                                           break;
   15331              :                                                                                                         default:;
   15332              :                                                                                                         }
   15333              :                                                                                                       break;
   15334              :                                                                                                     }
   15335              :                                                                                                   default:;
   15336              :                                                                                                   }
   15337              :                                                                                               }
   15338              :                                                                                           }
   15339              :                                                                                         break;
   15340              :                                                                                       default:;
   15341              :                                                                                       }
   15342              :                                                                                     break;
   15343              :                                                                                   default:;
   15344              :                                                                                   }
   15345              :                                                                                 break;
   15346              :                                                                               }
   15347              :                                                                             default:;
   15348              :                                                                             }
   15349              :                                                                         }
   15350              :                                                                     }
   15351              :                                                                   break;
   15352              :                                                                 default:;
   15353              :                                                                 }
   15354              :                                                               break;
   15355              :                                                             default:;
   15356              :                                                             }
   15357              :                                                           break;
   15358              :                                                         }
   15359              :                                                       default:;
   15360              :                                                       }
   15361              :                                                   }
   15362              :                                                 break;
   15363              :                                               }
   15364              :                                             default:;
   15365              :                                             }
   15366              :                                           break;
   15367              :                                         }
   15368              :                                       default:;
   15369              :                                       }
   15370              :                                   }
   15371              :                                 break;
   15372              :                               }
   15373              :                             default:;
   15374              :                             }
   15375              :                         }
   15376              :                       break;
   15377            0 :                     case CFN_BUILT_IN_CEILF:
   15378            0 :                       if (call_expr_nargs (_q30) == 1)
   15379              :     {
   15380            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15381            0 :                           switch (TREE_CODE (_q40))
   15382              :                             {
   15383            0 :                             case SSA_NAME:
   15384            0 :                               {
   15385            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15386              :                                   {
   15387            0 :                                     switch (TREE_CODE (_q31))
   15388              :                                       {
   15389            0 :                                       case SSA_NAME:
   15390            0 :                                         {
   15391            0 :                                           switch (TREE_CODE (_q21))
   15392              :                                             {
   15393            0 :                                             case MINUS_EXPR:
   15394            0 :                                               {
   15395            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15396            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15397            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15398              :                                                   {
   15399            0 :                                                     switch (TREE_CODE (_q80))
   15400              :                                                       {
   15401            0 :                                                       case SSA_NAME:
   15402            0 :                                                         {
   15403            0 :                                                           switch (TREE_CODE (_q81))
   15404              :                                                             {
   15405            0 :                                                             case CALL_EXPR:
   15406            0 :                                                               switch (get_call_combined_fn (_q81))
   15407              :                                                                 {
   15408            0 :                                                                 case CFN_BUILT_IN_FLOORF:
   15409            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15410              :     {
   15411            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15412            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15413              :                                                                         {
   15414            0 :                                                                           switch (TREE_CODE (_q110))
   15415              :                                                                             {
   15416            0 :                                                                             case SSA_NAME:
   15417            0 :                                                                               {
   15418            0 :                                                                                 switch (TREE_CODE (_p1))
   15419              :                                                                                   {
   15420            0 :                                                                                   case CALL_EXPR:
   15421            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15422              :                                                                                       {
   15423            0 :                                                                                       case CFN_BUILT_IN_CEILF:
   15424            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15425              :     {
   15426            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15427            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15428              :                                                                                               {
   15429            0 :                                                                                                 switch (TREE_CODE (_q140))
   15430              :                                                                                                   {
   15431            0 :                                                                                                   case SSA_NAME:
   15432            0 :                                                                                                     {
   15433            0 :                                                                                                       switch (TREE_CODE (_p2))
   15434              :                                                                                                         {
   15435            0 :                                                                                                         case CALL_EXPR:
   15436            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15437              :                                                                                                             {
   15438            0 :                                                                                                             case CFN_BUILT_IN_FLOORF:
   15439            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15440              :     {
   15441            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15442            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15443              :                                                                                                                     {
   15444            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15445              :                                                                                                                         {
   15446            0 :                                                                                                                         case SSA_NAME:
   15447            0 :                                                                                                                           {
   15448            0 :                                                                                                                             {
   15449            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15450            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_CEILF);
   15451            0 :                                                                                                                               if (res) return res;
   15452              :                                                                                                                             }
   15453            0 :                                                                                                                             break;
   15454              :                                                                                                                           }
   15455              :                                                                                                                         default:;
   15456              :                                                                                                                         }
   15457              :                                                                                                                     }
   15458              :                                                                                                                 }
   15459              :                                                                                                               break;
   15460              :                                                                                                             default:;
   15461              :                                                                                                             }
   15462              :                                                                                                           break;
   15463              :                                                                                                         default:;
   15464              :                                                                                                         }
   15465              :                                                                                                       break;
   15466              :                                                                                                     }
   15467              :                                                                                                   default:;
   15468              :                                                                                                   }
   15469              :                                                                                               }
   15470              :                                                                                           }
   15471              :                                                                                         break;
   15472              :                                                                                       default:;
   15473              :                                                                                       }
   15474              :                                                                                     break;
   15475              :                                                                                   default:;
   15476              :                                                                                   }
   15477              :                                                                                 break;
   15478              :                                                                               }
   15479              :                                                                             default:;
   15480              :                                                                             }
   15481              :                                                                         }
   15482              :                                                                     }
   15483              :                                                                   break;
   15484              :                                                                 default:;
   15485              :                                                                 }
   15486              :                                                               break;
   15487              :                                                             default:;
   15488              :                                                             }
   15489              :                                                           break;
   15490              :                                                         }
   15491              :                                                       default:;
   15492              :                                                       }
   15493              :                                                   }
   15494              :                                                 break;
   15495              :                                               }
   15496              :                                             default:;
   15497              :                                             }
   15498              :                                           break;
   15499              :                                         }
   15500              :                                       default:;
   15501              :                                       }
   15502              :                                   }
   15503              :                                 break;
   15504              :                               }
   15505              :                             default:;
   15506              :                             }
   15507              :                         }
   15508              :                       break;
   15509            0 :                     case CFN_BUILT_IN_CEILL:
   15510            0 :                       if (call_expr_nargs (_q30) == 1)
   15511              :     {
   15512            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15513            0 :                           switch (TREE_CODE (_q40))
   15514              :                             {
   15515            0 :                             case SSA_NAME:
   15516            0 :                               {
   15517            0 :                                 if ((_q31 == _q40 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q40, 0) && types_match (_q31, _q40)))
   15518              :                                   {
   15519            0 :                                     switch (TREE_CODE (_q31))
   15520              :                                       {
   15521            0 :                                       case SSA_NAME:
   15522            0 :                                         {
   15523            0 :                                           switch (TREE_CODE (_q21))
   15524              :                                             {
   15525            0 :                                             case MINUS_EXPR:
   15526            0 :                                               {
   15527            0 :                                                 tree _q80 = TREE_OPERAND (_q21, 0);
   15528            0 :                                                 tree _q81 = TREE_OPERAND (_q21, 1);
   15529            0 :                                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
   15530              :                                                   {
   15531            0 :                                                     switch (TREE_CODE (_q80))
   15532              :                                                       {
   15533            0 :                                                       case SSA_NAME:
   15534            0 :                                                         {
   15535            0 :                                                           switch (TREE_CODE (_q81))
   15536              :                                                             {
   15537            0 :                                                             case CALL_EXPR:
   15538            0 :                                                               switch (get_call_combined_fn (_q81))
   15539              :                                                                 {
   15540            0 :                                                                 case CFN_BUILT_IN_FLOORL:
   15541            0 :                                                                   if (call_expr_nargs (_q81) == 1)
   15542              :     {
   15543            0 :                                                                       tree _q110 = CALL_EXPR_ARG (_q81, 0);
   15544            0 :                                                                       if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
   15545              :                                                                         {
   15546            0 :                                                                           switch (TREE_CODE (_q110))
   15547              :                                                                             {
   15548            0 :                                                                             case SSA_NAME:
   15549            0 :                                                                               {
   15550            0 :                                                                                 switch (TREE_CODE (_p1))
   15551              :                                                                                   {
   15552            0 :                                                                                   case CALL_EXPR:
   15553            0 :                                                                                     switch (get_call_combined_fn (_p1))
   15554              :                                                                                       {
   15555            0 :                                                                                       case CFN_BUILT_IN_CEILL:
   15556            0 :                                                                                         if (call_expr_nargs (_p1) == 1)
   15557              :     {
   15558            0 :                                                                                             tree _q140 = CALL_EXPR_ARG (_p1, 0);
   15559            0 :                                                                                             if ((_q140 == _q40 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q40, 0) && types_match (_q140, _q40)))
   15560              :                                                                                               {
   15561            0 :                                                                                                 switch (TREE_CODE (_q140))
   15562              :                                                                                                   {
   15563            0 :                                                                                                   case SSA_NAME:
   15564            0 :                                                                                                     {
   15565            0 :                                                                                                       switch (TREE_CODE (_p2))
   15566              :                                                                                                         {
   15567            0 :                                                                                                         case CALL_EXPR:
   15568            0 :                                                                                                           switch (get_call_combined_fn (_p2))
   15569              :                                                                                                             {
   15570            0 :                                                                                                             case CFN_BUILT_IN_FLOORL:
   15571            0 :                                                                                                               if (call_expr_nargs (_p2) == 1)
   15572              :     {
   15573            0 :                                                                                                                   tree _q170 = CALL_EXPR_ARG (_p2, 0);
   15574            0 :                                                                                                                   if ((_q170 == _q40 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q40, 0) && types_match (_q170, _q40)))
   15575              :                                                                                                                     {
   15576            0 :                                                                                                                       switch (TREE_CODE (_q170))
   15577              :                                                                                                                         {
   15578            0 :                                                                                                                         case SSA_NAME:
   15579            0 :                                                                                                                           {
   15580            0 :                                                                                                                             {
   15581            0 :                                                                                                                               tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
   15582            0 :                                                                                                                               tree res = generic_simplify_347 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_CEILL);
   15583            0 :                                                                                                                               if (res) return res;
   15584              :                                                                                                                             }
   15585            0 :                                                                                                                             break;
   15586              :                                                                                                                           }
   15587              :                                                                                                                         default:;
   15588              :                                                                                                                         }
   15589              :                                                                                                                     }
   15590              :                                                                                                                 }
   15591              :                                                                                                               break;
   15592              :                                                                                                             default:;
   15593              :                                                                                                             }
   15594              :                                                                                                           break;
   15595              :                                                                                                         default:;
   15596              :                                                                                                         }
   15597              :                                                                                                       break;
   15598              :                                                                                                     }
   15599              :                                                                                                   default:;
   15600              :                                                                                                   }
   15601              :                                                                                               }
   15602              :                                                                                           }
   15603              :                                                                                         break;
   15604              :                                                                                       default:;
   15605              :                                                                                       }
   15606              :                                                                                     break;
   15607              :                                                                                   default:;
   15608              :                                                                                   }
   15609              :                                                                                 break;
   15610              :                                                                               }
   15611              :                                                                             default:;
   15612              :                                                                             }
   15613              :                                                                         }
   15614              :                                                                     }
   15615              :                                                                   break;
   15616              :                                                                 default:;
   15617              :                                                                 }
   15618              :                                                               break;
   15619              :                                                             default:;
   15620              :                                                             }
   15621              :                                                           break;
   15622              :                                                         }
   15623              :                                                       default:;
   15624              :                                                       }
   15625              :                                                   }
   15626              :                                                 break;
   15627              :                                               }
   15628              :                                             default:;
   15629              :                                             }
   15630              :                                           break;
   15631              :                                         }
   15632              :                                       default:;
   15633              :                                       }
   15634              :                                   }
   15635              :                                 break;
   15636              :                               }
   15637              :                             default:;
   15638              :                             }
   15639              :                         }
   15640              :                       break;
   15641              :                     default:;
   15642              :                     }
   15643              :                   break;
   15644              :                 default:;
   15645              :                 }
   15646              :               break;
   15647              :             }
   15648      1401399 :           default:;
   15649              :           }
   15650      1401399 :         if (integer_zerop (_q21))
   15651              :           {
   15652       125764 :             switch (TREE_CODE (_p1))
   15653              :               {
   15654          218 :               case NEGATE_EXPR:
   15655          218 :                 {
   15656          218 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   15657          218 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15658              :                     {
   15659           70 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   15660              :                         {
   15661           70 :                           if (integer_zerop (_p2))
   15662              :                             {
   15663           70 :                               {
   15664           70 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15665           70 :                                 if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
   15666              : )
   15667              :                                   {
   15668           68 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1860;
   15669           68 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1860;
   15670           68 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1860;
   15671           68 :                                     {
   15672           68 :                                       tree res_op0;
   15673           68 :                                       res_op0 = captures[2];
   15674           68 :                                       tree res_op1;
   15675           68 :                                       res_op1 = captures[1];
   15676           68 :                                       tree _r;
   15677           68 :                                       _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   15678           68 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   15679           68 :                                       return _r;
   15680              :                                     }
   15681            2 : next_after_fail1860:;
   15682              :                                   }
   15683              :                               }
   15684              :                             }
   15685              :                         }
   15686              :                     }
   15687              :                   break;
   15688              :                 }
   15689              :               default:;
   15690              :               }
   15691              :           }
   15692      1401331 :         switch (TREE_CODE (_q20))
   15693              :           {
   15694       141561 :           CASE_CONVERT:
   15695       141561 :             {
   15696       141561 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15697       141561 :               switch (TREE_CODE (_q21))
   15698              :                 {
   15699       105446 :                 case INTEGER_CST:
   15700       105446 :                   {
   15701       105446 :                     switch (TREE_CODE (_p1))
   15702              :                       {
   15703          709 :                       CASE_CONVERT:
   15704          709 :                         {
   15705          709 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15706          709 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15707              :                             {
   15708            8 :                               switch (TREE_CODE (_p2))
   15709              :                                 {
   15710            8 :                                 case INTEGER_CST:
   15711            8 :                                   {
   15712            8 :                                     {
   15713            8 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15714            8 :                                       tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15715            8 :                                       if (res) return res;
   15716              :                                     }
   15717            8 :                                     break;
   15718              :                                   }
   15719              :                                 default:;
   15720              :                                 }
   15721              :                             }
   15722              :                           break;
   15723              :                         }
   15724       105446 :                       default:;
   15725              :                       }
   15726       105446 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   15727              :                       {
   15728           21 :                         switch (TREE_CODE (_p2))
   15729              :                           {
   15730           21 :                           case INTEGER_CST:
   15731           21 :                             {
   15732           21 :                               {
   15733           21 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   15734           21 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15735           21 :                                 if (res) return res;
   15736              :                               }
   15737           21 :                               break;
   15738              :                             }
   15739              :                           default:;
   15740              :                           }
   15741              :                       }
   15742       105446 :                     switch (TREE_CODE (_p1))
   15743              :                       {
   15744          216 :                       case PLUS_EXPR:
   15745          216 :                         {
   15746          216 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15747          216 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   15748          216 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15749              :                             {
   15750            6 :                               switch (TREE_CODE (_q61))
   15751              :                                 {
   15752            6 :                                 case INTEGER_CST:
   15753            6 :                                   {
   15754            6 :                                     switch (TREE_CODE (_p2))
   15755              :                                       {
   15756            6 :                                       case INTEGER_CST:
   15757            6 :                                         {
   15758            6 :                                           {
   15759            6 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   15760            6 :                                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   15761            6 :                                             if (res) return res;
   15762              :                                           }
   15763            6 :                                           break;
   15764              :                                         }
   15765              :                                       default:;
   15766              :                                       }
   15767              :                                     break;
   15768              :                                   }
   15769              :                                 default:;
   15770              :                                 }
   15771              :                             }
   15772              :                           break;
   15773              :                         }
   15774          699 :                       case MINUS_EXPR:
   15775          699 :                         {
   15776          699 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   15777          699 :                           tree _q61 = TREE_OPERAND (_p1, 1);
   15778          699 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15779              :                             {
   15780            0 :                               switch (TREE_CODE (_q61))
   15781              :                                 {
   15782            0 :                                 case INTEGER_CST:
   15783            0 :                                   {
   15784            0 :                                     switch (TREE_CODE (_p2))
   15785              :                                       {
   15786            0 :                                       case INTEGER_CST:
   15787            0 :                                         {
   15788            0 :                                           {
   15789            0 :                                             tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
   15790            0 :                                             tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   15791            0 :                                             if (res) return res;
   15792              :                                           }
   15793            0 :                                           break;
   15794              :                                         }
   15795              :                                       default:;
   15796              :                                       }
   15797              :                                     break;
   15798              :                                   }
   15799              :                                 default:;
   15800              :                                 }
   15801              :                             }
   15802              :                           break;
   15803              :                         }
   15804              :                       default:;
   15805              :                       }
   15806              :                     break;
   15807              :                   }
   15808              :                 default:;
   15809              :                 }
   15810              :               break;
   15811              :             }
   15812      1401331 :           default:;
   15813              :           }
   15814      1401331 :         switch (TREE_CODE (_q21))
   15815              :           {
   15816      1004658 :           case INTEGER_CST:
   15817      1004658 :             {
   15818      1004658 :               switch (TREE_CODE (_p1))
   15819              :                 {
   15820        24947 :                 CASE_CONVERT:
   15821        24947 :                   {
   15822        24947 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15823        24947 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15824              :                       {
   15825          228 :                         switch (TREE_CODE (_p2))
   15826              :                           {
   15827          210 :                           case INTEGER_CST:
   15828          210 :                             {
   15829          210 :                               {
   15830          210 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15831          210 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15832          210 :                                 if (res) return res;
   15833              :                               }
   15834          110 :                               break;
   15835              :                             }
   15836              :                           default:;
   15837              :                           }
   15838              :                       }
   15839              :                     break;
   15840              :                   }
   15841      1004558 :                 default:;
   15842              :                 }
   15843      1004558 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   15844              :                 {
   15845          289 :                   switch (TREE_CODE (_p2))
   15846              :                     {
   15847          252 :                     case INTEGER_CST:
   15848          252 :                       {
   15849          252 :                         {
   15850          252 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   15851          252 :                           tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, LE_EXPR);
   15852          252 :                           if (res) return res;
   15853              :                         }
   15854          107 :                         break;
   15855              :                       }
   15856              :                     default:;
   15857              :                     }
   15858              :                 }
   15859      1004413 :               switch (TREE_CODE (_p1))
   15860              :                 {
   15861         3021 :                 case PLUS_EXPR:
   15862         3021 :                   {
   15863         3021 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15864         3021 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15865         3021 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15866              :                       {
   15867          203 :                         switch (TREE_CODE (_q51))
   15868              :                           {
   15869          203 :                           case INTEGER_CST:
   15870          203 :                             {
   15871          203 :                               switch (TREE_CODE (_p2))
   15872              :                                 {
   15873          184 :                                 case INTEGER_CST:
   15874          184 :                                   {
   15875          184 :                                     {
   15876          184 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15877          184 :                                       tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, PLUS_EXPR);
   15878          184 :                                       if (res) return res;
   15879              :                                     }
   15880          182 :                                     break;
   15881              :                                   }
   15882              :                                 default:;
   15883              :                                 }
   15884              :                               break;
   15885              :                             }
   15886              :                           default:;
   15887              :                           }
   15888              :                       }
   15889              :                     break;
   15890              :                   }
   15891         7227 :                 case MINUS_EXPR:
   15892         7227 :                   {
   15893         7227 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   15894         7227 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   15895         7227 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15896              :                       {
   15897            0 :                         switch (TREE_CODE (_q51))
   15898              :                           {
   15899            0 :                           case INTEGER_CST:
   15900            0 :                             {
   15901            0 :                               switch (TREE_CODE (_p2))
   15902              :                                 {
   15903            0 :                                 case INTEGER_CST:
   15904            0 :                                   {
   15905            0 :                                     {
   15906            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
   15907            0 :                                       tree res = generic_simplify_349 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MINUS_EXPR);
   15908            0 :                                       if (res) return res;
   15909              :                                     }
   15910            0 :                                     break;
   15911              :                                   }
   15912              :                                 default:;
   15913              :                                 }
   15914              :                               break;
   15915              :                             }
   15916              :                           default:;
   15917              :                           }
   15918              :                       }
   15919              :                     break;
   15920              :                   }
   15921              :                 default:;
   15922              :                 }
   15923              :               break;
   15924              :             }
   15925      1401084 :           default:;
   15926              :           }
   15927      1401084 :         switch (TREE_CODE (_p1))
   15928              :           {
   15929           46 :           case MIN_EXPR:
   15930           46 :             {
   15931           46 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15932           46 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15933           46 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15934              :                 {
   15935            1 :                   switch (TREE_CODE (_p2))
   15936              :                     {
   15937            0 :                     case MIN_EXPR:
   15938            0 :                       {
   15939            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15940            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15941            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   15942              :                           {
   15943            0 :                             {
   15944            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   15945            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15946            0 :                               if (res) return res;
   15947              :                             }
   15948              :                           }
   15949            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   15950              :                           {
   15951            0 :                             {
   15952            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   15953            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15954            0 :                               if (res) return res;
   15955              :                             }
   15956              :                           }
   15957              :                         break;
   15958              :                       }
   15959              :                     default:;
   15960              :                     }
   15961              :                 }
   15962           46 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15963              :                 {
   15964           10 :                   switch (TREE_CODE (_p2))
   15965              :                     {
   15966            9 :                     case MIN_EXPR:
   15967            9 :                       {
   15968            9 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15969            9 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15970            9 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   15971              :                           {
   15972            0 :                             {
   15973            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   15974            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15975            0 :                               if (res) return res;
   15976              :                             }
   15977              :                           }
   15978            9 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   15979              :                           {
   15980            9 :                             {
   15981            9 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   15982            9 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MIN_EXPR);
   15983            9 :                               if (res) return res;
   15984              :                             }
   15985              :                           }
   15986              :                         break;
   15987              :                       }
   15988              :                     default:;
   15989              :                     }
   15990              :                 }
   15991           45 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15992              :                 {
   15993            1 :                   switch (TREE_CODE (_p2))
   15994              :                     {
   15995            0 :                     case MIN_EXPR:
   15996            0 :                       {
   15997            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   15998            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   15999            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16000              :                           {
   16001            0 :                             {
   16002            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   16003            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16004            0 :                               if (res) return res;
   16005              :                             }
   16006              :                           }
   16007            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16008              :                           {
   16009            0 :                             {
   16010            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   16011            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16012            0 :                               if (res) return res;
   16013              :                             }
   16014              :                           }
   16015              :                         break;
   16016              :                       }
   16017            1 :                     default:;
   16018              :                     }
   16019            1 :                   {
   16020            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51, _p2 };
   16021            1 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16022            1 :                     if (res) return res;
   16023              :                   }
   16024              :                 }
   16025           44 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16026              :                 {
   16027            1 :                   switch (TREE_CODE (_p2))
   16028              :                     {
   16029            0 :                     case MIN_EXPR:
   16030            0 :                       {
   16031            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16032            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16033            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16034              :                           {
   16035            0 :                             {
   16036            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   16037            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16038            0 :                               if (res) return res;
   16039              :                             }
   16040              :                           }
   16041            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16042              :                           {
   16043            0 :                             {
   16044            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   16045            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16046            0 :                               if (res) return res;
   16047              :                             }
   16048              :                           }
   16049              :                         break;
   16050              :                       }
   16051            1 :                     default:;
   16052              :                     }
   16053            1 :                   {
   16054            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50, _p2 };
   16055            1 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MIN_EXPR);
   16056            1 :                     if (res) return res;
   16057              :                   }
   16058              :                 }
   16059              :               break;
   16060              :             }
   16061           12 :           case MAX_EXPR:
   16062           12 :             {
   16063           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16064           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16065           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16066              :                 {
   16067            0 :                   switch (TREE_CODE (_p2))
   16068              :                     {
   16069            0 :                     case MAX_EXPR:
   16070            0 :                       {
   16071            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16072            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16073            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16074              :                           {
   16075            0 :                             {
   16076            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   16077            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16078            0 :                               if (res) return res;
   16079              :                             }
   16080              :                           }
   16081            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16082              :                           {
   16083            0 :                             {
   16084            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   16085            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16086            0 :                               if (res) return res;
   16087              :                             }
   16088              :                           }
   16089              :                         break;
   16090              :                       }
   16091            0 :                     default:;
   16092              :                     }
   16093            0 :                   {
   16094            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   16095            0 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16096            0 :                     if (res) return res;
   16097              :                   }
   16098              :                 }
   16099           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16100              :                 {
   16101            0 :                   switch (TREE_CODE (_p2))
   16102              :                     {
   16103            0 :                     case MAX_EXPR:
   16104            0 :                       {
   16105            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16106            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16107            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16108              :                           {
   16109            0 :                             {
   16110            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   16111            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16112            0 :                               if (res) return res;
   16113              :                             }
   16114              :                           }
   16115            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16116              :                           {
   16117            0 :                             {
   16118            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   16119            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16120            0 :                               if (res) return res;
   16121              :                             }
   16122              :                           }
   16123              :                         break;
   16124              :                       }
   16125              :                     default:;
   16126              :                     }
   16127              :                 }
   16128           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16129              :                 {
   16130            0 :                   switch (TREE_CODE (_p2))
   16131              :                     {
   16132            0 :                     case MAX_EXPR:
   16133            0 :                       {
   16134            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16135            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16136            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   16137              :                           {
   16138            0 :                             {
   16139            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   16140            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16141            0 :                               if (res) return res;
   16142              :                             }
   16143              :                           }
   16144            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   16145              :                           {
   16146            0 :                             {
   16147            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   16148            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16149            0 :                               if (res) return res;
   16150              :                             }
   16151              :                           }
   16152              :                         break;
   16153              :                       }
   16154              :                     default:;
   16155              :                     }
   16156              :                 }
   16157           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16158              :                 {
   16159            0 :                   switch (TREE_CODE (_p2))
   16160              :                     {
   16161            0 :                     case MAX_EXPR:
   16162            0 :                       {
   16163            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   16164            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   16165            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   16166              :                           {
   16167            0 :                             {
   16168            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   16169            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16170            0 :                               if (res) return res;
   16171              :                             }
   16172              :                           }
   16173            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   16174              :                           {
   16175            0 :                             {
   16176            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   16177            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16178            0 :                               if (res) return res;
   16179              :                             }
   16180              :                           }
   16181              :                         break;
   16182              :                       }
   16183              :                     default:;
   16184              :                     }
   16185              :                 }
   16186           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16187              :                 {
   16188            0 :                   {
   16189            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   16190            0 :                     tree res = generic_simplify_351 (loc, type, _p0, _p1, _p2, captures, LE_EXPR, MAX_EXPR);
   16191            0 :                     if (res) return res;
   16192              :                   }
   16193              :                 }
   16194              :               break;
   16195              :             }
   16196      1401081 :           default:;
   16197              :           }
   16198      1401081 :         if (integer_zerop (_q20))
   16199              :           {
   16200            2 :             {
   16201            2 :               tree _q21_pops[1];
   16202            2 :               if (tree_nop_convert (_q21, _q21_pops))
   16203              :                 {
   16204            0 :                   tree _q40 = _q21_pops[0];
   16205            0 :                   switch (TREE_CODE (_p1))
   16206              :                     {
   16207            0 :                     case MAX_EXPR:
   16208            0 :                       {
   16209            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   16210            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   16211            0 :                         if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   16212              :                           {
   16213            0 :                             switch (TREE_CODE (_q61))
   16214              :                               {
   16215            0 :                               case INTEGER_CST:
   16216            0 :                                 {
   16217            0 :                                   switch (TREE_CODE (_p2))
   16218              :                                     {
   16219            0 :                                     case INTEGER_CST:
   16220            0 :                                       {
   16221            0 :                                         {
   16222            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q20, _p1, _q61, _p2 };
   16223            0 :                                           tree res = generic_simplify_352 (loc, type, _p0, _p1, _p2, captures, GE_EXPR, MAX_EXPR);
   16224            0 :                                           if (res) return res;
   16225              :                                         }
   16226            0 :                                         break;
   16227              :                                       }
   16228              :                                     default:;
   16229              :                                     }
   16230              :                                   break;
   16231              :                                 }
   16232              :                               default:;
   16233              :                               }
   16234              :                           }
   16235              :                         break;
   16236              :                       }
   16237              :                     default:;
   16238              :                     }
   16239              :                 }
   16240              :             }
   16241              :           }
   16242      1401081 :         if (tree_expr_nonnegative_p (_q20))
   16243              :           {
   16244       894734 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16245              :               {
   16246           12 :                 switch (TREE_CODE (_p2))
   16247              :                   {
   16248            0 :                   case ABS_EXPR:
   16249            0 :                     {
   16250            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16251            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16252              :                         {
   16253            0 :                           {
   16254            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16255            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   16256            0 :                             if (res) return res;
   16257              :                           }
   16258              :                         }
   16259              :                       break;
   16260              :                     }
   16261              :                   default:;
   16262              :                   }
   16263              :               }
   16264       894734 :             switch (TREE_CODE (_p1))
   16265              :               {
   16266            0 :               case ABS_EXPR:
   16267            0 :                 {
   16268            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   16269            0 :                   if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16270              :                     {
   16271            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   16272              :                         {
   16273            0 :                           {
   16274            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   16275            0 :                             tree res = generic_simplify_355 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   16276            0 :                             if (res) return res;
   16277              :                           }
   16278              :                         }
   16279              :                     }
   16280              :                   break;
   16281              :                 }
   16282              :               default:;
   16283              :               }
   16284              :           }
   16285              :         break;
   16286              :       }
   16287      1788406 :     case EQ_EXPR:
   16288      1788406 :       {
   16289      1788406 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16290      1788406 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16291      1788406 :         if (tree_zero_one_valued_p (_q20))
   16292              :           {
   16293       169508 :             if (integer_zerop (_q21))
   16294              :               {
   16295         1203 :                 switch (TREE_CODE (_p2))
   16296              :                   {
   16297            1 :                   case BIT_XOR_EXPR:
   16298            1 :                     {
   16299            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16300            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16301            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16302              :                         {
   16303            1 :                           {
   16304            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16305            1 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16306            1 :                             if (res) return res;
   16307              :                           }
   16308              :                         }
   16309            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16310              :                         {
   16311            0 :                           {
   16312            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16313            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16314            0 :                             if (res) return res;
   16315              :                           }
   16316              :                         }
   16317              :                       break;
   16318              :                     }
   16319            1 :                   case BIT_IOR_EXPR:
   16320            1 :                     {
   16321            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16322            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16323            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16324              :                         {
   16325            1 :                           {
   16326            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16327            1 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16328            1 :                             if (res) return res;
   16329              :                           }
   16330              :                         }
   16331            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16332              :                         {
   16333            0 :                           {
   16334            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16335            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16336            0 :                             if (res) return res;
   16337              :                           }
   16338              :                         }
   16339              :                       break;
   16340              :                     }
   16341            1 :                   case PLUS_EXPR:
   16342            1 :                     {
   16343            1 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16344            1 :                       tree _q61 = TREE_OPERAND (_p2, 1);
   16345            1 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16346              :                         {
   16347            1 :                           {
   16348            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
   16349            1 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16350            1 :                             if (res) return res;
   16351              :                           }
   16352              :                         }
   16353            0 :                       if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16354              :                         {
   16355            0 :                           {
   16356            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
   16357            0 :                             tree res = generic_simplify_356 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16358            0 :                             if (res) return res;
   16359              :                           }
   16360              :                         }
   16361              :                       break;
   16362              :                     }
   16363              :                   default:;
   16364              :                   }
   16365              :               }
   16366              :           }
   16367      1788403 :         if (integer_zerop (_q21))
   16368              :           {
   16369       591513 :             switch (TREE_CODE (_p2))
   16370              :               {
   16371        24509 :               case PLUS_EXPR:
   16372        24509 :                 {
   16373        24509 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16374        24509 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16375        24509 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16376              :                     {
   16377            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16378              :                         {
   16379            0 :                           {
   16380            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16381            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16382            0 :                             if (res) return res;
   16383              :                           }
   16384              :                         }
   16385              :                     }
   16386        24509 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16387              :                     {
   16388         2011 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16389              :                         {
   16390            0 :                           {
   16391            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16392            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   16393            0 :                             if (res) return res;
   16394              :                           }
   16395              :                         }
   16396              :                     }
   16397              :                   break;
   16398              :                 }
   16399          108 :               case BIT_IOR_EXPR:
   16400          108 :                 {
   16401          108 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16402          108 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16403          108 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16404              :                     {
   16405            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16406              :                         {
   16407            0 :                           {
   16408            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16409            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16410            0 :                             if (res) return res;
   16411              :                           }
   16412              :                         }
   16413              :                     }
   16414          108 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16415              :                     {
   16416            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16417              :                         {
   16418            0 :                           {
   16419            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16420            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   16421            0 :                             if (res) return res;
   16422              :                           }
   16423              :                         }
   16424              :                     }
   16425              :                   break;
   16426              :                 }
   16427            0 :               case BIT_XOR_EXPR:
   16428            0 :                 {
   16429            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16430            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16431            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16432              :                     {
   16433            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16434              :                         {
   16435            0 :                           {
   16436            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16437            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16438            0 :                             if (res) return res;
   16439              :                           }
   16440              :                         }
   16441              :                     }
   16442            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16443              :                     {
   16444            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16445              :                         {
   16446            0 :                           {
   16447            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16448            0 :                             tree res = generic_simplify_357 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16449            0 :                             if (res) return res;
   16450              :                           }
   16451              :                         }
   16452              :                     }
   16453              :                   break;
   16454              :                 }
   16455            1 :               case LROTATE_EXPR:
   16456            1 :                 {
   16457            1 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16458            1 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16459            1 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16460              :                     {
   16461            1 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16462              :                         {
   16463            1 :                           {
   16464            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16465            1 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures);
   16466            1 :                             if (res) return res;
   16467              :                           }
   16468              :                         }
   16469              :                     }
   16470              :                   break;
   16471              :                 }
   16472            0 :               case RROTATE_EXPR:
   16473            0 :                 {
   16474            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16475            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16476            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16477              :                     {
   16478            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16479              :                         {
   16480            0 :                           {
   16481            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16482            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures);
   16483            0 :                             if (res) return res;
   16484              :                           }
   16485              :                         }
   16486              :                     }
   16487              :                   break;
   16488              :                 }
   16489           48 :               case LSHIFT_EXPR:
   16490           48 :                 {
   16491           48 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16492           48 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16493           48 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16494              :                     {
   16495            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16496              :                         {
   16497            0 :                           {
   16498            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16499            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures);
   16500            0 :                             if (res) return res;
   16501              :                           }
   16502              :                         }
   16503              :                     }
   16504              :                   break;
   16505              :                 }
   16506           46 :               case RSHIFT_EXPR:
   16507           46 :                 {
   16508           46 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16509           46 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16510           46 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16511              :                     {
   16512           20 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16513              :                         {
   16514           20 :                           {
   16515           20 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16516           20 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures);
   16517           20 :                             if (res) return res;
   16518              :                           }
   16519              :                         }
   16520              :                     }
   16521              :                   break;
   16522              :                 }
   16523          198 :               case MINUS_EXPR:
   16524          198 :                 {
   16525          198 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16526          198 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16527          198 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16528              :                     {
   16529            7 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16530              :                         {
   16531            0 :                           {
   16532            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16533            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures);
   16534            0 :                             if (res) return res;
   16535              :                           }
   16536              :                         }
   16537              :                     }
   16538              :                   break;
   16539              :                 }
   16540       155800 :               case POINTER_PLUS_EXPR:
   16541       155800 :                 {
   16542       155800 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16543       155800 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16544       155800 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16545              :                     {
   16546            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16547              :                         {
   16548            0 :                           {
   16549            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16550            0 :                             tree res = generic_simplify_358 (loc, type, _p0, _p1, _p2, captures);
   16551            0 :                             if (res) return res;
   16552              :                           }
   16553              :                         }
   16554              :                     }
   16555              :                   break;
   16556              :                 }
   16557              :               default:;
   16558              :               }
   16559              :           }
   16560      1788382 :         if (integer_onep (_q21))
   16561              :           {
   16562        49196 :             switch (TREE_CODE (_p2))
   16563              :               {
   16564          107 :               case TRUNC_DIV_EXPR:
   16565          107 :                 {
   16566          107 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16567          107 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16568          107 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16569              :                     {
   16570            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16571              :                         {
   16572            0 :                           {
   16573            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16574            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   16575            0 :                             if (res) return res;
   16576              :                           }
   16577              :                         }
   16578              :                     }
   16579              :                   break;
   16580              :                 }
   16581            0 :               case CEIL_DIV_EXPR:
   16582            0 :                 {
   16583            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16584            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16585            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16586              :                     {
   16587            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16588              :                         {
   16589            0 :                           {
   16590            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16591            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   16592            0 :                             if (res) return res;
   16593              :                           }
   16594              :                         }
   16595              :                     }
   16596              :                   break;
   16597              :                 }
   16598            0 :               case FLOOR_DIV_EXPR:
   16599            0 :                 {
   16600            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16601            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16602            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16603              :                     {
   16604            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16605              :                         {
   16606            0 :                           {
   16607            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16608            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   16609            0 :                             if (res) return res;
   16610              :                           }
   16611              :                         }
   16612              :                     }
   16613              :                   break;
   16614              :                 }
   16615            0 :               case ROUND_DIV_EXPR:
   16616            0 :                 {
   16617            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16618            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16619            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16620              :                     {
   16621            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16622              :                         {
   16623            0 :                           {
   16624            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16625            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   16626            0 :                             if (res) return res;
   16627              :                           }
   16628              :                         }
   16629              :                     }
   16630              :                   break;
   16631              :                 }
   16632            0 :               case EXACT_DIV_EXPR:
   16633            0 :                 {
   16634            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16635            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16636            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16637              :                     {
   16638            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16639              :                         {
   16640            0 :                           {
   16641            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16642            0 :                             tree res = generic_simplify_359 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   16643            0 :                             if (res) return res;
   16644              :                           }
   16645              :                         }
   16646              :                     }
   16647              :                   break;
   16648              :                 }
   16649            0 :               case MULT_EXPR:
   16650            0 :                 {
   16651            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16652            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16653            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16654              :                     {
   16655            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16656              :                         {
   16657            0 :                           {
   16658            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16659            0 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16660            0 :                             if (res) return res;
   16661              :                           }
   16662              :                         }
   16663              :                     }
   16664            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16665              :                     {
   16666            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16667              :                         {
   16668            0 :                           {
   16669            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16670            0 :                             tree res = generic_simplify_360 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   16671            0 :                             if (res) return res;
   16672              :                           }
   16673              :                         }
   16674              :                     }
   16675              :                   break;
   16676              :                 }
   16677              :               default:;
   16678              :               }
   16679              :           }
   16680      1788382 :         if (integer_all_onesp (_q21))
   16681              :           {
   16682        50110 :             switch (TREE_CODE (_p2))
   16683              :               {
   16684            0 :               case BIT_AND_EXPR:
   16685            0 :                 {
   16686            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   16687            0 :                   tree _q61 = TREE_OPERAND (_p2, 1);
   16688            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   16689              :                     {
   16690            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   16691              :                         {
   16692            0 :                           {
   16693            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16694            0 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16695            0 :                             if (res) return res;
   16696              :                           }
   16697              :                         }
   16698              :                     }
   16699            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16700              :                     {
   16701            0 :                       if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
   16702              :                         {
   16703            0 :                           {
   16704            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   16705            0 :                             tree res = generic_simplify_361 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   16706            0 :                             if (res) return res;
   16707              :                           }
   16708              :                         }
   16709              :                     }
   16710              :                   break;
   16711              :                 }
   16712              :               default:;
   16713              :               }
   16714              :           }
   16715      1788382 :         switch (TREE_CODE (_q20))
   16716              :           {
   16717       114531 :           case BIT_AND_EXPR:
   16718       114531 :             {
   16719       114531 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16720       114531 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16721       114531 :               switch (TREE_CODE (_q31))
   16722              :                 {
   16723       114275 :                 case INTEGER_CST:
   16724       114275 :                   {
   16725       114275 :                     if (integer_zerop (_q21))
   16726              :                       {
   16727         1794 :                         switch (TREE_CODE (_p1))
   16728              :                           {
   16729            0 :                           case BIT_IOR_EXPR:
   16730            0 :                             {
   16731            0 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   16732            0 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   16733            0 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   16734              :                                 {
   16735            0 :                                   if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   16736              :                                     {
   16737            0 :                                       switch (TREE_CODE (_q71))
   16738              :                                         {
   16739            0 :                                         case INTEGER_CST:
   16740            0 :                                           {
   16741            0 :                                             if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   16742              :                                               {
   16743            0 :                                                 {
   16744            0 :                                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   16745            0 :                                                   if (wi::popcount (wi::to_wide (captures[1])) == 1
   16746              : )
   16747              :                                                     {
   16748            0 :                                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1861;
   16749            0 :                                                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1861;
   16750            0 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1861;
   16751            0 :                                                       {
   16752            0 :                                                         tree _r;
   16753            0 :                                                         _r = captures[2];
   16754            0 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   16755            0 :                                                         return _r;
   16756              :                                                       }
   16757            0 : next_after_fail1861:;
   16758              :                                                     }
   16759              :                                                 }
   16760              :                                               }
   16761              :                                             break;
   16762              :                                           }
   16763              :                                         default:;
   16764              :                                         }
   16765              :                                     }
   16766              :                                 }
   16767              :                               break;
   16768              :                             }
   16769              :                           default:;
   16770              :                           }
   16771              :                       }
   16772              :                     break;
   16773              :                   }
   16774              :                 default:;
   16775              :                 }
   16776              :               break;
   16777              :             }
   16778        68396 :           CASE_CONVERT:
   16779        68396 :             {
   16780        68396 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16781        68396 :               switch (TREE_CODE (_q21))
   16782              :                 {
   16783        26553 :                 case INTEGER_CST:
   16784        26553 :                   {
   16785        26553 :                     switch (TREE_CODE (_p1))
   16786              :                       {
   16787        12648 :                       CASE_CONVERT:
   16788        12648 :                         {
   16789        12648 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   16790        12648 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   16791              :                             {
   16792           57 :                               switch (TREE_CODE (_p2))
   16793              :                                 {
   16794           56 :                                 case INTEGER_CST:
   16795           56 :                                   {
   16796           56 :                                     {
   16797           56 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16798           56 :                                       tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16799           56 :                                       if (res) return res;
   16800              :                                     }
   16801           56 :                                     break;
   16802              :                                   }
   16803              :                                 default:;
   16804              :                                 }
   16805              :                             }
   16806              :                           break;
   16807              :                         }
   16808        26553 :                       default:;
   16809              :                       }
   16810        26553 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   16811              :                       {
   16812          118 :                         switch (TREE_CODE (_p2))
   16813              :                           {
   16814          112 :                           case INTEGER_CST:
   16815          112 :                             {
   16816          112 :                               {
   16817          112 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   16818          112 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16819          112 :                                 if (res) return res;
   16820              :                               }
   16821          112 :                               break;
   16822              :                             }
   16823              :                           default:;
   16824              :                           }
   16825              :                       }
   16826              :                     break;
   16827              :                   }
   16828              :                 default:;
   16829              :                 }
   16830              :               break;
   16831              :             }
   16832      1788382 :           default:;
   16833              :           }
   16834      1788382 :         switch (TREE_CODE (_q21))
   16835              :           {
   16836       944102 :           case INTEGER_CST:
   16837       944102 :             {
   16838       944102 :               switch (TREE_CODE (_p1))
   16839              :                 {
   16840       212841 :                 CASE_CONVERT:
   16841       212841 :                   {
   16842       212841 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   16843       212841 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16844              :                       {
   16845          324 :                         switch (TREE_CODE (_p2))
   16846              :                           {
   16847            7 :                           case INTEGER_CST:
   16848            7 :                             {
   16849            7 :                               {
   16850            7 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16851            7 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16852            7 :                                 if (res) return res;
   16853              :                               }
   16854            0 :                               break;
   16855              :                             }
   16856              :                           default:;
   16857              :                           }
   16858              :                       }
   16859              :                     break;
   16860              :                   }
   16861       944095 :                 default:;
   16862              :                 }
   16863       944095 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16864              :                 {
   16865           61 :                   switch (TREE_CODE (_p2))
   16866              :                     {
   16867            5 :                     case INTEGER_CST:
   16868            5 :                       {
   16869            5 :                         {
   16870            5 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16871            5 :                           tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16872            5 :                           if (res) return res;
   16873              :                         }
   16874            0 :                         break;
   16875              :                       }
   16876              :                     default:;
   16877              :                     }
   16878              :                 }
   16879              :               break;
   16880              :             }
   16881      1788370 :           default:;
   16882              :           }
   16883      1788370 :       if (tree_expr_nonnegative_p (_q21))
   16884              :         {
   16885      1628027 :           if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16886              :             {
   16887           83 :               switch (TREE_CODE (_p2))
   16888              :                 {
   16889            0 :                 case ABS_EXPR:
   16890            0 :                   {
   16891            0 :                     tree _q60 = TREE_OPERAND (_p2, 0);
   16892            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16893              :                       {
   16894            0 :                         {
   16895            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16896            0 :                           tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16897            0 :                           if (res) return res;
   16898              :                         }
   16899              :                       }
   16900              :                     break;
   16901              :                   }
   16902              :                 default:;
   16903              :                 }
   16904              :             }
   16905              :         }
   16906      1788370 :         if (tree_expr_nonnegative_p (_q20))
   16907              :           {
   16908      1069788 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16909              :               {
   16910        24141 :                 switch (TREE_CODE (_p2))
   16911              :                   {
   16912            0 :                   case ABS_EXPR:
   16913            0 :                     {
   16914            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16915            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16916              :                         {
   16917            0 :                           {
   16918            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16919            0 :                             tree res = generic_simplify_354 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   16920            0 :                             if (res) return res;
   16921              :                           }
   16922              :                         }
   16923              :                       break;
   16924              :                     }
   16925              :                   default:;
   16926              :                   }
   16927              :               }
   16928      1069788 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   16929              :               {
   16930           25 :                 switch (TREE_CODE (_p2))
   16931              :                   {
   16932            0 :                   case ABS_EXPR:
   16933            0 :                     {
   16934            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16935            0 :                       if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   16936              :                         {
   16937            0 :                           {
   16938            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
   16939            0 :                             tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures);
   16940            0 :                             if (res) return res;
   16941              :                           }
   16942              :                         }
   16943              :                       break;
   16944              :                     }
   16945              :                   default:;
   16946              :                   }
   16947              :               }
   16948              :           }
   16949      1788370 :         if (tree_expr_nonnegative_p (_q21))
   16950              :           {
   16951      1628027 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   16952              :               {
   16953        24513 :                 switch (TREE_CODE (_p2))
   16954              :                   {
   16955            0 :                   case ABS_EXPR:
   16956            0 :                     {
   16957            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   16958            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   16959              :                         {
   16960            0 :                           {
   16961            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   16962            0 :                             tree res = generic_simplify_362 (loc, type, _p0, _p1, _p2, captures);
   16963            0 :                             if (res) return res;
   16964              :                           }
   16965              :                         }
   16966              :                       break;
   16967              :                     }
   16968              :                   default:;
   16969              :                   }
   16970              :               }
   16971              :           }
   16972              :         break;
   16973              :       }
   16974      2932792 :     case NE_EXPR:
   16975      2932792 :       {
   16976      2932792 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16977      2932792 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16978      2932792 :         if (tree_zero_one_valued_p (_q20))
   16979              :           {
   16980       163301 :             if (integer_zerop (_q21))
   16981              :               {
   16982       161525 :                 switch (TREE_CODE (_p1))
   16983              :                   {
   16984            5 :                   case BIT_XOR_EXPR:
   16985            5 :                     {
   16986            5 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   16987            5 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   16988            5 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   16989              :                         {
   16990            1 :                           {
   16991            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   16992            1 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   16993            1 :                             if (res) return res;
   16994              :                           }
   16995              :                         }
   16996            4 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   16997              :                         {
   16998            4 :                           {
   16999            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   17000            4 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   17001            4 :                             if (res) return res;
   17002              :                           }
   17003              :                         }
   17004              :                       break;
   17005              :                     }
   17006            1 :                   case BIT_IOR_EXPR:
   17007            1 :                     {
   17008            1 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   17009            1 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   17010            1 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   17011              :                         {
   17012            1 :                           {
   17013            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   17014            1 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17015            1 :                             if (res) return res;
   17016              :                           }
   17017              :                         }
   17018            0 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   17019              :                         {
   17020            0 :                           {
   17021            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   17022            0 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17023            0 :                             if (res) return res;
   17024              :                           }
   17025              :                         }
   17026              :                       break;
   17027              :                     }
   17028          110 :                   case PLUS_EXPR:
   17029          110 :                     {
   17030          110 :                       tree _q50 = TREE_OPERAND (_p1, 0);
   17031          110 :                       tree _q51 = TREE_OPERAND (_p1, 1);
   17032          110 :                       if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
   17033              :                         {
   17034            8 :                           {
   17035            8 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
   17036            8 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   17037            8 :                             if (res) return res;
   17038              :                           }
   17039              :                         }
   17040          109 :                       if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   17041              :                         {
   17042            1 :                           {
   17043            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
   17044            1 :                             tree res = generic_simplify_363 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   17045            1 :                             if (res) return res;
   17046              :                           }
   17047              :                         }
   17048              :                       break;
   17049              :                     }
   17050              :                   default:;
   17051              :                   }
   17052              :               }
   17053              :           }
   17054      2932784 :         if (integer_zerop (_q21))
   17055              :           {
   17056      1937735 :             switch (TREE_CODE (_p1))
   17057              :               {
   17058           96 :               case TRUNC_DIV_EXPR:
   17059           96 :                 {
   17060           96 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17061           96 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17062           96 :                   if (integer_zerop (_p2))
   17063              :                     {
   17064           58 :                       {
   17065           58 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17066           58 :                         tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, TRUNC_DIV_EXPR);
   17067           58 :                         if (res) return res;
   17068              :                       }
   17069              :                     }
   17070              :                   break;
   17071              :                 }
   17072            0 :               case CEIL_DIV_EXPR:
   17073            0 :                 {
   17074            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17075            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17076            0 :                   if (integer_zerop (_p2))
   17077              :                     {
   17078            0 :                       {
   17079            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17080            0 :                         tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, CEIL_DIV_EXPR);
   17081            0 :                         if (res) return res;
   17082              :                       }
   17083              :                     }
   17084              :                   break;
   17085              :                 }
   17086            0 :               case FLOOR_DIV_EXPR:
   17087            0 :                 {
   17088            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17089            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17090            0 :                   if (integer_zerop (_p2))
   17091              :                     {
   17092            0 :                       {
   17093            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17094            0 :                         tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, FLOOR_DIV_EXPR);
   17095            0 :                         if (res) return res;
   17096              :                       }
   17097              :                     }
   17098              :                   break;
   17099              :                 }
   17100            0 :               case ROUND_DIV_EXPR:
   17101            0 :                 {
   17102            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17103            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17104            0 :                   if (integer_zerop (_p2))
   17105              :                     {
   17106            0 :                       {
   17107            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17108            0 :                         tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, ROUND_DIV_EXPR);
   17109            0 :                         if (res) return res;
   17110              :                       }
   17111              :                     }
   17112              :                   break;
   17113              :                 }
   17114           31 :               case EXACT_DIV_EXPR:
   17115           31 :                 {
   17116           31 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17117           31 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17118           31 :                   if (integer_zerop (_p2))
   17119              :                     {
   17120            0 :                       {
   17121            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17122            0 :                         tree res = generic_simplify_364 (loc, type, _p0, _p1, _p2, captures, EXACT_DIV_EXPR);
   17123            0 :                         if (res) return res;
   17124              :                       }
   17125              :                     }
   17126              :                   break;
   17127              :                 }
   17128          606 :               case MULT_EXPR:
   17129          606 :                 {
   17130          606 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17131          606 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17132          606 :                   if (integer_zerop (_p2))
   17133              :                     {
   17134           40 :                       {
   17135           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17136           40 :                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   17137           40 :                         if (res) return res;
   17138              :                       }
   17139           40 :                       {
   17140           40 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   17141           40 :                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, MULT_EXPR);
   17142           40 :                         if (res) return res;
   17143              :                       }
   17144              :                     }
   17145              :                   break;
   17146              :                 }
   17147          288 :               case BIT_AND_EXPR:
   17148          288 :                 {
   17149          288 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17150          288 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17151          288 :                   if (integer_zerop (_p2))
   17152              :                     {
   17153           62 :                       {
   17154           62 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q51 };
   17155           62 :                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17156           62 :                         if (res) return res;
   17157              :                       }
   17158           62 :                       {
   17159           62 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _p1, _q51, _q50 };
   17160           62 :                         tree res = generic_simplify_365 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17161           62 :                         if (res) return res;
   17162              :                       }
   17163              :                     }
   17164              :                   break;
   17165              :                 }
   17166              :               default:;
   17167              :               }
   17168              :           }
   17169      2932782 :         if (uniform_integer_cst_p (_q21))
   17170              :           {
   17171      2253308 :             switch (TREE_CODE (_p1))
   17172              :               {
   17173       130555 :               case PLUS_EXPR:
   17174       130555 :                 {
   17175       130555 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   17176       130555 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   17177       130555 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17178              :                     {
   17179         2629 :                       if (uniform_integer_cst_p (_q51))
   17180              :                         {
   17181         2629 :                           if (uniform_integer_cst_p (_p2))
   17182              :                             {
   17183         2625 :                               {
   17184         2625 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   17185         2625 :                                 {
   17186         2625 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   17187         2625 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   17188         2625 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   17189         2625 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   17190              : )
   17191              :                                       {
   17192           10 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1862;
   17193           10 :                                         if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1862;
   17194           10 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1862;
   17195           10 :                                         {
   17196           10 :                                           tree _r;
   17197           10 :                                           _r = captures[2];
   17198           10 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   17199            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   17200           10 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   17201           10 :                                           return _r;
   17202              :                                         }
   17203         2615 : next_after_fail1862:;
   17204              :                                       }
   17205              :                                 }
   17206              :                               }
   17207              :                             }
   17208              :                         }
   17209              :                     }
   17210              :                   break;
   17211              :                 }
   17212              :               default:;
   17213              :               }
   17214              :           }
   17215      2932772 :         switch (TREE_CODE (_q20))
   17216              :           {
   17217       282249 :           case BIT_AND_EXPR:
   17218       282249 :             {
   17219       282249 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17220       282249 :               tree _q31 = TREE_OPERAND (_q20, 1);
   17221       282249 :               switch (TREE_CODE (_q31))
   17222              :                 {
   17223       211716 :                 case INTEGER_CST:
   17224       211716 :                   {
   17225       211716 :                     if (integer_zerop (_q21))
   17226              :                       {
   17227       211703 :                         switch (TREE_CODE (_p1))
   17228              :                           {
   17229           54 :                           case BIT_AND_EXPR:
   17230           54 :                             {
   17231           54 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   17232           54 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   17233           54 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17234              :                                 {
   17235           18 :                                   switch (TREE_CODE (_q71))
   17236              :                                     {
   17237           18 :                                     case INTEGER_CST:
   17238           18 :                                       {
   17239           18 :                                         if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   17240              :                                           {
   17241            0 :                                             {
   17242            0 :                                               tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _p1, _q71 };
   17243            0 :                                               if (wi::to_wide (captures[3]) == ~wi::to_wide (captures[1])
   17244              : )
   17245              :                                                 {
   17246            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1863;
   17247            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1863;
   17248            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1863;
   17249            0 :                                                   {
   17250            0 :                                                     tree _r;
   17251            0 :                                                     _r = captures[2];
   17252            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   17253            0 :                                                     return _r;
   17254              :                                                   }
   17255            0 : next_after_fail1863:;
   17256              :                                                 }
   17257              :                                             }
   17258              :                                           }
   17259           18 :                                         switch (TREE_CODE (_p2))
   17260              :                                           {
   17261           18 :                                           case BIT_IOR_EXPR:
   17262           18 :                                             {
   17263           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   17264           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   17265           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   17266              :                                                 {
   17267           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   17268              :                                                     {
   17269           18 :                                                       {
   17270           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   17271           18 :                                                         tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17272           18 :                                                         if (res) return res;
   17273              :                                                       }
   17274              :                                                     }
   17275              :                                                 }
   17276              :                                               break;
   17277              :                                             }
   17278              :                                           default:;
   17279              :                                           }
   17280              :                                         break;
   17281              :                                       }
   17282              :                                     default:;
   17283              :                                     }
   17284              :                                 }
   17285              :                               break;
   17286              :                             }
   17287          139 :                           case PLUS_EXPR:
   17288          139 :                             {
   17289          139 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   17290          139 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   17291          139 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   17292              :                                 {
   17293           18 :                                   switch (TREE_CODE (_q71))
   17294              :                                     {
   17295           18 :                                     case INTEGER_CST:
   17296           18 :                                       {
   17297           18 :                                         switch (TREE_CODE (_p2))
   17298              :                                           {
   17299           18 :                                           case BIT_IOR_EXPR:
   17300           18 :                                             {
   17301           18 :                                               tree _q100 = TREE_OPERAND (_p2, 0);
   17302           18 :                                               tree _q101 = TREE_OPERAND (_p2, 1);
   17303           18 :                                               if ((_q100 == _q30 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q30, 0) && types_match (_q100, _q30)))
   17304              :                                                 {
   17305           18 :                                                   if ((_q101 == _q31 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q31, 0) && types_match (_q101, _q31)))
   17306              :                                                     {
   17307           18 :                                                       {
   17308           18 :                                                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
   17309           18 :                                                         tree res = generic_simplify_366 (loc, type, _p0, _p1, _p2, captures, PLUS_EXPR);
   17310           18 :                                                         if (res) return res;
   17311              :                                                       }
   17312              :                                                     }
   17313              :                                                 }
   17314              :                                               break;
   17315              :                                             }
   17316              :                                           default:;
   17317              :                                           }
   17318              :                                         break;
   17319              :                                       }
   17320              :                                     default:;
   17321              :                                     }
   17322              :                                 }
   17323              :                               break;
   17324              :                             }
   17325              :                           default:;
   17326              :                           }
   17327              :                       }
   17328              :                     break;
   17329              :                   }
   17330              :                 default:;
   17331              :                 }
   17332              :               break;
   17333              :             }
   17334       361783 :           CASE_CONVERT:
   17335       361783 :             {
   17336       361783 :               tree _q30 = TREE_OPERAND (_q20, 0);
   17337       361783 :               switch (TREE_CODE (_q21))
   17338              :                 {
   17339       313530 :                 case INTEGER_CST:
   17340       313530 :                   {
   17341       313530 :                     switch (TREE_CODE (_p1))
   17342              :                       {
   17343       102960 :                       CASE_CONVERT:
   17344       102960 :                         {
   17345       102960 :                           tree _q60 = TREE_OPERAND (_p1, 0);
   17346       102960 :                           if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   17347              :                             {
   17348           57 :                               switch (TREE_CODE (_p2))
   17349              :                                 {
   17350            9 :                                 case INTEGER_CST:
   17351            9 :                                   {
   17352            9 :                                     {
   17353            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   17354            9 :                                       tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17355            9 :                                       if (res) return res;
   17356              :                                     }
   17357            9 :                                     break;
   17358              :                                   }
   17359              :                                 default:;
   17360              :                                 }
   17361              :                             }
   17362              :                           break;
   17363              :                         }
   17364       313530 :                       default:;
   17365              :                       }
   17366       313530 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   17367              :                       {
   17368           48 :                         switch (TREE_CODE (_p2))
   17369              :                           {
   17370            0 :                           case INTEGER_CST:
   17371            0 :                             {
   17372            0 :                               {
   17373            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
   17374            0 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17375            0 :                                 if (res) return res;
   17376              :                               }
   17377            0 :                               break;
   17378              :                             }
   17379              :                           default:;
   17380              :                           }
   17381              :                       }
   17382              :                     break;
   17383              :                   }
   17384              :                 default:;
   17385              :                 }
   17386              :               break;
   17387              :             }
   17388      2932748 :           default:;
   17389              :           }
   17390      2932748 :         switch (TREE_CODE (_q21))
   17391              :           {
   17392      2253274 :           case INTEGER_CST:
   17393      2253274 :             {
   17394      2253274 :               switch (TREE_CODE (_p1))
   17395              :                 {
   17396       382788 :                 CASE_CONVERT:
   17397       382788 :                   {
   17398       382788 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   17399       382788 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17400              :                       {
   17401        76426 :                         switch (TREE_CODE (_p2))
   17402              :                           {
   17403        75189 :                           case INTEGER_CST:
   17404        75189 :                             {
   17405        75189 :                               {
   17406        75189 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17407        75189 :                                 tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17408        75189 :                                 if (res) return res;
   17409              :                               }
   17410        75183 :                               break;
   17411              :                             }
   17412              :                           default:;
   17413              :                           }
   17414              :                       }
   17415              :                     break;
   17416              :                   }
   17417      2253268 :                 default:;
   17418              :                 }
   17419      2253268 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   17420              :                 {
   17421        54463 :                   switch (TREE_CODE (_p2))
   17422              :                     {
   17423        51920 :                     case INTEGER_CST:
   17424        51920 :                       {
   17425        51920 :                         {
   17426        51920 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   17427        51920 :                           tree res = generic_simplify_348 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   17428        51920 :                           if (res) return res;
   17429              :                         }
   17430        51920 :                         break;
   17431              :                       }
   17432              :                     default:;
   17433              :                     }
   17434              :                 }
   17435              :               break;
   17436              :             }
   17437      2932742 :           default:;
   17438              :           }
   17439      2932742 :         switch (TREE_CODE (_p1))
   17440              :           {
   17441        12655 :           case MINUS_EXPR:
   17442        12655 :             {
   17443        12655 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17444        12655 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17445        12655 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17446              :                 {
   17447            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17448              :                     {
   17449            0 :                       if (integer_zerop (_p2))
   17450              :                         {
   17451            0 :                           {
   17452            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17453            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures);
   17454            0 :                             if (res) return res;
   17455              :                           }
   17456              :                         }
   17457              :                     }
   17458              :                 }
   17459        12655 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17460              :                 {
   17461           19 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17462              :                     {
   17463           19 :                       if (integer_zerop (_p2))
   17464              :                         {
   17465            0 :                           {
   17466            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17467            0 :                             tree res = generic_simplify_367 (loc, type, _p0, _p1, _p2, captures);
   17468            0 :                             if (res) return res;
   17469              :                           }
   17470              :                         }
   17471              :                     }
   17472              :                 }
   17473              :               break;
   17474              :             }
   17475           14 :           case BIT_XOR_EXPR:
   17476           14 :             {
   17477           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17478           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17479           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17480              :                 {
   17481            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17482              :                     {
   17483            7 :                       if (integer_zerop (_p2))
   17484              :                         {
   17485            0 :                           {
   17486            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17487            0 :                             tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures);
   17488            0 :                             if (res) return res;
   17489              :                           }
   17490              :                         }
   17491              :                     }
   17492              :                 }
   17493           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17494              :                 {
   17495            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17496              :                     {
   17497            0 :                       if (integer_zerop (_p2))
   17498              :                         {
   17499            0 :                           {
   17500            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17501            0 :                             tree res = generic_simplify_368 (loc, type, _p0, _p1, _p2, captures);
   17502            0 :                             if (res) return res;
   17503              :                           }
   17504              :                         }
   17505              :                     }
   17506              :                 }
   17507              :               break;
   17508              :             }
   17509          275 :           case BIT_AND_EXPR:
   17510          275 :             {
   17511          275 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17512          275 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17513          275 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17514              :                 {
   17515            2 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17516              :                     {
   17517            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17518              :                         {
   17519            0 :                           {
   17520            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17521            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17522            0 :                             if (res) return res;
   17523              :                           }
   17524              :                         }
   17525            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17526              :                         {
   17527            0 :                           {
   17528            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17529            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17530            0 :                             if (res) return res;
   17531              :                           }
   17532              :                         }
   17533              :                     }
   17534              :                 }
   17535          275 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17536              :                 {
   17537            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17538              :                     {
   17539            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17540              :                         {
   17541            0 :                           {
   17542            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17543            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17544            0 :                             if (res) return res;
   17545              :                           }
   17546              :                         }
   17547            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17548              :                         {
   17549            0 :                           {
   17550            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17551            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   17552            0 :                             if (res) return res;
   17553              :                           }
   17554              :                         }
   17555              :                     }
   17556              :                 }
   17557              :               break;
   17558              :             }
   17559         9560 :           case BIT_IOR_EXPR:
   17560         9560 :             {
   17561         9560 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17562         9560 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17563         9560 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17564              :                 {
   17565            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17566              :                     {
   17567            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17568              :                         {
   17569            0 :                           {
   17570            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17571            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17572            0 :                             if (res) return res;
   17573              :                           }
   17574              :                         }
   17575            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17576              :                         {
   17577            0 :                           {
   17578            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17579            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17580            0 :                             if (res) return res;
   17581              :                           }
   17582              :                         }
   17583              :                     }
   17584              :                 }
   17585         9560 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17586              :                 {
   17587            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17588              :                     {
   17589            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17590              :                         {
   17591            0 :                           {
   17592            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17593            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17594            0 :                             if (res) return res;
   17595              :                           }
   17596              :                         }
   17597            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17598              :                         {
   17599            0 :                           {
   17600            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17601            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   17602            0 :                             if (res) return res;
   17603              :                           }
   17604              :                         }
   17605              :                     }
   17606              :                 }
   17607              :               break;
   17608              :             }
   17609            0 :           case MIN_EXPR:
   17610            0 :             {
   17611            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17612            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17613            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17614              :                 {
   17615            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17616              :                     {
   17617            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17618              :                         {
   17619            0 :                           {
   17620            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17621            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17622            0 :                             if (res) return res;
   17623              :                           }
   17624              :                         }
   17625            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17626              :                         {
   17627            0 :                           {
   17628            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17629            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17630            0 :                             if (res) return res;
   17631              :                           }
   17632              :                         }
   17633              :                     }
   17634            0 :                   switch (TREE_CODE (_p2))
   17635              :                     {
   17636            0 :                     case MIN_EXPR:
   17637            0 :                       {
   17638            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17639            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17640            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17641              :                           {
   17642            0 :                             {
   17643            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   17644            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17645            0 :                               if (res) return res;
   17646              :                             }
   17647              :                           }
   17648            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17649              :                           {
   17650            0 :                             {
   17651            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   17652            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17653            0 :                               if (res) return res;
   17654              :                             }
   17655              :                           }
   17656              :                         break;
   17657              :                       }
   17658              :                     default:;
   17659              :                     }
   17660              :                 }
   17661            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17662              :                 {
   17663            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17664              :                     {
   17665            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17666              :                         {
   17667            0 :                           {
   17668            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17669            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17670            0 :                             if (res) return res;
   17671              :                           }
   17672              :                         }
   17673            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17674              :                         {
   17675            0 :                           {
   17676            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17677            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   17678            0 :                             if (res) return res;
   17679              :                           }
   17680              :                         }
   17681              :                     }
   17682            0 :                   switch (TREE_CODE (_p2))
   17683              :                     {
   17684            0 :                     case MIN_EXPR:
   17685            0 :                       {
   17686            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17687            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17688            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17689              :                           {
   17690            0 :                             {
   17691            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   17692            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17693            0 :                               if (res) return res;
   17694              :                             }
   17695              :                           }
   17696            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17697              :                           {
   17698            0 :                             {
   17699            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   17700            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17701            0 :                               if (res) return res;
   17702              :                             }
   17703              :                           }
   17704              :                         break;
   17705              :                       }
   17706              :                     default:;
   17707              :                     }
   17708              :                 }
   17709            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17710              :                 {
   17711            0 :                   switch (TREE_CODE (_p2))
   17712              :                     {
   17713            0 :                     case MIN_EXPR:
   17714            0 :                       {
   17715            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17716            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17717            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17718              :                           {
   17719            0 :                             {
   17720            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   17721            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17722            0 :                               if (res) return res;
   17723              :                             }
   17724              :                           }
   17725            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17726              :                           {
   17727            0 :                             {
   17728            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   17729            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17730            0 :                               if (res) return res;
   17731              :                             }
   17732              :                           }
   17733              :                         break;
   17734              :                       }
   17735              :                     default:;
   17736              :                     }
   17737              :                 }
   17738            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17739              :                 {
   17740            0 :                   switch (TREE_CODE (_p2))
   17741              :                     {
   17742            0 :                     case MIN_EXPR:
   17743            0 :                       {
   17744            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17745            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17746            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17747              :                           {
   17748            0 :                             {
   17749            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   17750            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17751            0 :                               if (res) return res;
   17752              :                             }
   17753              :                           }
   17754            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17755              :                           {
   17756            0 :                             {
   17757            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   17758            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MIN_EXPR);
   17759            0 :                               if (res) return res;
   17760              :                             }
   17761              :                           }
   17762              :                         break;
   17763              :                       }
   17764              :                     default:;
   17765              :                     }
   17766              :                 }
   17767              :               break;
   17768              :             }
   17769            0 :           case MAX_EXPR:
   17770            0 :             {
   17771            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17772            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17773            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17774              :                 {
   17775            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17776              :                     {
   17777            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17778              :                         {
   17779            0 :                           {
   17780            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17781            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17782            0 :                             if (res) return res;
   17783              :                           }
   17784              :                         }
   17785            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17786              :                         {
   17787            0 :                           {
   17788            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17789            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17790            0 :                             if (res) return res;
   17791              :                           }
   17792              :                         }
   17793              :                     }
   17794            0 :                   switch (TREE_CODE (_p2))
   17795              :                     {
   17796            0 :                     case MAX_EXPR:
   17797            0 :                       {
   17798            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17799            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17800            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17801              :                           {
   17802            0 :                             {
   17803            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q80 };
   17804            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17805            0 :                               if (res) return res;
   17806              :                             }
   17807              :                           }
   17808            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17809              :                           {
   17810            0 :                             {
   17811            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q81 };
   17812            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17813            0 :                               if (res) return res;
   17814              :                             }
   17815              :                           }
   17816              :                         break;
   17817              :                       }
   17818              :                     default:;
   17819              :                     }
   17820              :                 }
   17821            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17822              :                 {
   17823            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17824              :                     {
   17825            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   17826              :                         {
   17827            0 :                           {
   17828            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17829            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17830            0 :                             if (res) return res;
   17831              :                           }
   17832              :                         }
   17833            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   17834              :                         {
   17835            0 :                           {
   17836            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17837            0 :                             tree res = generic_simplify_369 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   17838            0 :                             if (res) return res;
   17839              :                           }
   17840              :                         }
   17841              :                     }
   17842            0 :                   switch (TREE_CODE (_p2))
   17843              :                     {
   17844            0 :                     case MAX_EXPR:
   17845            0 :                       {
   17846            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17847            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17848            0 :                         if ((_q81 == _q51 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q51, 0) && types_match (_q81, _q51)))
   17849              :                           {
   17850            0 :                             {
   17851            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q80 };
   17852            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17853            0 :                               if (res) return res;
   17854              :                             }
   17855              :                           }
   17856            0 :                         if ((_q80 == _q51 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q51, 0) && types_match (_q80, _q51)))
   17857              :                           {
   17858            0 :                             {
   17859            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q81 };
   17860            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17861            0 :                               if (res) return res;
   17862              :                             }
   17863              :                           }
   17864              :                         break;
   17865              :                       }
   17866              :                     default:;
   17867              :                     }
   17868              :                 }
   17869            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17870              :                 {
   17871            0 :                   switch (TREE_CODE (_p2))
   17872              :                     {
   17873            0 :                     case MAX_EXPR:
   17874            0 :                       {
   17875            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17876            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17877            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17878              :                           {
   17879            0 :                             {
   17880            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q80 };
   17881            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17882            0 :                               if (res) return res;
   17883              :                             }
   17884              :                           }
   17885            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17886              :                           {
   17887            0 :                             {
   17888            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q81 };
   17889            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17890            0 :                               if (res) return res;
   17891              :                             }
   17892              :                           }
   17893              :                         break;
   17894              :                       }
   17895              :                     default:;
   17896              :                     }
   17897              :                 }
   17898            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17899              :                 {
   17900            0 :                   switch (TREE_CODE (_p2))
   17901              :                     {
   17902            0 :                     case MAX_EXPR:
   17903            0 :                       {
   17904            0 :                         tree _q80 = TREE_OPERAND (_p2, 0);
   17905            0 :                         tree _q81 = TREE_OPERAND (_p2, 1);
   17906            0 :                         if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   17907              :                           {
   17908            0 :                             {
   17909            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q80 };
   17910            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17911            0 :                               if (res) return res;
   17912              :                             }
   17913              :                           }
   17914            0 :                         if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   17915              :                           {
   17916            0 :                             {
   17917            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q81 };
   17918            0 :                               tree res = generic_simplify_350 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, MAX_EXPR);
   17919            0 :                               if (res) return res;
   17920              :                             }
   17921              :                           }
   17922              :                         break;
   17923              :                       }
   17924              :                     default:;
   17925              :                     }
   17926              :                 }
   17927              :               break;
   17928              :             }
   17929        25546 :           case MULT_EXPR:
   17930        25546 :             {
   17931        25546 :               tree _q50 = TREE_OPERAND (_p1, 0);
   17932        25546 :               tree _q51 = TREE_OPERAND (_p1, 1);
   17933        25546 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   17934              :                 {
   17935        20849 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   17936              :                     {
   17937            0 :                       switch (TREE_CODE (_p2))
   17938              :                         {
   17939            0 :                         case MULT_EXPR:
   17940            0 :                           {
   17941            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17942            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17943            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   17944              :                               {
   17945            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   17946              :                                   {
   17947            0 :                                     {
   17948            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   17949            0 :                                       const enum tree_code op = MULT_EXPR;
   17950            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17951              : )
   17952              :                                         {
   17953            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1864;
   17954            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1864;
   17955            0 :                                           {
   17956            0 :                                             tree _r;
   17957            0 :                                             _r = captures[2];
   17958            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   17959            0 :                                             return _r;
   17960              :                                           }
   17961            0 : next_after_fail1864:;
   17962              :                                         }
   17963              :                                     }
   17964              :                                   }
   17965              :                               }
   17966              :                             break;
   17967              :                           }
   17968              :                         default:;
   17969              :                         }
   17970              :                     }
   17971              :                 }
   17972        25546 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   17973              :                 {
   17974            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   17975              :                     {
   17976            0 :                       switch (TREE_CODE (_p2))
   17977              :                         {
   17978            0 :                         case MULT_EXPR:
   17979            0 :                           {
   17980            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   17981            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   17982            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   17983              :                               {
   17984            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   17985              :                                   {
   17986            0 :                                     {
   17987            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   17988            0 :                                       const enum tree_code op = MULT_EXPR;
   17989            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   17990              : )
   17991              :                                         {
   17992            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1865;
   17993            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1865;
   17994            0 :                                           {
   17995            0 :                                             tree _r;
   17996            0 :                                             _r = captures[2];
   17997            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   17998            0 :                                             return _r;
   17999              :                                           }
   18000            0 : next_after_fail1865:;
   18001              :                                         }
   18002              :                                     }
   18003              :                                   }
   18004              :                               }
   18005              :                             break;
   18006              :                           }
   18007              :                         default:;
   18008              :                         }
   18009              :                     }
   18010              :                 }
   18011              :               break;
   18012              :             }
   18013       130605 :           case PLUS_EXPR:
   18014       130605 :             {
   18015       130605 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18016       130605 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18017       130605 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18018              :                 {
   18019         2627 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18020              :                     {
   18021            0 :                       switch (TREE_CODE (_p2))
   18022              :                         {
   18023            0 :                         case PLUS_EXPR:
   18024            0 :                           {
   18025            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18026            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18027            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   18028              :                               {
   18029            0 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   18030              :                                   {
   18031            0 :                                     {
   18032            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   18033            0 :                                       const enum tree_code op = PLUS_EXPR;
   18034            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   18035              : )
   18036              :                                         {
   18037            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1866;
   18038            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1866;
   18039            0 :                                           {
   18040            0 :                                             tree _r;
   18041            0 :                                             _r = captures[2];
   18042            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   18043            0 :                                             return _r;
   18044              :                                           }
   18045            0 : next_after_fail1866:;
   18046              :                                         }
   18047              :                                     }
   18048              :                                   }
   18049              :                               }
   18050              :                             break;
   18051              :                           }
   18052            0 :                         case MULT_EXPR:
   18053            0 :                           {
   18054            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18055            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18056            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   18057              :                               {
   18058            0 :                                 if (uniform_integer_cst_p (_q81))
   18059              :                                   {
   18060            0 :                                     {
   18061            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   18062            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18063              : )
   18064              :                                         {
   18065            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1867;
   18066            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1867;
   18067            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1867;
   18068            0 :                                           {
   18069            0 :                                             tree _r;
   18070            0 :                                             _r = captures[2];
   18071            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   18072            0 :                                             return _r;
   18073              :                                           }
   18074            0 : next_after_fail1867:;
   18075              :                                         }
   18076              :                                     }
   18077              :                                   }
   18078              :                               }
   18079            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   18080              :                               {
   18081            0 :                                 if (uniform_integer_cst_p (_q81))
   18082              :                                   {
   18083            0 :                                     {
   18084            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   18085            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18086              : )
   18087              :                                         {
   18088            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1868;
   18089            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1868;
   18090            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1868;
   18091            0 :                                           {
   18092            0 :                                             tree _r;
   18093            0 :                                             _r = captures[2];
   18094            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   18095            0 :                                             return _r;
   18096              :                                           }
   18097            0 : next_after_fail1868:;
   18098              :                                         }
   18099              :                                     }
   18100              :                                   }
   18101              :                               }
   18102              :                             break;
   18103              :                           }
   18104              :                         default:;
   18105              :                         }
   18106              :                     }
   18107              :                 }
   18108       130605 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18109              :                 {
   18110            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18111              :                     {
   18112            0 :                       switch (TREE_CODE (_p2))
   18113              :                         {
   18114            0 :                         case PLUS_EXPR:
   18115            0 :                           {
   18116            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18117            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18118            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   18119              :                               {
   18120            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   18121              :                                   {
   18122            0 :                                     {
   18123            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   18124            0 :                                       const enum tree_code op = PLUS_EXPR;
   18125            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   18126              : )
   18127              :                                         {
   18128            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1869;
   18129            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1869;
   18130            0 :                                           {
   18131            0 :                                             tree _r;
   18132            0 :                                             _r = captures[2];
   18133            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   18134            0 :                                             return _r;
   18135              :                                           }
   18136            0 : next_after_fail1869:;
   18137              :                                         }
   18138              :                                     }
   18139              :                                   }
   18140              :                               }
   18141              :                             break;
   18142              :                           }
   18143            0 :                         case MULT_EXPR:
   18144            0 :                           {
   18145            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18146            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18147            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   18148              :                               {
   18149            0 :                                 if (uniform_integer_cst_p (_q81))
   18150              :                                   {
   18151            0 :                                     {
   18152            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   18153            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18154              : )
   18155              :                                         {
   18156            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1870;
   18157            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1870;
   18158            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1870;
   18159            0 :                                           {
   18160            0 :                                             tree _r;
   18161            0 :                                             _r = captures[2];
   18162            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   18163            0 :                                             return _r;
   18164              :                                           }
   18165            0 : next_after_fail1870:;
   18166              :                                         }
   18167              :                                     }
   18168              :                                   }
   18169              :                               }
   18170            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   18171              :                               {
   18172            0 :                                 if (uniform_integer_cst_p (_q81))
   18173              :                                   {
   18174            0 :                                     {
   18175            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   18176            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   18177              : )
   18178              :                                         {
   18179            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1871;
   18180            0 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1871;
   18181            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1871;
   18182            0 :                                           {
   18183            0 :                                             tree _r;
   18184            0 :                                             _r = captures[2];
   18185            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   18186            0 :                                             return _r;
   18187              :                                           }
   18188            0 : next_after_fail1871:;
   18189              :                                         }
   18190              :                                     }
   18191              :                                   }
   18192              :                               }
   18193              :                             break;
   18194              :                           }
   18195              :                         default:;
   18196              :                         }
   18197              :                     }
   18198              :                 }
   18199              :               break;
   18200              :             }
   18201      2932742 :           default:;
   18202              :           }
   18203      2932742 :         switch (TREE_CODE (_q21))
   18204              :           {
   18205      2253268 :           case INTEGER_CST:
   18206      2253268 :             {
   18207      2253268 :               switch (TREE_CODE (_p1))
   18208              :                 {
   18209          228 :                 case NEGATE_EXPR:
   18210          228 :                   {
   18211          228 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18212          228 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18213              :                       {
   18214           42 :                         switch (TREE_CODE (_p2))
   18215              :                           {
   18216           14 :                           case INTEGER_CST:
   18217           14 :                             {
   18218           14 :                               {
   18219           14 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18220           14 :                                 if (!TYPE_SATURATING (type)
   18221           28 :  && wi::eq_p (wi::neg (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   18222              : )
   18223              :                                   {
   18224           12 :                                     if (TYPE_OVERFLOW_WRAPS (type)
   18225            4 :  || !wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18226              : )
   18227              :                                       {
   18228           11 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1872;
   18229           11 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1872;
   18230           11 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1872;
   18231           11 :                                         {
   18232           11 :                                           tree _r;
   18233           11 :                                           _r = captures[2];
   18234           11 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18235            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18236           11 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   18237           11 :                                           return _r;
   18238              :                                         }
   18239            2 : next_after_fail1872:;
   18240              :                                       }
   18241              :                                     else
   18242              :                                       {
   18243            1 :                                         {
   18244            1 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18245            1 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1873;
   18246            1 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1873;
   18247            1 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1873;
   18248            1 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1873;
   18249            1 :                                             {
   18250            1 :                                               tree res_op0;
   18251            1 :                                               {
   18252            1 :                                                 tree _o1[1], _r1;
   18253            1 :                                                 {
   18254            1 :                                                   tree _o2[1], _r2;
   18255            1 :                                                   _o2[0] = captures[0];
   18256            1 :                                                   if (TREE_TYPE (_o2[0]) != utype)
   18257              :                                                     {
   18258            1 :                                                       _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
   18259              :                                                     }
   18260              :                                                   else
   18261              :                                                     _r2 = _o2[0];
   18262            1 :                                                   _o1[0] = _r2;
   18263              :                                                 }
   18264            1 :                                                 _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   18265            1 :                                                 res_op0 = _r1;
   18266              :                                               }
   18267            1 :                                               tree _r;
   18268            1 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18269            1 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18270            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18271            1 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   18272            1 :                                               return _r;
   18273              :                                             }
   18274            2 : next_after_fail1873:;
   18275              :                                         }
   18276              :                                       }
   18277              :                                   }
   18278              :                               }
   18279            2 :                               break;
   18280              :                             }
   18281              :                           default:;
   18282              :                           }
   18283              :                       }
   18284              :                     break;
   18285              :                   }
   18286           95 :                 case BIT_NOT_EXPR:
   18287           95 :                   {
   18288           95 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18289           95 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18290              :                       {
   18291           18 :                         switch (TREE_CODE (_p2))
   18292              :                           {
   18293           18 :                           case INTEGER_CST:
   18294           18 :                             {
   18295           18 :                               {
   18296           18 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18297           18 :                                 if (wi::eq_p (wi::bit_not (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
   18298              : )
   18299              :                                   {
   18300           18 :                                     if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1874;
   18301           18 :                                     if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1874;
   18302           18 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1874;
   18303           18 :                                     {
   18304           18 :                                       tree _r;
   18305           18 :                                       _r = captures[2];
   18306           18 :                                       if (TREE_SIDE_EFFECTS (captures[1]))
   18307            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18308           18 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   18309           18 :                                       return _r;
   18310              :                                     }
   18311            0 : next_after_fail1874:;
   18312              :                                   }
   18313              :                               }
   18314            0 :                               break;
   18315              :                             }
   18316              :                           default:;
   18317              :                           }
   18318              :                       }
   18319              :                     break;
   18320              :                   }
   18321            5 :                 case ABS_EXPR:
   18322            5 :                   {
   18323            5 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18324            5 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18325              :                       {
   18326            1 :                         switch (TREE_CODE (_p2))
   18327              :                           {
   18328            1 :                           case INTEGER_CST:
   18329            1 :                             {
   18330            1 :                               {
   18331            1 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18332            1 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   18333              : )
   18334              :                                   {
   18335            0 :                                     if (ABS_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18336              : )
   18337              :                                       {
   18338            0 :                                         {
   18339            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18340            0 :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1875;
   18341            0 :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1875;
   18342            0 :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1875;
   18343            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1875;
   18344            0 :                                             {
   18345            0 :                                               tree res_op0;
   18346            0 :                                               {
   18347            0 :                                                 tree _o1[1], _r1;
   18348            0 :                                                 _o1[0] = captures[0];
   18349            0 :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   18350            0 :                                                 res_op0 = _r1;
   18351              :                                               }
   18352            0 :                                               tree _r;
   18353            0 :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18354            0 :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18355            0 :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18356            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   18357            0 :                                               return _r;
   18358              :                                             }
   18359            1 : next_after_fail1875:;
   18360              :                                         }
   18361              :                                       }
   18362              :                                     else
   18363              :                                       {
   18364            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1876;
   18365            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1876;
   18366            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1876;
   18367            0 :                                         {
   18368            0 :                                           tree _r;
   18369            0 :                                           _r = captures[2];
   18370            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18371            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18372            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   18373            0 :                                           return _r;
   18374              :                                         }
   18375            1 : next_after_fail1876:;
   18376              :                                       }
   18377              :                                   }
   18378              :                               }
   18379            1 :                               break;
   18380              :                             }
   18381              :                           default:;
   18382              :                           }
   18383              :                       }
   18384              :                     break;
   18385              :                   }
   18386            0 :                 case ABSU_EXPR:
   18387            0 :                   {
   18388            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   18389            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18390              :                       {
   18391            0 :                         switch (TREE_CODE (_p2))
   18392              :                           {
   18393            0 :                           case INTEGER_CST:
   18394            0 :                             {
   18395            0 :                               {
   18396            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   18397            0 :                                 if (wi::abs (wi::to_wide (captures[1])) == wi::to_wide (captures[3])
   18398              : )
   18399              :                                   {
   18400            0 :                                     if (ABSU_EXPR != ABSU_EXPR && wi::only_sign_bit_p (wi::to_wide (captures[1]))
   18401              : )
   18402              :                                       {
   18403              :                                         {
   18404              :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
   18405              :                                             if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1877;
   18406              :                                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1877;
   18407              :                                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1877;
   18408              :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1877;
   18409              :                                             {
   18410              :                                               tree res_op0;
   18411              :                                               {
   18412              :                                                 tree _o1[1], _r1;
   18413              :                                                 _o1[0] = captures[0];
   18414              :                                                 _r1 = fold_build1_loc (loc, ABSU_EXPR, utype, _o1[0]);
   18415              :                                                 res_op0 = _r1;
   18416              :                                               }
   18417              :                                               tree _r;
   18418              :                                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18419              :                                               if (TREE_SIDE_EFFECTS (captures[1]))
   18420              :                                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18421              :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   18422              :                                               return _r;
   18423              :                                             }
   18424              : next_after_fail1877:;
   18425              :                                         }
   18426              :                                       }
   18427              :                                     else
   18428              :                                       {
   18429            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1878;
   18430            0 :                                         if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1878;
   18431            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1878;
   18432            0 :                                         {
   18433            0 :                                           tree _r;
   18434            0 :                                           _r = captures[2];
   18435            0 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   18436            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   18437            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   18438            0 :                                           return _r;
   18439              :                                         }
   18440            0 : next_after_fail1878:;
   18441              :                                       }
   18442              :                                   }
   18443              :                               }
   18444            0 :                               break;
   18445              :                             }
   18446              :                           default:;
   18447              :                           }
   18448              :                       }
   18449              :                     break;
   18450              :                   }
   18451              :                 default:;
   18452              :                 }
   18453              :               break;
   18454              :             }
   18455              :           default:;
   18456              :           }
   18457              :         break;
   18458              :       }
   18459      1278596 :     case INTEGER_CST:
   18460      1278596 :       {
   18461      1278596 :         {
   18462      1278596 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   18463      1278596 :           if (integer_zerop (captures[0])
   18464              : )
   18465              :             {
   18466       668541 :               if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type)
   18467              : )
   18468              :                 {
   18469       660327 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1879;
   18470       482571 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1879;
   18471       466009 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1879;
   18472       466009 :                   {
   18473       466009 :                     tree _r;
   18474       466009 :                     _r = captures[2];
   18475       466009 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   18476            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18477       466009 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   18478       466009 :                     return _r;
   18479              :                   }
   18480       430648 : next_after_fail1879:;
   18481              :                 }
   18482              :             }
   18483              :           else
   18484              :             {
   18485       610055 :               if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type)
   18486              : )
   18487              :                 {
   18488       609063 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1880;
   18489       482355 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1880;
   18490       381939 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1880;
   18491       381939 :                   {
   18492       381939 :                     tree _r;
   18493       381939 :                     _r = captures[1];
   18494       381939 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   18495            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18496       381939 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   18497       381939 :                     return _r;
   18498              :                   }
   18499       430648 : next_after_fail1880:;
   18500              :                 }
   18501              :             }
   18502              :         }
   18503       430648 :         break;
   18504              :       }
   18505     12107181 :     default:;
   18506              :     }
   18507     12107181 :   switch (TREE_CODE (_p1))
   18508              :     {
   18509       846791 :     case COND_EXPR:
   18510       846791 :       {
   18511       846791 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18512       846791 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18513       846791 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18514       846791 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   18515              :           {
   18516          609 :             {
   18517          609 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   18518          609 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1881;
   18519          609 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1881;
   18520           55 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1881;
   18521           54 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1881;
   18522           10 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1881;
   18523           10 :               {
   18524           10 :                 tree res_op0;
   18525           10 :                 res_op0 = captures[0];
   18526           10 :                 tree res_op1;
   18527           10 :                 res_op1 = captures[1];
   18528           10 :                 tree res_op2;
   18529           10 :                 res_op2 = captures[3];
   18530           10 :                 tree _r;
   18531           10 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18532           10 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   18533           10 :                 return _r;
   18534              :               }
   18535          599 : next_after_fail1881:;
   18536              :             }
   18537              :           }
   18538              :         break;
   18539              :       }
   18540     12107171 :     default:;
   18541              :     }
   18542     12107171 :   switch (TREE_CODE (_p2))
   18543              :     {
   18544       892589 :     case COND_EXPR:
   18545       892589 :       {
   18546       892589 :         tree _q40 = TREE_OPERAND (_p2, 0);
   18547       892589 :         tree _q41 = TREE_OPERAND (_p2, 1);
   18548       892589 :         tree _q42 = TREE_OPERAND (_p2, 2);
   18549       892589 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   18550              :           {
   18551         3762 :             {
   18552         3762 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   18553         3762 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1882;
   18554         3762 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1882;
   18555         3762 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1882;
   18556          184 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1882;
   18557          184 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1882;
   18558          184 :               {
   18559          184 :                 tree res_op0;
   18560          184 :                 res_op0 = captures[0];
   18561          184 :                 tree res_op1;
   18562          184 :                 res_op1 = captures[1];
   18563          184 :                 tree res_op2;
   18564          184 :                 res_op2 = captures[3];
   18565          184 :                 tree _r;
   18566          184 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18567          184 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   18568          184 :                 return _r;
   18569              :               }
   18570         3578 : next_after_fail1882:;
   18571              :             }
   18572              :           }
   18573       892405 :         {
   18574       892405 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   18575       892405 :           if (inverse_conditions_p (captures[0], captures[2])
   18576              : )
   18577              :             {
   18578         1162 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1883;
   18579         1162 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1883;
   18580         1162 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1883;
   18581         1162 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1883;
   18582         1162 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1883;
   18583         1162 :               {
   18584         1162 :                 tree res_op0;
   18585         1162 :                 res_op0 = captures[0];
   18586         1162 :                 tree res_op1;
   18587         1162 :                 res_op1 = captures[1];
   18588         1162 :                 tree res_op2;
   18589         1162 :                 res_op2 = captures[3];
   18590         1162 :                 tree _r;
   18591         1162 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18592         1162 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   18593         1162 :                 return _r;
   18594              :               }
   18595       891243 : next_after_fail1883:;
   18596              :             }
   18597              :         }
   18598       891243 :         break;
   18599              :       }
   18600     12105825 :     default:;
   18601              :     }
   18602     12105825 :   switch (TREE_CODE (_p1))
   18603              :     {
   18604       846781 :     case COND_EXPR:
   18605       846781 :       {
   18606       846781 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18607       846781 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18608       846781 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18609       846781 :         {
   18610       846781 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   18611       846781 :           if (inverse_conditions_p (captures[0], captures[1])
   18612              : )
   18613              :             {
   18614          160 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1884;
   18615          160 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1884;
   18616            2 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1884;
   18617            2 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1884;
   18618            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1884;
   18619            2 :               {
   18620            2 :                 tree res_op0;
   18621            2 :                 res_op0 = captures[0];
   18622            2 :                 tree res_op1;
   18623            2 :                 res_op1 = captures[3];
   18624            2 :                 tree res_op2;
   18625            2 :                 res_op2 = captures[4];
   18626            2 :                 tree _r;
   18627            2 :                 _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   18628            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   18629            2 :                 return _r;
   18630              :               }
   18631       846779 : next_after_fail1884:;
   18632              :             }
   18633              :         }
   18634       846779 :         break;
   18635              :       }
   18636     12105823 :     default:;
   18637              :     }
   18638     12105823 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   18639              :     {
   18640        50963 :       {
   18641        50963 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   18642        50963 :         if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1885;
   18643        50963 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1885;
   18644        50963 :         {
   18645        50963 :           tree _r;
   18646        50963 :           _r = captures[1];
   18647        50963 :           if (TREE_SIDE_EFFECTS (captures[0]))
   18648          358 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   18649        50963 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   18650        50963 :           return _r;
   18651              :         }
   18652            0 : next_after_fail1885:;
   18653              :       }
   18654              :     }
   18655     12054860 :   switch (TREE_CODE (_p0))
   18656              :     {
   18657      1758453 :     case EQ_EXPR:
   18658      1758453 :       {
   18659      1758453 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18660      1758453 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18661      1758453 :         if (CONSTANT_CLASS_P (_q21))
   18662              :           {
   18663      1250507 :             {
   18664      1250507 :               tree _p1_pops[1];
   18665      1250507 :               if (tree_nop_convert (_p1, _p1_pops))
   18666              :                 {
   18667       190673 :                   tree _q50 = _p1_pops[0];
   18668       190673 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18669              :                     {
   18670          282 :                       if (CONSTANT_CLASS_P (_p2))
   18671              :                         {
   18672            0 :                           {
   18673            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   18674            0 :                             if (ANY_INTEGRAL_TYPE_P (type)
   18675            0 :  && operand_equal_p (captures[1], captures[2])
   18676              : )
   18677              :                               {
   18678            0 :                                 if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1886;
   18679            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1886;
   18680            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1886;
   18681            0 :                                 {
   18682            0 :                                   tree res_op0;
   18683            0 :                                   res_op0 = captures[1];
   18684            0 :                                   tree _r;
   18685            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18686            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   18687            0 :                                   return _r;
   18688              :                                 }
   18689            0 : next_after_fail1886:;
   18690              :                               }
   18691              :                           }
   18692              :                         }
   18693              :                     }
   18694              :                 }
   18695              :             }
   18696      1250507 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18697              :               {
   18698           93 :                 if (CONSTANT_CLASS_P (_p2))
   18699              :                   {
   18700            7 :                     {
   18701            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   18702            7 :                       if (ANY_INTEGRAL_TYPE_P (type)
   18703            7 :  && operand_equal_p (captures[1], captures[2])
   18704              : )
   18705              :                         {
   18706            0 :                           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1887;
   18707            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1887;
   18708            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1887;
   18709            0 :                           {
   18710            0 :                             tree res_op0;
   18711            0 :                             res_op0 = captures[1];
   18712            0 :                             tree _r;
   18713            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   18714            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   18715            0 :                             return _r;
   18716              :                           }
   18717            7 : next_after_fail1887:;
   18718              :                         }
   18719              :                     }
   18720              :                   }
   18721              :               }
   18722              :           }
   18723      1758453 :         if (zerop (_q21))
   18724              :           {
   18725       794150 :             switch (TREE_CODE (_p2))
   18726              :               {
   18727           36 :               case NEGATE_EXPR:
   18728           36 :                 {
   18729           36 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   18730           36 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   18731              :                     {
   18732           16 :                       {
   18733           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   18734           16 :                         const enum tree_code cmp = EQ_EXPR;
   18735           16 :                         if (!HONOR_SIGNED_ZEROS (type)
   18736           16 :  && bitwise_equal_p (captures[0], captures[1])
   18737              : )
   18738              :                           {
   18739            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1888;
   18740            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1888;
   18741            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1888;
   18742            0 :                             {
   18743            0 :                               tree _r;
   18744            0 :                               _r = captures[2];
   18745            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   18746            0 :                               return _r;
   18747              :                             }
   18748           16 : next_after_fail1888:;
   18749              :                           }
   18750              :                       }
   18751              :                     }
   18752              :                   break;
   18753              :                 }
   18754       794150 :               default:;
   18755              :               }
   18756       794150 :             if (zerop (_p1))
   18757              :               {
   18758        52703 :                 switch (TREE_CODE (_p2))
   18759              :                   {
   18760           14 :                   case NEGATE_EXPR:
   18761           14 :                     {
   18762           14 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   18763           14 :                       {
   18764           14 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   18765           14 :                         const enum tree_code cmp = EQ_EXPR;
   18766           14 :                         if (!HONOR_SIGNED_ZEROS (type)
   18767           14 :  && bitwise_equal_p (captures[0], captures[2])
   18768              : )
   18769              :                           {
   18770            7 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1889;
   18771            7 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1889;
   18772            7 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1889;
   18773            7 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1889;
   18774            7 :                             {
   18775            7 :                               tree _r;
   18776            7 :                               _r = captures[1];
   18777            7 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   18778            7 :                               return _r;
   18779              :                             }
   18780            7 : next_after_fail1889:;
   18781              :                           }
   18782              :                       }
   18783            7 :                       break;
   18784              :                     }
   18785              :                   default:;
   18786              :                   }
   18787              :               }
   18788              :           }
   18789      1758446 :         switch (TREE_CODE (_q20))
   18790              :           {
   18791            0 :           case MINUS_EXPR:
   18792            0 :             {
   18793            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18794            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   18795            0 :               if (zerop (_q21))
   18796              :                 {
   18797            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   18798              :                     {
   18799            0 :                       switch (TREE_CODE (_p2))
   18800              :                         {
   18801            0 :                         case MINUS_EXPR:
   18802            0 :                           {
   18803            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18804            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18805            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18806              :                               {
   18807            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18808              :                                   {
   18809            0 :                                     {
   18810            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18811            0 :                                       const enum tree_code cmp = EQ_EXPR;
   18812            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   18813              : )
   18814              :                                         {
   18815            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1890;
   18816            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1890;
   18817            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1890;
   18818            0 :                                           {
   18819            0 :                                             tree _r;
   18820            0 :                                             _r = captures[3];
   18821            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   18822            0 :                                             return _r;
   18823              :                                           }
   18824            0 : next_after_fail1890:;
   18825              :                                         }
   18826              :                                     }
   18827              :                                   }
   18828              :                               }
   18829              :                             break;
   18830              :                           }
   18831              :                         default:;
   18832              :                         }
   18833              :                     }
   18834              :                 }
   18835            0 :               if (integer_zerop (_q21))
   18836              :                 {
   18837            0 :                   if (integer_zerop (_p1))
   18838              :                     {
   18839            0 :                       switch (TREE_CODE (_p2))
   18840              :                         {
   18841            0 :                         case MINUS_EXPR:
   18842            0 :                           {
   18843            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   18844            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   18845            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   18846              :                               {
   18847            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   18848              :                                   {
   18849            0 :                                     {
   18850            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   18851            0 :                                       tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   18852            0 :                                       if (res) return res;
   18853              :                                     }
   18854              :                                   }
   18855              :                               }
   18856              :                             break;
   18857              :                           }
   18858              :                         default:;
   18859              :                         }
   18860              :                     }
   18861              :                 }
   18862              :               break;
   18863              :             }
   18864        61202 :           case CALL_EXPR:
   18865        61202 :             switch (get_call_combined_fn (_q20))
   18866              :               {
   18867            0 :               case CFN_BUILT_IN_SIGNBITF:
   18868            0 :                 if (call_expr_nargs (_q20) == 1)
   18869              :     {
   18870            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18871            0 :                     if (integer_zerop (_q21))
   18872              :                       {
   18873            0 :                         switch (TREE_CODE (_p1))
   18874              :                           {
   18875            0 :                           case NEGATE_EXPR:
   18876            0 :                             {
   18877            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18878            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18879              :                                 {
   18880            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18881              :                                     {
   18882            0 :                                       {
   18883            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18884            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITF);
   18885            0 :                                         if (res) return res;
   18886              :                                       }
   18887              :                                     }
   18888              :                                 }
   18889              :                               break;
   18890              :                             }
   18891              :                           default:;
   18892              :                           }
   18893              :                       }
   18894              :                   }
   18895              :                 break;
   18896            0 :               case CFN_BUILT_IN_SIGNBITL:
   18897            0 :                 if (call_expr_nargs (_q20) == 1)
   18898              :     {
   18899            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18900            0 :                     if (integer_zerop (_q21))
   18901              :                       {
   18902            0 :                         switch (TREE_CODE (_p1))
   18903              :                           {
   18904            0 :                           case NEGATE_EXPR:
   18905            0 :                             {
   18906            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18907            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18908              :                                 {
   18909            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18910              :                                     {
   18911            0 :                                       {
   18912            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18913            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBITL);
   18914            0 :                                         if (res) return res;
   18915              :                                       }
   18916              :                                     }
   18917              :                                 }
   18918              :                               break;
   18919              :                             }
   18920              :                           default:;
   18921              :                           }
   18922              :                       }
   18923              :                   }
   18924              :                 break;
   18925            0 :               case CFN_SIGNBIT:
   18926            0 :                 if (call_expr_nargs (_q20) == 1)
   18927              :     {
   18928            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18929            0 :                     if (integer_zerop (_q21))
   18930              :                       {
   18931            0 :                         switch (TREE_CODE (_p1))
   18932              :                           {
   18933            0 :                           case NEGATE_EXPR:
   18934            0 :                             {
   18935            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18936            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18937              :                                 {
   18938            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18939              :                                     {
   18940            0 :                                       {
   18941            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18942            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_SIGNBIT);
   18943            0 :                                         if (res) return res;
   18944              :                                       }
   18945              :                                     }
   18946              :                                 }
   18947              :                               break;
   18948              :                             }
   18949              :                           default:;
   18950              :                           }
   18951              :                       }
   18952              :                   }
   18953              :                 break;
   18954          411 :               case CFN_BUILT_IN_SIGNBIT:
   18955          411 :                 if (call_expr_nargs (_q20) == 1)
   18956              :     {
   18957          411 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   18958          411 :                     if (integer_zerop (_q21))
   18959              :                       {
   18960          411 :                         switch (TREE_CODE (_p1))
   18961              :                           {
   18962            3 :                           case NEGATE_EXPR:
   18963            3 :                             {
   18964            3 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   18965            3 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   18966              :                                 {
   18967            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   18968              :                                     {
   18969            3 :                                       {
   18970            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   18971            3 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR, CFN_BUILT_IN_SIGNBIT);
   18972            3 :                                         if (res) return res;
   18973              :                                       }
   18974              :                                     }
   18975              :                                 }
   18976              :                               break;
   18977              :                             }
   18978              :                           default:;
   18979              :                           }
   18980              :                       }
   18981              :                   }
   18982              :                 break;
   18983              :               default:;
   18984              :               }
   18985              :             break;
   18986              :           default:;
   18987              :           }
   18988              :         break;
   18989              :       }
   18990      2930605 :     case NE_EXPR:
   18991      2930605 :       {
   18992      2930605 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18993      2930605 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18994      2930605 :         if (CONSTANT_CLASS_P (_q21))
   18995              :           {
   18996      2433959 :             if (CONSTANT_CLASS_P (_p1))
   18997              :               {
   18998       257336 :                 {
   18999       257336 :                   tree _p2_pops[1];
   19000       257336 :                   if (tree_nop_convert (_p2, _p2_pops))
   19001              :                     {
   19002        45953 :                       tree _q60 = _p2_pops[0];
   19003        45953 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19004              :                         {
   19005            0 :                           {
   19006            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   19007            0 :                             if (ANY_INTEGRAL_TYPE_P (type)
   19008            0 :  && operand_equal_p (captures[1], captures[2])
   19009              : )
   19010              :                               {
   19011            0 :                                 if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1891;
   19012            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1891;
   19013            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1891;
   19014            0 :                                 {
   19015            0 :                                   tree res_op0;
   19016            0 :                                   res_op0 = captures[1];
   19017            0 :                                   tree _r;
   19018            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19019            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   19020            0 :                                   return _r;
   19021              :                                 }
   19022            0 : next_after_fail1891:;
   19023              :                               }
   19024              :                           }
   19025              :                         }
   19026              :                     }
   19027              :                 }
   19028       257336 :                 if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   19029              :                   {
   19030            2 :                     {
   19031            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   19032            0 :                       if (ANY_INTEGRAL_TYPE_P (type)
   19033            2 :  && operand_equal_p (captures[1], captures[2])
   19034              : )
   19035              :                         {
   19036            0 :                           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1892;
   19037            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1892;
   19038            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1892;
   19039            0 :                           {
   19040            0 :                             tree res_op0;
   19041            0 :                             res_op0 = captures[1];
   19042            0 :                             tree _r;
   19043            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   19044            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   19045            0 :                             return _r;
   19046              :                           }
   19047            2 : next_after_fail1892:;
   19048              :                         }
   19049              :                     }
   19050              :                   }
   19051              :               }
   19052              :           }
   19053      2930605 :         if (zerop (_q21))
   19054              :           {
   19055      2008922 :             switch (TREE_CODE (_p2))
   19056              :               {
   19057           50 :               case NEGATE_EXPR:
   19058           50 :                 {
   19059           50 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   19060           50 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   19061              :                     {
   19062           10 :                       {
   19063           10 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19064           10 :                         const enum tree_code cmp = NE_EXPR;
   19065           10 :                         if (!HONOR_SIGNED_ZEROS (type)
   19066           10 :  && bitwise_equal_p (captures[0], captures[1])
   19067              : )
   19068              :                           {
   19069            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1893;
   19070            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1893;
   19071            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1893;
   19072            0 :                             {
   19073            0 :                               tree _r;
   19074            0 :                               _r = captures[1];
   19075            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   19076            0 :                               return _r;
   19077              :                             }
   19078           10 : next_after_fail1893:;
   19079              :                           }
   19080              :                       }
   19081              :                     }
   19082              :                   break;
   19083              :                 }
   19084      2008922 :               default:;
   19085              :               }
   19086      2008922 :           if (integer_zerop (_p2))
   19087              :             {
   19088       339670 :               {
   19089       339670 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   19090       339670 :                 const enum tree_code cmp = NE_EXPR;
   19091       339670 :                 if (!HONOR_SIGNED_ZEROS (type)
   19092       339670 :  && bitwise_equal_p (captures[0], captures[1])
   19093              : )
   19094              :                   {
   19095         2869 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1894;
   19096         2835 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1894;
   19097         2835 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1894;
   19098         2835 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1894;
   19099         2835 :                     {
   19100         2835 :                       tree _r;
   19101         2835 :                       _r = captures[1];
   19102         2835 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   19103         2835 :                       return _r;
   19104              :                     }
   19105       336835 : next_after_fail1894:;
   19106              :                   }
   19107              :               }
   19108              :             }
   19109              :           }
   19110      2927770 :         switch (TREE_CODE (_q20))
   19111              :           {
   19112          573 :           case MINUS_EXPR:
   19113          573 :             {
   19114          573 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19115          573 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19116          573 :               if (zerop (_q21))
   19117              :                 {
   19118           80 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19119              :                     {
   19120            0 :                       switch (TREE_CODE (_p2))
   19121              :                         {
   19122            0 :                         case MINUS_EXPR:
   19123            0 :                           {
   19124            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   19125            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   19126            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   19127              :                               {
   19128            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   19129              :                                   {
   19130            0 :                                     {
   19131            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19132            0 :                                       const enum tree_code cmp = NE_EXPR;
   19133            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   19134              : )
   19135              :                                         {
   19136            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1895;
   19137            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1895;
   19138            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1895;
   19139            0 :                                           {
   19140            0 :                                             tree _r;
   19141            0 :                                             _r = captures[0];
   19142            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   19143            0 :                                             return _r;
   19144              :                                           }
   19145            0 : next_after_fail1895:;
   19146              :                                         }
   19147              :                                     }
   19148              :                                   }
   19149              :                               }
   19150              :                             break;
   19151              :                           }
   19152              :                         default:;
   19153              :                         }
   19154              :                     }
   19155              :                 }
   19156          573 :               if (integer_zerop (_q21))
   19157              :                 {
   19158           29 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   19159              :                     {
   19160            0 :                       if (integer_zerop (_p2))
   19161              :                         {
   19162            0 :                           {
   19163            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   19164            0 :                             tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   19165            0 :                             if (res) return res;
   19166              :                           }
   19167              :                         }
   19168              :                     }
   19169              :                 }
   19170              :               break;
   19171              :             }
   19172       282225 :           case BIT_AND_EXPR:
   19173       282225 :             {
   19174       282225 :               tree _q30 = TREE_OPERAND (_q20, 0);
   19175       282225 :               tree _q31 = TREE_OPERAND (_q20, 1);
   19176       282225 :               if (integer_pow2p (_q31))
   19177              :                 {
   19178       209902 :                   if (integer_zerop (_q21))
   19179              :                     {
   19180       209902 :                       switch (TREE_CODE (_p1))
   19181              :                         {
   19182         2370 :                         case INTEGER_CST:
   19183         2370 :                           {
   19184         2370 :                             if (integer_zerop (_p2))
   19185              :                               {
   19186         1442 :                                 {
   19187         1442 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
   19188         1442 :                                   if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
   19189              : )
   19190              :                                     {
   19191          662 :                                       {
   19192          662 :  int shift = (wi::exact_log2 (wi::to_wide (captures[2]))
   19193          662 :  - wi::exact_log2 (wi::to_wide (captures[1])));
   19194          662 :                                           if (shift > 0
   19195              : )
   19196              :                                             {
   19197          387 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1896;
   19198          387 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1896;
   19199          387 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1896;
   19200          387 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1896;
   19201          387 :                                               {
   19202          387 :                                                 tree res_op0;
   19203          387 :                                                 {
   19204          387 :                                                   tree _o1[2], _r1;
   19205          387 :                                                   {
   19206          387 :                                                     tree _o2[1], _r2;
   19207          387 :                                                     _o2[0] = captures[0];
   19208          387 :                                                     if (TREE_TYPE (_o2[0]) != type)
   19209              :                                                       {
   19210          384 :                                                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
   19211              :                                                       }
   19212              :                                                     else
   19213              :                                                       _r2 = _o2[0];
   19214          387 :                                                     _o1[0] = _r2;
   19215              :                                                   }
   19216          387 :                                                   _o1[1] =  build_int_cst (integer_type_node, shift);
   19217          387 :                                                   _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   19218          387 :                                                   res_op0 = _r1;
   19219              :                                                 }
   19220          387 :                                                 tree res_op1;
   19221          387 :                                                 res_op1 = captures[2];
   19222          387 :                                                 tree _r;
   19223          387 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   19224          387 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   19225          662 :                                                 return _r;
   19226              :                                               }
   19227              : next_after_fail1896:;
   19228              :                                             }
   19229              :                                           else
   19230              :                                             {
   19231          275 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1897;
   19232          275 :                                               if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1897;
   19233          275 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1897;
   19234          275 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1897;
   19235          275 :                                               {
   19236          275 :                                                 tree res_op0;
   19237          275 :                                                 {
   19238          275 :                                                   tree _o1[1], _r1;
   19239          275 :                                                   {
   19240          275 :                                                     tree _o2[2], _r2;
   19241          275 :                                                     _o2[0] = captures[0];
   19242          275 :                                                     _o2[1] =  build_int_cst (integer_type_node, -shift);
   19243          275 :                                                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   19244          275 :                                                     _o1[0] = _r2;
   19245              :                                                   }
   19246          275 :                                                   if (TREE_TYPE (_o1[0]) != type)
   19247              :                                                     {
   19248          139 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   19249              :                                                     }
   19250              :                                                   else
   19251              :                                                     _r1 = _o1[0];
   19252          275 :                                                   res_op0 = _r1;
   19253              :                                                 }
   19254          275 :                                                 tree res_op1;
   19255          275 :                                                 res_op1 = captures[2];
   19256          275 :                                                 tree _r;
   19257          275 :                                                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   19258          275 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   19259          275 :                                                 return _r;
   19260              :                                               }
   19261              : next_after_fail1897:;
   19262              :                                             }
   19263              :                                       }
   19264              :                                     }
   19265              :                                 }
   19266              :                               }
   19267              :                             break;
   19268              :                           }
   19269              :                         default:;
   19270              :                         }
   19271              :                     }
   19272              :                 }
   19273              :               break;
   19274              :             }
   19275       326250 :           case CALL_EXPR:
   19276       326250 :             switch (get_call_combined_fn (_q20))
   19277              :               {
   19278           30 :               case CFN_BUILT_IN_SIGNBITF:
   19279           30 :                 if (call_expr_nargs (_q20) == 1)
   19280              :     {
   19281           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19282           30 :                     if (integer_zerop (_q21))
   19283              :                       {
   19284           30 :                         switch (TREE_CODE (_p1))
   19285              :                           {
   19286            0 :                           case NEGATE_EXPR:
   19287            0 :                             {
   19288            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19289            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19290              :                                 {
   19291            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19292              :                                     {
   19293            0 :                                       {
   19294            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19295            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITF);
   19296            0 :                                         if (res) return res;
   19297              :                                       }
   19298              :                                     }
   19299              :                                 }
   19300              :                               break;
   19301              :                             }
   19302              :                           default:;
   19303              :                           }
   19304              :                       }
   19305              :                   }
   19306              :                 break;
   19307           30 :               case CFN_BUILT_IN_SIGNBITL:
   19308           30 :                 if (call_expr_nargs (_q20) == 1)
   19309              :     {
   19310           30 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19311           30 :                     if (integer_zerop (_q21))
   19312              :                       {
   19313           30 :                         switch (TREE_CODE (_p1))
   19314              :                           {
   19315            0 :                           case NEGATE_EXPR:
   19316            0 :                             {
   19317            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19318            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19319              :                                 {
   19320            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19321              :                                     {
   19322            0 :                                       {
   19323            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19324            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBITL);
   19325            0 :                                         if (res) return res;
   19326              :                                       }
   19327              :                                     }
   19328              :                                 }
   19329              :                               break;
   19330              :                             }
   19331              :                           default:;
   19332              :                           }
   19333              :                       }
   19334              :                   }
   19335              :                 break;
   19336            0 :               case CFN_SIGNBIT:
   19337            0 :                 if (call_expr_nargs (_q20) == 1)
   19338              :     {
   19339            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19340            0 :                     if (integer_zerop (_q21))
   19341              :                       {
   19342            0 :                         switch (TREE_CODE (_p1))
   19343              :                           {
   19344            0 :                           case NEGATE_EXPR:
   19345            0 :                             {
   19346            0 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19347            0 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19348              :                                 {
   19349            0 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19350              :                                     {
   19351            0 :                                       {
   19352            0 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19353            0 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_SIGNBIT);
   19354            0 :                                         if (res) return res;
   19355              :                                       }
   19356              :                                     }
   19357              :                                 }
   19358              :                               break;
   19359              :                             }
   19360              :                           default:;
   19361              :                           }
   19362              :                       }
   19363              :                   }
   19364              :                 break;
   19365         2896 :               case CFN_BUILT_IN_SIGNBIT:
   19366         2896 :                 if (call_expr_nargs (_q20) == 1)
   19367              :     {
   19368         2896 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   19369         2896 :                     if (integer_zerop (_q21))
   19370              :                       {
   19371         2896 :                         switch (TREE_CODE (_p1))
   19372              :                           {
   19373            4 :                           case NEGATE_EXPR:
   19374            4 :                             {
   19375            4 :                               tree _q60 = TREE_OPERAND (_p1, 0);
   19376            4 :                               if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   19377              :                                 {
   19378            3 :                                   if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
   19379              :                                     {
   19380            3 :                                       {
   19381            3 :                                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   19382            3 :                                         tree res = generic_simplify_371 (loc, type, _p0, _p1, _p2, captures, NE_EXPR, CFN_BUILT_IN_SIGNBIT);
   19383            3 :                                         if (res) return res;
   19384              :                                       }
   19385              :                                     }
   19386              :                                 }
   19387              :                               break;
   19388              :                             }
   19389              :                           default:;
   19390              :                           }
   19391              :                       }
   19392              :                   }
   19393              :                 break;
   19394              :               default:;
   19395              :               }
   19396              :             break;
   19397      2927105 :           default:;
   19398              :           }
   19399      2927105 :         if (integer_zerop (_q21))
   19400              :           {
   19401      1932208 :             switch (TREE_CODE (_p1))
   19402              :               {
   19403       109333 :               case PLUS_EXPR:
   19404       109333 :                 {
   19405       109333 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   19406       109333 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   19407       109333 :                   {
   19408       109333 :                     tree _q50_pops[1];
   19409       109333 :                     if (tree_nop_convert (_q50, _q50_pops))
   19410              :                       {
   19411        11869 :                         tree _q60 = _q50_pops[0];
   19412        11869 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19413              :                           {
   19414         1688 :                             if (integer_all_onesp (_q51))
   19415              :                               {
   19416         1688 :                                 if (integer_zerop (_p2))
   19417              :                                   {
   19418         1680 :                                     {
   19419         1680 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   19420         1680 :                                       tree res = generic_simplify_376 (loc, type, _p0, _p1, _p2, captures);
   19421         1680 :                                       if (res) return res;
   19422              :                                     }
   19423              :                                   }
   19424              :                               }
   19425              :                           }
   19426              :                       }
   19427              :                   }
   19428       107653 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19429              :                     {
   19430         2056 :                       if (integer_all_onesp (_q51))
   19431              :                         {
   19432         2021 :                           if (integer_zerop (_p2))
   19433              :                             {
   19434         2011 :                               {
   19435         2011 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q50 };
   19436         2011 :                                 tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures);
   19437         2011 :                                 if (res) return res;
   19438              :                               }
   19439              :                             }
   19440              :                         }
   19441              :                     }
   19442              :                   break;
   19443              :                 }
   19444       589563 :               case CALL_EXPR:
   19445       589563 :                 switch (get_call_combined_fn (_p1))
   19446              :                   {
   19447            0 :                   case CFN_PARITY:
   19448            0 :                     if (call_expr_nargs (_p1) == 1)
   19449              :     {
   19450            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19451            0 :                         switch (TREE_CODE (_q50))
   19452              :                           {
   19453            0 :                           CASE_CONVERT:
   19454            0 :                             {
   19455            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19456            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19457              :                                 {
   19458            0 :                                   if (integer_zerop (_p2))
   19459              :                                     {
   19460            0 :                                       {
   19461            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19462            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   19463            0 :                                         if (res) return res;
   19464              :                                       }
   19465              :                                     }
   19466              :                                 }
   19467              :                               break;
   19468              :                             }
   19469            0 :                           default:;
   19470              :                           }
   19471            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19472              :                           {
   19473            0 :                             if (integer_zerop (_p2))
   19474              :                               {
   19475            0 :                                 {
   19476            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19477            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_PARITY);
   19478            0 :                                   if (res) return res;
   19479              :                                 }
   19480              :                               }
   19481              :                           }
   19482              :                       }
   19483              :                     break;
   19484            7 :                   case CFN_BUILT_IN_FFS:
   19485            7 :                     if (call_expr_nargs (_p1) == 1)
   19486              :     {
   19487            7 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19488            7 :                         switch (TREE_CODE (_q50))
   19489              :                           {
   19490            0 :                           CASE_CONVERT:
   19491            0 :                             {
   19492            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19493            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19494              :                                 {
   19495            0 :                                   if (integer_zerop (_p2))
   19496              :                                     {
   19497            0 :                                       {
   19498            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19499            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   19500            0 :                                         if (res) return res;
   19501              :                                       }
   19502              :                                     }
   19503              :                                 }
   19504              :                               break;
   19505              :                             }
   19506            7 :                           default:;
   19507              :                           }
   19508            7 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19509              :                           {
   19510            0 :                             if (integer_zerop (_p2))
   19511              :                               {
   19512            0 :                                 {
   19513            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19514            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFS);
   19515            0 :                                   if (res) return res;
   19516              :                                 }
   19517              :                               }
   19518              :                           }
   19519              :                       }
   19520              :                     break;
   19521            0 :                   case CFN_BUILT_IN_FFSIMAX:
   19522            0 :                     if (call_expr_nargs (_p1) == 1)
   19523              :     {
   19524            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19525            0 :                         switch (TREE_CODE (_q50))
   19526              :                           {
   19527            0 :                           CASE_CONVERT:
   19528            0 :                             {
   19529            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19530            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19531              :                                 {
   19532            0 :                                   if (integer_zerop (_p2))
   19533              :                                     {
   19534            0 :                                       {
   19535            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19536            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   19537            0 :                                         if (res) return res;
   19538              :                                       }
   19539              :                                     }
   19540              :                                 }
   19541              :                               break;
   19542              :                             }
   19543            0 :                           default:;
   19544              :                           }
   19545            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19546              :                           {
   19547            0 :                             if (integer_zerop (_p2))
   19548              :                               {
   19549            0 :                                 {
   19550            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19551            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSIMAX);
   19552            0 :                                   if (res) return res;
   19553              :                                 }
   19554              :                               }
   19555              :                           }
   19556              :                       }
   19557              :                     break;
   19558            2 :                   case CFN_BUILT_IN_POPCOUNT:
   19559            2 :                     if (call_expr_nargs (_p1) == 1)
   19560              :     {
   19561            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19562            2 :                         switch (TREE_CODE (_q50))
   19563              :                           {
   19564            1 :                           CASE_CONVERT:
   19565            1 :                             {
   19566            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19567            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19568              :                                 {
   19569            1 :                                   if (integer_zerop (_p2))
   19570              :                                     {
   19571            1 :                                       {
   19572            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19573            1 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   19574            1 :                                         if (res) return res;
   19575              :                                       }
   19576              :                                     }
   19577              :                                 }
   19578              :                               break;
   19579              :                             }
   19580            1 :                           default:;
   19581              :                           }
   19582            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19583              :                           {
   19584            0 :                             if (integer_zerop (_p2))
   19585              :                               {
   19586            0 :                                 {
   19587            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19588            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNT);
   19589            0 :                                   if (res) return res;
   19590              :                                 }
   19591              :                               }
   19592              :                           }
   19593              :                       }
   19594              :                     break;
   19595            2 :                   case CFN_BUILT_IN_PARITYL:
   19596            2 :                     if (call_expr_nargs (_p1) == 1)
   19597              :     {
   19598            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19599            2 :                         switch (TREE_CODE (_q50))
   19600              :                           {
   19601            1 :                           CASE_CONVERT:
   19602            1 :                             {
   19603            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19604            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19605              :                                 {
   19606            1 :                                   if (integer_zerop (_p2))
   19607              :                                     {
   19608            1 :                                       {
   19609            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19610            1 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   19611            1 :                                         if (res) return res;
   19612              :                                       }
   19613              :                                     }
   19614              :                                 }
   19615              :                               break;
   19616              :                             }
   19617            1 :                           default:;
   19618              :                           }
   19619            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19620              :                           {
   19621            0 :                             if (integer_zerop (_p2))
   19622              :                               {
   19623            0 :                                 {
   19624            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19625            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYL);
   19626            0 :                                   if (res) return res;
   19627              :                                 }
   19628              :                               }
   19629              :                           }
   19630              :                       }
   19631              :                     break;
   19632           16 :                   case CFN_BUILT_IN_FFSL:
   19633           16 :                     if (call_expr_nargs (_p1) == 1)
   19634              :     {
   19635           16 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19636           16 :                         switch (TREE_CODE (_q50))
   19637              :                           {
   19638           16 :                           CASE_CONVERT:
   19639           16 :                             {
   19640           16 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19641           16 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19642              :                                 {
   19643            0 :                                   if (integer_zerop (_p2))
   19644              :                                     {
   19645            0 :                                       {
   19646            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19647            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   19648            0 :                                         if (res) return res;
   19649              :                                       }
   19650              :                                     }
   19651              :                                 }
   19652              :                               break;
   19653              :                             }
   19654           16 :                           default:;
   19655              :                           }
   19656           16 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19657              :                           {
   19658            0 :                             if (integer_zerop (_p2))
   19659              :                               {
   19660            0 :                                 {
   19661            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19662            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSL);
   19663            0 :                                   if (res) return res;
   19664              :                                 }
   19665              :                               }
   19666              :                           }
   19667              :                       }
   19668              :                     break;
   19669            2 :                   case CFN_BUILT_IN_POPCOUNTLL:
   19670            2 :                     if (call_expr_nargs (_p1) == 1)
   19671              :     {
   19672            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19673            2 :                         switch (TREE_CODE (_q50))
   19674              :                           {
   19675            1 :                           CASE_CONVERT:
   19676            1 :                             {
   19677            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19678            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19679              :                                 {
   19680            1 :                                   if (integer_zerop (_p2))
   19681              :                                     {
   19682            1 :                                       {
   19683            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19684            1 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   19685            1 :                                         if (res) return res;
   19686              :                                       }
   19687              :                                     }
   19688              :                                 }
   19689              :                               break;
   19690              :                             }
   19691            1 :                           default:;
   19692              :                           }
   19693            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19694              :                           {
   19695            0 :                             if (integer_zerop (_p2))
   19696              :                               {
   19697            0 :                                 {
   19698            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19699            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTLL);
   19700            0 :                                   if (res) return res;
   19701              :                                 }
   19702              :                               }
   19703              :                           }
   19704              :                       }
   19705              :                     break;
   19706            0 :                   case CFN_POPCOUNT:
   19707            0 :                     if (call_expr_nargs (_p1) == 1)
   19708              :     {
   19709            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19710            0 :                         switch (TREE_CODE (_q50))
   19711              :                           {
   19712            0 :                           CASE_CONVERT:
   19713            0 :                             {
   19714            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19715            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19716              :                                 {
   19717            0 :                                   if (integer_zerop (_p2))
   19718              :                                     {
   19719            0 :                                       {
   19720            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19721            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   19722            0 :                                         if (res) return res;
   19723              :                                       }
   19724              :                                     }
   19725              :                                 }
   19726              :                               break;
   19727              :                             }
   19728            0 :                           default:;
   19729              :                           }
   19730            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19731              :                           {
   19732            0 :                             if (integer_zerop (_p2))
   19733              :                               {
   19734            0 :                                 {
   19735            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19736            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_POPCOUNT);
   19737            0 :                                   if (res) return res;
   19738              :                                 }
   19739              :                               }
   19740              :                           }
   19741              :                       }
   19742              :                     break;
   19743            0 :                   case CFN_BUILT_IN_PARITYIMAX:
   19744            0 :                     if (call_expr_nargs (_p1) == 1)
   19745              :     {
   19746            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19747            0 :                         switch (TREE_CODE (_q50))
   19748              :                           {
   19749            0 :                           CASE_CONVERT:
   19750            0 :                             {
   19751            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19752            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19753              :                                 {
   19754            0 :                                   if (integer_zerop (_p2))
   19755              :                                     {
   19756            0 :                                       {
   19757            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19758            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   19759            0 :                                         if (res) return res;
   19760              :                                       }
   19761              :                                     }
   19762              :                                 }
   19763              :                               break;
   19764              :                             }
   19765            0 :                           default:;
   19766              :                           }
   19767            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19768              :                           {
   19769            0 :                             if (integer_zerop (_p2))
   19770              :                               {
   19771            0 :                                 {
   19772            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19773            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYIMAX);
   19774            0 :                                   if (res) return res;
   19775              :                                 }
   19776              :                               }
   19777              :                           }
   19778              :                       }
   19779              :                     break;
   19780            2 :                   case CFN_BUILT_IN_CLRSBL:
   19781            2 :                     if (call_expr_nargs (_p1) == 1)
   19782              :     {
   19783            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19784            2 :                         switch (TREE_CODE (_q50))
   19785              :                           {
   19786            0 :                           CASE_CONVERT:
   19787            0 :                             {
   19788            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19789            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19790              :                                 {
   19791            0 :                                   switch (TREE_CODE (_p2))
   19792              :                                     {
   19793            0 :                                     case INTEGER_CST:
   19794            0 :                                       {
   19795            0 :                                         {
   19796            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19797            0 :                                           tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   19798            0 :                                           if (res) return res;
   19799              :                                         }
   19800            0 :                                         break;
   19801              :                                       }
   19802              :                                     default:;
   19803              :                                     }
   19804              :                                 }
   19805              :                               break;
   19806              :                             }
   19807            2 :                           default:;
   19808              :                           }
   19809            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19810              :                           {
   19811            1 :                             switch (TREE_CODE (_p2))
   19812              :                               {
   19813            1 :                               case INTEGER_CST:
   19814            1 :                                 {
   19815            1 :                                   {
   19816            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19817            1 :                                     tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBL);
   19818            1 :                                     if (res) return res;
   19819              :                                   }
   19820            0 :                                   break;
   19821              :                                 }
   19822              :                               default:;
   19823              :                               }
   19824              :                           }
   19825              :                       }
   19826              :                     break;
   19827            0 :                   case CFN_FFS:
   19828            0 :                     if (call_expr_nargs (_p1) == 1)
   19829              :     {
   19830            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19831            0 :                         switch (TREE_CODE (_q50))
   19832              :                           {
   19833            0 :                           CASE_CONVERT:
   19834            0 :                             {
   19835            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19836            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19837              :                                 {
   19838            0 :                                   if (integer_zerop (_p2))
   19839              :                                     {
   19840            0 :                                       {
   19841            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19842            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   19843            0 :                                         if (res) return res;
   19844              :                                       }
   19845              :                                     }
   19846              :                                 }
   19847              :                               break;
   19848              :                             }
   19849            0 :                           default:;
   19850              :                           }
   19851            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19852              :                           {
   19853            0 :                             if (integer_zerop (_p2))
   19854              :                               {
   19855            0 :                                 {
   19856            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19857            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_FFS);
   19858            0 :                                   if (res) return res;
   19859              :                                 }
   19860              :                               }
   19861              :                           }
   19862              :                       }
   19863              :                     break;
   19864            2 :                   case CFN_BUILT_IN_PARITY:
   19865            2 :                     if (call_expr_nargs (_p1) == 1)
   19866              :     {
   19867            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19868            2 :                         switch (TREE_CODE (_q50))
   19869              :                           {
   19870            1 :                           CASE_CONVERT:
   19871            1 :                             {
   19872            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19873            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19874              :                                 {
   19875            1 :                                   if (integer_zerop (_p2))
   19876              :                                     {
   19877            1 :                                       {
   19878            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19879            1 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   19880            1 :                                         if (res) return res;
   19881              :                                       }
   19882              :                                     }
   19883              :                                 }
   19884              :                               break;
   19885              :                             }
   19886            1 :                           default:;
   19887              :                           }
   19888            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19889              :                           {
   19890            0 :                             if (integer_zerop (_p2))
   19891              :                               {
   19892            0 :                                 {
   19893            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19894            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITY);
   19895            0 :                                   if (res) return res;
   19896              :                                 }
   19897              :                               }
   19898              :                           }
   19899              :                       }
   19900              :                     break;
   19901            0 :                   case CFN_BUILT_IN_POPCOUNTIMAX:
   19902            0 :                     if (call_expr_nargs (_p1) == 1)
   19903              :     {
   19904            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19905            0 :                         switch (TREE_CODE (_q50))
   19906              :                           {
   19907            0 :                           CASE_CONVERT:
   19908            0 :                             {
   19909            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19910            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19911              :                                 {
   19912            0 :                                   if (integer_zerop (_p2))
   19913              :                                     {
   19914            0 :                                       {
   19915            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19916            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   19917            0 :                                         if (res) return res;
   19918              :                                       }
   19919              :                                     }
   19920              :                                 }
   19921              :                               break;
   19922              :                             }
   19923            0 :                           default:;
   19924              :                           }
   19925            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19926              :                           {
   19927            0 :                             if (integer_zerop (_p2))
   19928              :                               {
   19929            0 :                                 {
   19930            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   19931            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTIMAX);
   19932            0 :                                   if (res) return res;
   19933              :                                 }
   19934              :                               }
   19935              :                           }
   19936              :                       }
   19937              :                     break;
   19938            0 :                   case CFN_BUILT_IN_CLRSBIMAX:
   19939            0 :                     if (call_expr_nargs (_p1) == 1)
   19940              :     {
   19941            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19942            0 :                         switch (TREE_CODE (_q50))
   19943              :                           {
   19944            0 :                           CASE_CONVERT:
   19945            0 :                             {
   19946            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19947            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19948              :                                 {
   19949            0 :                                   switch (TREE_CODE (_p2))
   19950              :                                     {
   19951            0 :                                     case INTEGER_CST:
   19952            0 :                                       {
   19953            0 :                                         {
   19954            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19955            0 :                                           tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   19956            0 :                                           if (res) return res;
   19957              :                                         }
   19958            0 :                                         break;
   19959              :                                       }
   19960              :                                     default:;
   19961              :                                     }
   19962              :                                 }
   19963              :                               break;
   19964              :                             }
   19965            0 :                           default:;
   19966              :                           }
   19967            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   19968              :                           {
   19969            0 :                             switch (TREE_CODE (_p2))
   19970              :                               {
   19971            0 :                               case INTEGER_CST:
   19972            0 :                                 {
   19973            0 :                                   {
   19974            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   19975            0 :                                     tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBIMAX);
   19976            0 :                                     if (res) return res;
   19977              :                                   }
   19978            0 :                                   break;
   19979              :                                 }
   19980              :                               default:;
   19981              :                               }
   19982              :                           }
   19983              :                       }
   19984              :                     break;
   19985            2 :                   case CFN_BUILT_IN_CLRSBLL:
   19986            2 :                     if (call_expr_nargs (_p1) == 1)
   19987              :     {
   19988            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   19989            2 :                         switch (TREE_CODE (_q50))
   19990              :                           {
   19991            0 :                           CASE_CONVERT:
   19992            0 :                             {
   19993            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   19994            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   19995              :                                 {
   19996            0 :                                   switch (TREE_CODE (_p2))
   19997              :                                     {
   19998            0 :                                     case INTEGER_CST:
   19999            0 :                                       {
   20000            0 :                                         {
   20001            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20002            0 :                                           tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   20003            0 :                                           if (res) return res;
   20004              :                                         }
   20005            0 :                                         break;
   20006              :                                       }
   20007              :                                     default:;
   20008              :                                     }
   20009              :                                 }
   20010              :                               break;
   20011              :                             }
   20012            2 :                           default:;
   20013              :                           }
   20014            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20015              :                           {
   20016            1 :                             switch (TREE_CODE (_p2))
   20017              :                               {
   20018            1 :                               case INTEGER_CST:
   20019            1 :                                 {
   20020            1 :                                   {
   20021            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20022            1 :                                     tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSBLL);
   20023            1 :                                     if (res) return res;
   20024              :                                   }
   20025            0 :                                   break;
   20026              :                                 }
   20027              :                               default:;
   20028              :                               }
   20029              :                           }
   20030              :                       }
   20031              :                     break;
   20032            0 :                   case CFN_BSWAP:
   20033            0 :                     if (call_expr_nargs (_p1) == 1)
   20034              :     {
   20035            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20036            0 :                         switch (TREE_CODE (_q50))
   20037              :                           {
   20038            0 :                           CASE_CONVERT:
   20039            0 :                             {
   20040            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20041            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20042              :                                 {
   20043            0 :                                   if (integer_zerop (_p2))
   20044              :                                     {
   20045            0 :                                       {
   20046            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20047            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BSWAP);
   20048            0 :                                         if (res) return res;
   20049              :                                       }
   20050              :                                     }
   20051              :                                 }
   20052              :                               break;
   20053              :                             }
   20054            0 :                           default:;
   20055              :                           }
   20056            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20057              :                           {
   20058            0 :                             if (integer_zerop (_p2))
   20059              :                               {
   20060            0 :                                 {
   20061            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20062            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BSWAP);
   20063            0 :                                   if (res) return res;
   20064              :                                 }
   20065              :                               }
   20066              :                           }
   20067              :                       }
   20068              :                     break;
   20069            0 :                   case CFN_CLRSB:
   20070            0 :                     if (call_expr_nargs (_p1) == 1)
   20071              :     {
   20072            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20073            0 :                         switch (TREE_CODE (_q50))
   20074              :                           {
   20075            0 :                           CASE_CONVERT:
   20076            0 :                             {
   20077            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20078            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20079              :                                 {
   20080            0 :                                   switch (TREE_CODE (_p2))
   20081              :                                     {
   20082            0 :                                     case INTEGER_CST:
   20083            0 :                                       {
   20084            0 :                                         {
   20085            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20086            0 :                                           tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   20087            0 :                                           if (res) return res;
   20088              :                                         }
   20089            0 :                                         break;
   20090              :                                       }
   20091              :                                     default:;
   20092              :                                     }
   20093              :                                 }
   20094              :                               break;
   20095              :                             }
   20096            0 :                           default:;
   20097              :                           }
   20098            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20099              :                           {
   20100            0 :                             switch (TREE_CODE (_p2))
   20101              :                               {
   20102            0 :                               case INTEGER_CST:
   20103            0 :                                 {
   20104            0 :                                   {
   20105            0 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20106            0 :                                     tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures, CFN_CLRSB);
   20107            0 :                                     if (res) return res;
   20108              :                                   }
   20109            0 :                                   break;
   20110              :                                 }
   20111              :                               default:;
   20112              :                               }
   20113              :                           }
   20114              :                       }
   20115              :                     break;
   20116            0 :                   case CFN_BUILT_IN_BSWAP128:
   20117            0 :                     if (call_expr_nargs (_p1) == 1)
   20118              :     {
   20119            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20120            0 :                         switch (TREE_CODE (_q50))
   20121              :                           {
   20122            0 :                           CASE_CONVERT:
   20123            0 :                             {
   20124            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20125            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20126              :                                 {
   20127            0 :                                   if (integer_zerop (_p2))
   20128              :                                     {
   20129            0 :                                       {
   20130            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20131            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   20132            0 :                                         if (res) return res;
   20133              :                                       }
   20134              :                                     }
   20135              :                                 }
   20136              :                               break;
   20137              :                             }
   20138            0 :                           default:;
   20139              :                           }
   20140            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20141              :                           {
   20142            0 :                             if (integer_zerop (_p2))
   20143              :                               {
   20144            0 :                                 {
   20145            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20146            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP128);
   20147            0 :                                   if (res) return res;
   20148              :                                 }
   20149              :                               }
   20150              :                           }
   20151              :                       }
   20152              :                     break;
   20153            2 :                   case CFN_BUILT_IN_POPCOUNTL:
   20154            2 :                     if (call_expr_nargs (_p1) == 1)
   20155              :     {
   20156            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20157            2 :                         switch (TREE_CODE (_q50))
   20158              :                           {
   20159            1 :                           CASE_CONVERT:
   20160            1 :                             {
   20161            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20162            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20163              :                                 {
   20164            1 :                                   if (integer_zerop (_p2))
   20165              :                                     {
   20166            1 :                                       {
   20167            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20168            1 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   20169            1 :                                         if (res) return res;
   20170              :                                       }
   20171              :                                     }
   20172              :                                 }
   20173              :                               break;
   20174              :                             }
   20175            1 :                           default:;
   20176              :                           }
   20177            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20178              :                           {
   20179            0 :                             if (integer_zerop (_p2))
   20180              :                               {
   20181            0 :                                 {
   20182            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20183            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_POPCOUNTL);
   20184            0 :                                   if (res) return res;
   20185              :                                 }
   20186              :                               }
   20187              :                           }
   20188              :                       }
   20189              :                     break;
   20190            2 :                   case CFN_BUILT_IN_CLRSB:
   20191            2 :                     if (call_expr_nargs (_p1) == 1)
   20192              :     {
   20193            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20194            2 :                         switch (TREE_CODE (_q50))
   20195              :                           {
   20196            0 :                           CASE_CONVERT:
   20197            0 :                             {
   20198            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20199            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20200              :                                 {
   20201            0 :                                   switch (TREE_CODE (_p2))
   20202              :                                     {
   20203            0 :                                     case INTEGER_CST:
   20204            0 :                                       {
   20205            0 :                                         {
   20206            0 :                                           tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20207            0 :                                           tree res = generic_simplify_374 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   20208            0 :                                           if (res) return res;
   20209              :                                         }
   20210            0 :                                         break;
   20211              :                                       }
   20212              :                                     default:;
   20213              :                                     }
   20214              :                                 }
   20215              :                               break;
   20216              :                             }
   20217            2 :                           default:;
   20218              :                           }
   20219            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20220              :                           {
   20221            1 :                             switch (TREE_CODE (_p2))
   20222              :                               {
   20223            1 :                               case INTEGER_CST:
   20224            1 :                                 {
   20225            1 :                                   {
   20226            1 :                                     tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50, _p2 };
   20227            1 :                                     tree res = generic_simplify_375 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_CLRSB);
   20228            1 :                                     if (res) return res;
   20229              :                                   }
   20230            0 :                                   break;
   20231              :                                 }
   20232              :                               default:;
   20233              :                               }
   20234              :                           }
   20235              :                       }
   20236              :                     break;
   20237            0 :                   case CFN_BUILT_IN_FFSLL:
   20238            0 :                     if (call_expr_nargs (_p1) == 1)
   20239              :     {
   20240            0 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20241            0 :                         switch (TREE_CODE (_q50))
   20242              :                           {
   20243            0 :                           CASE_CONVERT:
   20244            0 :                             {
   20245            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20246            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20247              :                                 {
   20248            0 :                                   if (integer_zerop (_p2))
   20249              :                                     {
   20250            0 :                                       {
   20251            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20252            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   20253            0 :                                         if (res) return res;
   20254              :                                       }
   20255              :                                     }
   20256              :                                 }
   20257              :                               break;
   20258              :                             }
   20259            0 :                           default:;
   20260              :                           }
   20261            0 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20262              :                           {
   20263            0 :                             if (integer_zerop (_p2))
   20264              :                               {
   20265            0 :                                 {
   20266            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20267            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_FFSLL);
   20268            0 :                                   if (res) return res;
   20269              :                                 }
   20270              :                               }
   20271              :                           }
   20272              :                       }
   20273              :                     break;
   20274            2 :                   case CFN_BUILT_IN_PARITYLL:
   20275            2 :                     if (call_expr_nargs (_p1) == 1)
   20276              :     {
   20277            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20278            2 :                         switch (TREE_CODE (_q50))
   20279              :                           {
   20280            1 :                           CASE_CONVERT:
   20281            1 :                             {
   20282            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20283            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20284              :                                 {
   20285            1 :                                   if (integer_zerop (_p2))
   20286              :                                     {
   20287            1 :                                       {
   20288            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20289            1 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   20290            1 :                                         if (res) return res;
   20291              :                                       }
   20292              :                                     }
   20293              :                                 }
   20294              :                               break;
   20295              :                             }
   20296            1 :                           default:;
   20297              :                           }
   20298            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20299              :                           {
   20300            0 :                             if (integer_zerop (_p2))
   20301              :                               {
   20302            0 :                                 {
   20303            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20304            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_PARITYLL);
   20305            0 :                                   if (res) return res;
   20306              :                                 }
   20307              :                               }
   20308              :                           }
   20309              :                       }
   20310              :                     break;
   20311            3 :                   case CFN_BUILT_IN_BSWAP16:
   20312            3 :                     if (call_expr_nargs (_p1) == 1)
   20313              :     {
   20314            3 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20315            3 :                         switch (TREE_CODE (_q50))
   20316              :                           {
   20317            0 :                           CASE_CONVERT:
   20318            0 :                             {
   20319            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20320            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20321              :                                 {
   20322            0 :                                   if (integer_zerop (_p2))
   20323              :                                     {
   20324            0 :                                       {
   20325            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20326            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   20327            0 :                                         if (res) return res;
   20328              :                                       }
   20329              :                                     }
   20330              :                                 }
   20331              :                               break;
   20332              :                             }
   20333            3 :                           default:;
   20334              :                           }
   20335            3 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20336              :                           {
   20337            1 :                             if (integer_zerop (_p2))
   20338              :                               {
   20339            1 :                                 {
   20340            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20341            1 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP16);
   20342            1 :                                   if (res) return res;
   20343              :                                 }
   20344              :                               }
   20345              :                           }
   20346              :                       }
   20347              :                     break;
   20348            2 :                   case CFN_BUILT_IN_BSWAP32:
   20349            2 :                     if (call_expr_nargs (_p1) == 1)
   20350              :     {
   20351            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20352            2 :                         switch (TREE_CODE (_q50))
   20353              :                           {
   20354            0 :                           CASE_CONVERT:
   20355            0 :                             {
   20356            0 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20357            0 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20358              :                                 {
   20359            0 :                                   if (integer_zerop (_p2))
   20360              :                                     {
   20361            0 :                                       {
   20362            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20363            0 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   20364            0 :                                         if (res) return res;
   20365              :                                       }
   20366              :                                     }
   20367              :                                 }
   20368              :                               break;
   20369              :                             }
   20370            2 :                           default:;
   20371              :                           }
   20372            2 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20373              :                           {
   20374            1 :                             if (integer_zerop (_p2))
   20375              :                               {
   20376            1 :                                 {
   20377            1 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20378            1 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP32);
   20379            1 :                                   if (res) return res;
   20380              :                                 }
   20381              :                               }
   20382              :                           }
   20383              :                       }
   20384              :                     break;
   20385            2 :                   case CFN_BUILT_IN_BSWAP64:
   20386            2 :                     if (call_expr_nargs (_p1) == 1)
   20387              :     {
   20388            2 :                         tree _q50 = CALL_EXPR_ARG (_p1, 0);
   20389            2 :                         switch (TREE_CODE (_q50))
   20390              :                           {
   20391            1 :                           CASE_CONVERT:
   20392            1 :                             {
   20393            1 :                               tree _q60 = TREE_OPERAND (_q50, 0);
   20394            1 :                               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20395              :                                 {
   20396            1 :                                   if (integer_zerop (_p2))
   20397              :                                     {
   20398            1 :                                       {
   20399            1 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20400            1 :                                         tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   20401            1 :                                         if (res) return res;
   20402              :                                       }
   20403              :                                     }
   20404              :                                 }
   20405              :                               break;
   20406              :                             }
   20407            1 :                           default:;
   20408              :                           }
   20409            1 :                         if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   20410              :                           {
   20411            0 :                             if (integer_zerop (_p2))
   20412              :                               {
   20413            0 :                                 {
   20414            0 :                                   tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
   20415            0 :                                   tree res = generic_simplify_373 (loc, type, _p0, _p1, _p2, captures, CFN_BUILT_IN_BSWAP64);
   20416            0 :                                   if (res) return res;
   20417              :                                 }
   20418              :                               }
   20419              :                           }
   20420              :                       }
   20421              :                     break;
   20422              :                   default:;
   20423              :                   }
   20424              :                 break;
   20425      1928505 :               default:;
   20426              :               }
   20427      1928505 :           {
   20428      1928505 :             tree _p1_pops[1];
   20429      1928505 :             if (tree_nop_convert (_p1, _p1_pops))
   20430              :               {
   20431       163404 :                 tree _q50 = _p1_pops[0];
   20432       163404 :                 switch (TREE_CODE (_q50))
   20433              :                   {
   20434          339 :                   case PLUS_EXPR:
   20435          339 :                     {
   20436          339 :                       tree _q60 = TREE_OPERAND (_q50, 0);
   20437          339 :                       tree _q61 = TREE_OPERAND (_q50, 1);
   20438          339 :                       {
   20439          339 :                         tree _q60_pops[1];
   20440          339 :                         if (tree_nop_convert (_q60, _q60_pops))
   20441              :                           {
   20442           52 :                             tree _q70 = _q60_pops[0];
   20443           52 :                             if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   20444              :                               {
   20445            2 :                                 if (integer_all_onesp (_q61))
   20446              :                                   {
   20447            2 :                                     if (integer_zerop (_p2))
   20448              :                                       {
   20449            2 :                                         {
   20450            2 :                                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   20451            2 :                                           tree res = generic_simplify_376 (loc, type, _p0, _p1, _p2, captures);
   20452            2 :                                           if (res) return res;
   20453              :                                         }
   20454              :                                       }
   20455              :                                   }
   20456              :                               }
   20457              :                           }
   20458              :                       }
   20459          337 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   20460              :                         {
   20461           14 :                           if (integer_all_onesp (_q61))
   20462              :                             {
   20463            0 :                               if (integer_zerop (_p2))
   20464              :                                 {
   20465            0 :                                   {
   20466            0 :                                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q60 };
   20467            0 :                                     tree res = generic_simplify_377 (loc, type, _p0, _p1, _p2, captures);
   20468            0 :                                     if (res) return res;
   20469              :                                   }
   20470              :                                 }
   20471              :                             }
   20472              :                         }
   20473              :                       break;
   20474              :                     }
   20475              :                   default:;
   20476              :                   }
   20477              :               }
   20478              :           }
   20479              :           }
   20480              :         break;
   20481              :       }
   20482          164 :     case UNEQ_EXPR:
   20483          164 :       {
   20484          164 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20485          164 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20486          164 :         if (zerop (_q21))
   20487              :           {
   20488            1 :             switch (TREE_CODE (_p2))
   20489              :               {
   20490            0 :               case NEGATE_EXPR:
   20491            0 :                 {
   20492            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20493            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20494              :                     {
   20495            0 :                       {
   20496            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   20497            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   20498            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   20499            0 :  && bitwise_equal_p (captures[0], captures[1])
   20500              : )
   20501              :                           {
   20502            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1898;
   20503            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1898;
   20504            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1898;
   20505            0 :                             {
   20506            0 :                               tree _r;
   20507            0 :                               _r = captures[2];
   20508            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   20509            0 :                               return _r;
   20510              :                             }
   20511            0 : next_after_fail1898:;
   20512              :                           }
   20513              :                       }
   20514              :                     }
   20515              :                   break;
   20516              :                 }
   20517            1 :               default:;
   20518              :               }
   20519            1 :             if (zerop (_p1))
   20520              :               {
   20521            0 :                 switch (TREE_CODE (_p2))
   20522              :                   {
   20523            0 :                   case NEGATE_EXPR:
   20524            0 :                     {
   20525            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   20526            0 :                       {
   20527            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   20528            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   20529            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   20530            0 :  && bitwise_equal_p (captures[0], captures[2])
   20531              : )
   20532              :                           {
   20533            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1899;
   20534            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1899;
   20535            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1899;
   20536            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1899;
   20537            0 :                             {
   20538            0 :                               tree _r;
   20539            0 :                               _r = captures[1];
   20540            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   20541            0 :                               return _r;
   20542              :                             }
   20543            0 : next_after_fail1899:;
   20544              :                           }
   20545              :                       }
   20546            0 :                       break;
   20547              :                     }
   20548              :                   default:;
   20549              :                   }
   20550              :               }
   20551              :           }
   20552          164 :         switch (TREE_CODE (_q20))
   20553              :           {
   20554            0 :           case MINUS_EXPR:
   20555            0 :             {
   20556            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20557            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20558            0 :               if (zerop (_q21))
   20559              :                 {
   20560            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20561              :                     {
   20562            0 :                       switch (TREE_CODE (_p2))
   20563              :                         {
   20564            0 :                         case MINUS_EXPR:
   20565            0 :                           {
   20566            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20567            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20568            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20569              :                               {
   20570            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20571              :                                   {
   20572            0 :                                     {
   20573            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   20574            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   20575            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20576              : )
   20577              :                                         {
   20578            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1900;
   20579            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1900;
   20580            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1900;
   20581            0 :                                           {
   20582            0 :                                             tree _r;
   20583            0 :                                             _r = captures[3];
   20584            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   20585            0 :                                             return _r;
   20586              :                                           }
   20587            0 : next_after_fail1900:;
   20588              :                                         }
   20589              :                                     }
   20590              :                                   }
   20591              :                               }
   20592              :                             break;
   20593              :                           }
   20594              :                         default:;
   20595              :                         }
   20596              :                     }
   20597              :                 }
   20598            0 :               if (integer_zerop (_q21))
   20599              :                 {
   20600            0 :                   if (integer_zerop (_p1))
   20601              :                     {
   20602            0 :                       switch (TREE_CODE (_p2))
   20603              :                         {
   20604            0 :                         case MINUS_EXPR:
   20605            0 :                           {
   20606            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20607            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20608            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20609              :                               {
   20610            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20611              :                                   {
   20612            0 :                                     {
   20613            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   20614            0 :                                       tree res = generic_simplify_370 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   20615            0 :                                       if (res) return res;
   20616              :                                     }
   20617              :                                   }
   20618              :                               }
   20619              :                             break;
   20620              :                           }
   20621              :                         default:;
   20622              :                         }
   20623              :                     }
   20624              :                 }
   20625              :               break;
   20626              :             }
   20627              :           default:;
   20628              :           }
   20629              :         break;
   20630              :       }
   20631            7 :     case LTGT_EXPR:
   20632            7 :       {
   20633            7 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20634            7 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20635            7 :         if (zerop (_q21))
   20636              :           {
   20637            0 :             switch (TREE_CODE (_p2))
   20638              :               {
   20639            0 :               case NEGATE_EXPR:
   20640            0 :                 {
   20641            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20642            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20643              :                     {
   20644            0 :                       {
   20645            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20646            0 :                         const enum tree_code cmp = LTGT_EXPR;
   20647            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   20648            0 :  && bitwise_equal_p (captures[0], captures[1])
   20649              : )
   20650              :                           {
   20651            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1901;
   20652            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1901;
   20653            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1901;
   20654            0 :                             {
   20655            0 :                               tree _r;
   20656            0 :                               _r = captures[1];
   20657            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   20658            0 :                               return _r;
   20659              :                             }
   20660            0 : next_after_fail1901:;
   20661              :                           }
   20662              :                       }
   20663              :                     }
   20664              :                   break;
   20665              :                 }
   20666            0 :               default:;
   20667              :               }
   20668            0 :           if (integer_zerop (_p2))
   20669              :             {
   20670            0 :               {
   20671            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   20672            0 :                 const enum tree_code cmp = LTGT_EXPR;
   20673            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   20674            0 :  && bitwise_equal_p (captures[0], captures[1])
   20675              : )
   20676              :                   {
   20677            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1902;
   20678            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1902;
   20679            0 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1902;
   20680            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1902;
   20681            0 :                     {
   20682            0 :                       tree _r;
   20683            0 :                       _r = captures[1];
   20684            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   20685            0 :                       return _r;
   20686              :                     }
   20687            0 : next_after_fail1902:;
   20688              :                   }
   20689              :               }
   20690              :             }
   20691              :           }
   20692            7 :         switch (TREE_CODE (_q20))
   20693              :           {
   20694            0 :           case MINUS_EXPR:
   20695            0 :             {
   20696            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20697            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20698            0 :               if (zerop (_q21))
   20699              :                 {
   20700            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20701              :                     {
   20702            0 :                       switch (TREE_CODE (_p2))
   20703              :                         {
   20704            0 :                         case MINUS_EXPR:
   20705            0 :                           {
   20706            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20707            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20708            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20709              :                               {
   20710            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20711              :                                   {
   20712            0 :                                     {
   20713            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20714            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   20715            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20716              : )
   20717              :                                         {
   20718            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1903;
   20719            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1903;
   20720            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1903;
   20721            0 :                                           {
   20722            0 :                                             tree _r;
   20723            0 :                                             _r = captures[0];
   20724            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   20725            0 :                                             return _r;
   20726              :                                           }
   20727            0 : next_after_fail1903:;
   20728              :                                         }
   20729              :                                     }
   20730              :                                   }
   20731              :                               }
   20732              :                             break;
   20733              :                           }
   20734              :                         default:;
   20735              :                         }
   20736              :                     }
   20737              :                 }
   20738            0 :               if (integer_zerop (_q21))
   20739              :                 {
   20740            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20741              :                     {
   20742            0 :                       if (integer_zerop (_p2))
   20743              :                         {
   20744            0 :                           {
   20745            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20746            0 :                             tree res = generic_simplify_372 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   20747            0 :                             if (res) return res;
   20748              :                           }
   20749              :                         }
   20750              :                     }
   20751              :                 }
   20752              :               break;
   20753              :             }
   20754              :           default:;
   20755              :           }
   20756              :         break;
   20757              :       }
   20758       552387 :     case GE_EXPR:
   20759       552387 :       {
   20760       552387 :         tree _q20 = TREE_OPERAND (_p0, 0);
   20761       552387 :         tree _q21 = TREE_OPERAND (_p0, 1);
   20762       552387 :         switch (TREE_CODE (_q20))
   20763              :           {
   20764        61817 :           CASE_CONVERT:
   20765        61817 :             {
   20766        61817 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20767        61817 :               if (zerop (_q21))
   20768              :                 {
   20769        30814 :                   switch (TREE_CODE (_p2))
   20770              :                     {
   20771           13 :                     case NEGATE_EXPR:
   20772           13 :                       {
   20773           13 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   20774           13 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   20775              :                           {
   20776           13 :                             {
   20777           13 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   20778           13 :                               const enum tree_code cmp = GE_EXPR;
   20779           13 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20780           13 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20781            0 :  && element_precision (captures[1])
   20782            0 :  <= element_precision (captures[0])
   20783            0 :  && bitwise_equal_p (captures[1], captures[2])
   20784           13 :  && (!VECTOR_TYPE_P (type)
   20785            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20786              : )
   20787              :                                 {
   20788            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20789              : )
   20790              :                                     {
   20791            0 :                                       {
   20792            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20793            0 :                                           if (types_match (captures[0], stype)
   20794              : )
   20795              :                                             {
   20796            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1904;
   20797            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1904;
   20798            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1904;
   20799            0 :                                               {
   20800            0 :                                                 tree res_op0;
   20801            0 :                                                 res_op0 = captures[0];
   20802            0 :                                                 tree _r;
   20803            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20804            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   20805            0 :                                                 return _r;
   20806              :                                               }
   20807           13 : next_after_fail1904:;
   20808              :                                             }
   20809              :                                           else
   20810              :                                             {
   20811            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1905;
   20812            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1905;
   20813            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1905;
   20814            0 :                                               {
   20815            0 :                                                 tree res_op0;
   20816            0 :                                                 {
   20817            0 :                                                   tree _o1[1], _r1;
   20818            0 :                                                   _o1[0] = captures[2];
   20819            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   20820              :                                                     {
   20821            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20822              :                                                     }
   20823              :                                                   else
   20824              :                                                     _r1 = _o1[0];
   20825            0 :                                                   res_op0 = _r1;
   20826              :                                                 }
   20827            0 :                                                 tree _r;
   20828            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20829            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   20830            0 :                                                 return _r;
   20831              :                                               }
   20832           13 : next_after_fail1905:;
   20833              :                                             }
   20834              :                                       }
   20835              :                                     }
   20836              :                                   else
   20837              :                                     {
   20838            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1906;
   20839            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1906;
   20840            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1906;
   20841            0 :                                       {
   20842            0 :                                         tree res_op0;
   20843            0 :                                         res_op0 = captures[2];
   20844            0 :                                         tree _r;
   20845            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20846            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   20847            0 :                                         return _r;
   20848              :                                       }
   20849           13 : next_after_fail1906:;
   20850              :                                     }
   20851              :                                 }
   20852              :                             }
   20853              :                           }
   20854              :                         break;
   20855              :                       }
   20856              :                     default:;
   20857              :                     }
   20858              :                 }
   20859              :               break;
   20860              :             }
   20861       552387 :           default:;
   20862              :           }
   20863       552387 :         if (zerop (_q21))
   20864              :           {
   20865       151199 :             switch (TREE_CODE (_p2))
   20866              :               {
   20867        31811 :               case NEGATE_EXPR:
   20868        31811 :                 {
   20869        31811 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   20870        31811 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   20871              :                     {
   20872        31805 :                       {
   20873        31805 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   20874        31805 :                         const enum tree_code cmp = GE_EXPR;
   20875        31805 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   20876        31797 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   20877        63594 :  && element_precision (captures[1])
   20878        31797 :  <= element_precision (captures[0])
   20879        31797 :  && bitwise_equal_p (captures[1], captures[2])
   20880        63504 :  && (!VECTOR_TYPE_P (type)
   20881            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20882              : )
   20883              :                           {
   20884        31699 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   20885              : )
   20886              :                               {
   20887           46 :                                 {
   20888           46 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   20889           46 :                                     if (types_match (captures[0], stype)
   20890              : )
   20891              :                                       {
   20892           13 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1907;
   20893           13 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1907;
   20894           13 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1907;
   20895           13 :                                         {
   20896           13 :                                           tree res_op0;
   20897           13 :                                           res_op0 = captures[0];
   20898           13 :                                           tree _r;
   20899           13 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20900           13 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   20901           13 :                                           return _r;
   20902              :                                         }
   20903          106 : next_after_fail1907:;
   20904              :                                       }
   20905              :                                     else
   20906              :                                       {
   20907           33 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1908;
   20908           33 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1908;
   20909           33 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1908;
   20910           33 :                                         {
   20911           33 :                                           tree res_op0;
   20912           33 :                                           {
   20913           33 :                                             tree _o1[1], _r1;
   20914           33 :                                             _o1[0] = captures[2];
   20915           33 :                                             if (TREE_TYPE (_o1[0]) != stype)
   20916              :                                               {
   20917           33 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   20918              :                                               }
   20919              :                                             else
   20920              :                                               _r1 = _o1[0];
   20921           33 :                                             res_op0 = _r1;
   20922              :                                           }
   20923           33 :                                           tree _r;
   20924           33 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   20925           33 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   20926           33 :                                           return _r;
   20927              :                                         }
   20928          106 : next_after_fail1908:;
   20929              :                                       }
   20930              :                                 }
   20931              :                               }
   20932              :                             else
   20933              :                               {
   20934        31653 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1909;
   20935        31653 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1909;
   20936        31653 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1909;
   20937        31653 :                                 {
   20938        31653 :                                   tree res_op0;
   20939        31653 :                                   res_op0 = captures[2];
   20940        31653 :                                   tree _r;
   20941        31653 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20942        31653 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   20943        31653 :                                   return _r;
   20944              :                                 }
   20945          106 : next_after_fail1909:;
   20946              :                               }
   20947              :                           }
   20948              :                       }
   20949              :                     }
   20950              :                   break;
   20951              :                 }
   20952              :               default:;
   20953              :               }
   20954              :           }
   20955       520688 :         switch (TREE_CODE (_q20))
   20956              :           {
   20957        31959 :           case MINUS_EXPR:
   20958        31959 :             {
   20959        31959 :               tree _q30 = TREE_OPERAND (_q20, 0);
   20960        31959 :               tree _q31 = TREE_OPERAND (_q20, 1);
   20961        31959 :               if (zerop (_q21))
   20962              :                 {
   20963        31171 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   20964              :                     {
   20965            1 :                       switch (TREE_CODE (_p2))
   20966              :                         {
   20967            1 :                         case MINUS_EXPR:
   20968            1 :                           {
   20969            1 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   20970            1 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   20971            1 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   20972              :                               {
   20973            1 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   20974              :                                   {
   20975            1 :                                     {
   20976            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   20977            1 :                                       const enum tree_code cmp = GE_EXPR;
   20978            1 :                                       if (!HONOR_SIGNED_ZEROS (type)
   20979            1 :  && !TYPE_UNSIGNED (type)
   20980            2 :  && (!VECTOR_TYPE_P (type)
   20981            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   20982              : )
   20983              :                                         {
   20984            1 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1910;
   20985            1 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1910;
   20986            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1910;
   20987            1 :                                           {
   20988            1 :                                             tree res_op0;
   20989            1 :                                             res_op0 = captures[0];
   20990            1 :                                             tree _r;
   20991            1 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   20992            1 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1081, __FILE__, __LINE__, true);
   20993            1 :                                             return _r;
   20994              :                                           }
   20995            0 : next_after_fail1910:;
   20996              :                                         }
   20997              :                                     }
   20998              :                                   }
   20999              :                               }
   21000              :                             break;
   21001              :                           }
   21002              :                         default:;
   21003              :                         }
   21004              :                     }
   21005              :                 }
   21006              :               break;
   21007              :             }
   21008       520687 :           default:;
   21009              :           }
   21010       520687 :         if (integer_zerop (_q21))
   21011              :           {
   21012       118948 :             switch (TREE_CODE (_p1))
   21013              :               {
   21014           65 :               case BIT_NOT_EXPR:
   21015           65 :                 {
   21016           65 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   21017           65 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   21018              :                     {
   21019            9 :                       {
   21020            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   21021            9 :                         tree res = generic_simplify_378 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   21022            9 :                         if (res) return res;
   21023              :                       }
   21024              :                     }
   21025              :                   break;
   21026              :                 }
   21027       118939 :               default:;
   21028              :               }
   21029       118939 :             switch (TREE_CODE (_p2))
   21030              :               {
   21031           35 :               case BIT_NOT_EXPR:
   21032           35 :                 {
   21033           35 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21034           35 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21035              :                     {
   21036            9 :                       {
   21037            9 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   21038            9 :                         tree res = generic_simplify_379 (loc, type, _p0, _p1, _p2, captures, GE_EXPR);
   21039            9 :                         if (res) return res;
   21040              :                       }
   21041              :                     }
   21042              :                   break;
   21043              :                 }
   21044              :               default:;
   21045              :               }
   21046              :           }
   21047              :         break;
   21048              :       }
   21049       917690 :     case GT_EXPR:
   21050       917690 :       {
   21051       917690 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21052       917690 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21053       917690 :         switch (TREE_CODE (_q20))
   21054              :           {
   21055        88505 :           CASE_CONVERT:
   21056        88505 :             {
   21057        88505 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21058        88505 :               if (zerop (_q21))
   21059              :                 {
   21060         1484 :                   switch (TREE_CODE (_p2))
   21061              :                     {
   21062            4 :                     case NEGATE_EXPR:
   21063            4 :                       {
   21064            4 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21065            4 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21066              :                           {
   21067            0 :                             {
   21068            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21069            0 :                               const enum tree_code cmp = GT_EXPR;
   21070            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21071            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21072            0 :  && element_precision (captures[1])
   21073            0 :  <= element_precision (captures[0])
   21074            0 :  && bitwise_equal_p (captures[1], captures[2])
   21075            0 :  && (!VECTOR_TYPE_P (type)
   21076            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   21077              : )
   21078              :                                 {
   21079            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21080              : )
   21081              :                                     {
   21082            0 :                                       {
   21083            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21084            0 :                                           if (types_match (captures[0], stype)
   21085              : )
   21086              :                                             {
   21087            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1911;
   21088            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1911;
   21089            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1911;
   21090            0 :                                               {
   21091            0 :                                                 tree res_op0;
   21092            0 :                                                 res_op0 = captures[0];
   21093            0 :                                                 tree _r;
   21094            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   21095            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   21096            0 :                                                 return _r;
   21097              :                                               }
   21098            0 : next_after_fail1911:;
   21099              :                                             }
   21100              :                                           else
   21101              :                                             {
   21102            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1912;
   21103            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1912;
   21104            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1912;
   21105            0 :                                               {
   21106            0 :                                                 tree res_op0;
   21107            0 :                                                 {
   21108            0 :                                                   tree _o1[1], _r1;
   21109            0 :                                                   _o1[0] = captures[2];
   21110            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   21111              :                                                     {
   21112            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   21113              :                                                     }
   21114              :                                                   else
   21115              :                                                     _r1 = _o1[0];
   21116            0 :                                                   res_op0 = _r1;
   21117              :                                                 }
   21118            0 :                                                 tree _r;
   21119            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   21120            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   21121            0 :                                                 return _r;
   21122              :                                               }
   21123            0 : next_after_fail1912:;
   21124              :                                             }
   21125              :                                       }
   21126              :                                     }
   21127              :                                   else
   21128              :                                     {
   21129            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1913;
   21130            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1913;
   21131            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1913;
   21132            0 :                                       {
   21133            0 :                                         tree res_op0;
   21134            0 :                                         res_op0 = captures[2];
   21135            0 :                                         tree _r;
   21136            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   21137            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   21138            0 :                                         return _r;
   21139              :                                       }
   21140            0 : next_after_fail1913:;
   21141              :                                     }
   21142              :                                 }
   21143              :                             }
   21144              :                           }
   21145              :                         break;
   21146              :                       }
   21147              :                     default:;
   21148              :                     }
   21149              :                 }
   21150              :               break;
   21151              :             }
   21152       917690 :           default:;
   21153              :           }
   21154       917690 :         if (zerop (_q21))
   21155              :           {
   21156       205116 :             switch (TREE_CODE (_p2))
   21157              :               {
   21158          295 :               case NEGATE_EXPR:
   21159          295 :                 {
   21160          295 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21161          295 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21162              :                     {
   21163          147 :                       {
   21164          147 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21165          147 :                         const enum tree_code cmp = GT_EXPR;
   21166          147 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21167          115 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21168          230 :  && element_precision (captures[1])
   21169          115 :  <= element_precision (captures[0])
   21170          115 :  && bitwise_equal_p (captures[1], captures[2])
   21171          257 :  && (!VECTOR_TYPE_P (type)
   21172            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   21173              : )
   21174              :                           {
   21175          110 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21176              : )
   21177              :                               {
   21178            0 :                                 {
   21179            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21180            0 :                                     if (types_match (captures[0], stype)
   21181              : )
   21182              :                                       {
   21183            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1914;
   21184            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1914;
   21185            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1914;
   21186            0 :                                         {
   21187            0 :                                           tree res_op0;
   21188            0 :                                           res_op0 = captures[0];
   21189            0 :                                           tree _r;
   21190            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   21191            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   21192            0 :                                           return _r;
   21193              :                                         }
   21194           37 : next_after_fail1914:;
   21195              :                                       }
   21196              :                                     else
   21197              :                                       {
   21198            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1915;
   21199            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1915;
   21200            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1915;
   21201            0 :                                         {
   21202            0 :                                           tree res_op0;
   21203            0 :                                           {
   21204            0 :                                             tree _o1[1], _r1;
   21205            0 :                                             _o1[0] = captures[2];
   21206            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   21207              :                                               {
   21208            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   21209              :                                               }
   21210              :                                             else
   21211              :                                               _r1 = _o1[0];
   21212            0 :                                             res_op0 = _r1;
   21213              :                                           }
   21214            0 :                                           tree _r;
   21215            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   21216            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   21217            0 :                                           return _r;
   21218              :                                         }
   21219           37 : next_after_fail1915:;
   21220              :                                       }
   21221              :                                 }
   21222              :                               }
   21223              :                             else
   21224              :                               {
   21225          110 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1916;
   21226          110 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1916;
   21227          110 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1916;
   21228          110 :                                 {
   21229          110 :                                   tree res_op0;
   21230          110 :                                   res_op0 = captures[2];
   21231          110 :                                   tree _r;
   21232          110 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   21233          110 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   21234          110 :                                   return _r;
   21235              :                                 }
   21236           37 : next_after_fail1916:;
   21237              :                               }
   21238              :                           }
   21239              :                       }
   21240              :                     }
   21241              :                   break;
   21242              :                 }
   21243              :               default:;
   21244              :               }
   21245              :           }
   21246       917580 :         switch (TREE_CODE (_q20))
   21247              :           {
   21248         1072 :           case MINUS_EXPR:
   21249         1072 :             {
   21250         1072 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21251         1072 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21252         1072 :               if (zerop (_q21))
   21253              :                 {
   21254          160 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21255              :                     {
   21256           15 :                       switch (TREE_CODE (_p2))
   21257              :                         {
   21258            9 :                         case MINUS_EXPR:
   21259            9 :                           {
   21260            9 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21261            9 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21262            9 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21263              :                               {
   21264            9 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21265              :                                   {
   21266            9 :                                     {
   21267            9 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21268            9 :                                       const enum tree_code cmp = GT_EXPR;
   21269            9 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21270            9 :  && !TYPE_UNSIGNED (type)
   21271           18 :  && (!VECTOR_TYPE_P (type)
   21272            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   21273              : )
   21274              :                                         {
   21275            9 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1917;
   21276            9 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1917;
   21277            9 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1917;
   21278            9 :                                           {
   21279            9 :                                             tree res_op0;
   21280            9 :                                             res_op0 = captures[0];
   21281            9 :                                             tree _r;
   21282            9 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   21283            9 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1081, __FILE__, __LINE__, true);
   21284            9 :                                             return _r;
   21285              :                                           }
   21286            0 : next_after_fail1917:;
   21287              :                                         }
   21288              :                                     }
   21289              :                                   }
   21290              :                               }
   21291              :                             break;
   21292              :                           }
   21293              :                         default:;
   21294              :                         }
   21295              :                     }
   21296              :                 }
   21297              :               break;
   21298              :             }
   21299              :           default:;
   21300              :           }
   21301              :         break;
   21302              :       }
   21303      1401038 :     case LE_EXPR:
   21304      1401038 :       {
   21305      1401038 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21306      1401038 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21307      1401038 :         switch (TREE_CODE (_q20))
   21308              :           {
   21309       141561 :           CASE_CONVERT:
   21310       141561 :             {
   21311       141561 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21312       141561 :               if (zerop (_q21))
   21313              :                 {
   21314         1240 :                   switch (TREE_CODE (_p2))
   21315              :                     {
   21316            0 :                     case NEGATE_EXPR:
   21317            0 :                       {
   21318            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21319            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21320              :                           {
   21321            0 :                             {
   21322            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21323            0 :                               const enum tree_code cmp = LE_EXPR;
   21324            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21325            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21326            0 :  && element_precision (captures[1])
   21327            0 :  <= element_precision (captures[0])
   21328            0 :  && bitwise_equal_p (captures[1], captures[2])
   21329            0 :  && (!VECTOR_TYPE_P (type)
   21330            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21331            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21332              : )
   21333              :                                 {
   21334            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21335            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21336            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21337              : )
   21338              :                                     {
   21339            0 :                                       {
   21340            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21341            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21342            0 :                                           if (types_match (captures[0], stype)
   21343              : )
   21344              :                                             {
   21345            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1918;
   21346            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1918;
   21347            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1918;
   21348            0 :                                               {
   21349            0 :                                                 tree res_op0;
   21350            0 :                                                 {
   21351            0 :                                                   tree _o1[1], _r1;
   21352            0 :                                                   {
   21353            0 :                                                     tree _o2[1], _r2;
   21354            0 :                                                     _o2[0] = captures[0];
   21355            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21356            0 :                                                     _o1[0] = _r2;
   21357              :                                                   }
   21358            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21359            0 :                                                   res_op0 = _r1;
   21360              :                                                 }
   21361            0 :                                                 tree _r;
   21362            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21363            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   21364            0 :                                                 return _r;
   21365              :                                               }
   21366            0 : next_after_fail1918:;
   21367              :                                             }
   21368              :                                           else
   21369              :                                             {
   21370            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1919;
   21371            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1919;
   21372            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1919;
   21373            0 :                                               {
   21374            0 :                                                 tree res_op0;
   21375            0 :                                                 {
   21376            0 :                                                   tree _o1[1], _r1;
   21377            0 :                                                   {
   21378            0 :                                                     tree _o2[1], _r2;
   21379            0 :                                                     {
   21380            0 :                                                       tree _o3[1], _r3;
   21381            0 :                                                       _o3[0] = captures[2];
   21382            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   21383              :                                                         {
   21384            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21385              :                                                         }
   21386              :                                                       else
   21387              :                                                         _r3 = _o3[0];
   21388            0 :                                                       _o2[0] = _r3;
   21389              :                                                     }
   21390            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21391            0 :                                                     _o1[0] = _r2;
   21392              :                                                   }
   21393            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21394            0 :                                                   res_op0 = _r1;
   21395              :                                                 }
   21396            0 :                                                 tree _r;
   21397            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21398            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   21399            0 :                                                 return _r;
   21400              :                                               }
   21401            0 : next_after_fail1919:;
   21402              :                                             }
   21403              :                                       }
   21404              :                                     }
   21405              :                                   else
   21406              :                                     {
   21407            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1920;
   21408            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1920;
   21409            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1920;
   21410            0 :                                       {
   21411            0 :                                         tree res_op0;
   21412            0 :                                         {
   21413            0 :                                           tree _o1[1], _r1;
   21414            0 :                                           {
   21415            0 :                                             tree _o2[1], _r2;
   21416            0 :                                             _o2[0] = captures[2];
   21417            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21418            0 :                                             _o1[0] = _r2;
   21419              :                                           }
   21420            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21421            0 :                                           res_op0 = _r1;
   21422              :                                         }
   21423            0 :                                         tree _r;
   21424            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21425            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   21426            0 :                                         return _r;
   21427              :                                       }
   21428            0 : next_after_fail1920:;
   21429              :                                     }
   21430              :                                 }
   21431              :                             }
   21432              :                           }
   21433              :                         break;
   21434              :                       }
   21435              :                     default:;
   21436              :                     }
   21437              :                 }
   21438              :               break;
   21439              :             }
   21440      1401038 :           default:;
   21441              :           }
   21442      1401038 :         if (zerop (_q21))
   21443              :           {
   21444       126192 :             switch (TREE_CODE (_p2))
   21445              :               {
   21446            7 :               case NEGATE_EXPR:
   21447            7 :                 {
   21448            7 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21449            7 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21450              :                     {
   21451            7 :                       {
   21452            7 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21453            7 :                         const enum tree_code cmp = LE_EXPR;
   21454            7 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21455            7 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21456           14 :  && element_precision (captures[1])
   21457            7 :  <= element_precision (captures[0])
   21458            7 :  && bitwise_equal_p (captures[1], captures[2])
   21459           14 :  && (!VECTOR_TYPE_P (type)
   21460            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21461            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21462              : )
   21463              :                           {
   21464           14 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21465            7 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21466            7 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21467              : )
   21468              :                               {
   21469            7 :                                 {
   21470            7 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21471            7 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21472            7 :                                     if (types_match (captures[0], stype)
   21473              : )
   21474              :                                       {
   21475            7 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1921;
   21476            7 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1921;
   21477            7 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1921;
   21478            7 :                                         {
   21479            7 :                                           tree res_op0;
   21480            7 :                                           {
   21481            7 :                                             tree _o1[1], _r1;
   21482            7 :                                             {
   21483            7 :                                               tree _o2[1], _r2;
   21484            7 :                                               _o2[0] = captures[0];
   21485            7 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21486            7 :                                               _o1[0] = _r2;
   21487              :                                             }
   21488            7 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21489            7 :                                             res_op0 = _r1;
   21490              :                                           }
   21491            7 :                                           tree _r;
   21492            7 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21493            7 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   21494            7 :                                           return _r;
   21495              :                                         }
   21496            0 : next_after_fail1921:;
   21497              :                                       }
   21498              :                                     else
   21499              :                                       {
   21500            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1922;
   21501            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1922;
   21502            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1922;
   21503            0 :                                         {
   21504            0 :                                           tree res_op0;
   21505            0 :                                           {
   21506            0 :                                             tree _o1[1], _r1;
   21507            0 :                                             {
   21508            0 :                                               tree _o2[1], _r2;
   21509            0 :                                               {
   21510            0 :                                                 tree _o3[1], _r3;
   21511            0 :                                                 _o3[0] = captures[2];
   21512            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   21513              :                                                   {
   21514            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21515              :                                                   }
   21516              :                                                 else
   21517              :                                                   _r3 = _o3[0];
   21518            0 :                                                 _o2[0] = _r3;
   21519              :                                               }
   21520            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21521            0 :                                               _o1[0] = _r2;
   21522              :                                             }
   21523            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21524            0 :                                             res_op0 = _r1;
   21525              :                                           }
   21526            0 :                                           tree _r;
   21527            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21528            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   21529            0 :                                           return _r;
   21530              :                                         }
   21531            0 : next_after_fail1922:;
   21532              :                                       }
   21533              :                                 }
   21534              :                               }
   21535              :                             else
   21536              :                               {
   21537            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1923;
   21538            0 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1923;
   21539            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1923;
   21540            0 :                                 {
   21541            0 :                                   tree res_op0;
   21542            0 :                                   {
   21543            0 :                                     tree _o1[1], _r1;
   21544            0 :                                     {
   21545            0 :                                       tree _o2[1], _r2;
   21546            0 :                                       _o2[0] = captures[2];
   21547            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21548            0 :                                       _o1[0] = _r2;
   21549              :                                     }
   21550            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21551            0 :                                     res_op0 = _r1;
   21552              :                                   }
   21553            0 :                                   tree _r;
   21554            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21555            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   21556            0 :                                   return _r;
   21557              :                                 }
   21558            0 : next_after_fail1923:;
   21559              :                               }
   21560              :                           }
   21561              :                       }
   21562              :                     }
   21563              :                   break;
   21564              :                 }
   21565              :               default:;
   21566              :               }
   21567              :           }
   21568      1401031 :         switch (TREE_CODE (_q20))
   21569              :           {
   21570          190 :           case MINUS_EXPR:
   21571          190 :             {
   21572          190 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21573          190 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21574          190 :               if (zerop (_q21))
   21575              :                 {
   21576          148 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21577              :                     {
   21578            0 :                       switch (TREE_CODE (_p2))
   21579              :                         {
   21580            0 :                         case MINUS_EXPR:
   21581            0 :                           {
   21582            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21583            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21584            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21585              :                               {
   21586            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21587              :                                   {
   21588            0 :                                     {
   21589            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21590            0 :                                       const enum tree_code cmp = LE_EXPR;
   21591            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21592            0 :  && !TYPE_UNSIGNED (type)
   21593              : )
   21594              :                                         {
   21595            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   21596            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   21597            0 :  && (!VECTOR_TYPE_P (type)
   21598            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21599            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21600              : )
   21601              :                                             {
   21602            0 :                                               {
   21603            0 :  tree utype = unsigned_type_for (type);
   21604            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1924;
   21605            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1924;
   21606            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1924;
   21607            0 :                                                   {
   21608            0 :                                                     tree res_op0;
   21609            0 :                                                     {
   21610            0 :                                                       tree _o1[1], _r1;
   21611            0 :                                                       {
   21612            0 :                                                         tree _o2[1], _r2;
   21613            0 :                                                         _o2[0] = captures[0];
   21614            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21615            0 :                                                         _o1[0] = _r2;
   21616              :                                                       }
   21617            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21618            0 :                                                       res_op0 = _r1;
   21619              :                                                     }
   21620            0 :                                                     tree _r;
   21621            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21622            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
   21623            0 :                                                     return _r;
   21624              :                                                   }
   21625            0 : next_after_fail1924:;
   21626              :                                               }
   21627              :                                             }
   21628              :                                           else
   21629              :                                             {
   21630            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1925;
   21631            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1925;
   21632            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1925;
   21633            0 :                                               {
   21634            0 :                                                 tree res_op0;
   21635            0 :                                                 {
   21636            0 :                                                   tree _o1[1], _r1;
   21637            0 :                                                   _o1[0] = captures[0];
   21638            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21639            0 :                                                   res_op0 = _r1;
   21640              :                                                 }
   21641            0 :                                                 tree _r;
   21642            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   21643            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
   21644            0 :                                                 return _r;
   21645              :                                               }
   21646            0 : next_after_fail1925:;
   21647              :                                             }
   21648              :                                         }
   21649              :                                     }
   21650              :                                   }
   21651              :                               }
   21652              :                             break;
   21653              :                           }
   21654              :                         default:;
   21655              :                         }
   21656              :                     }
   21657              :                 }
   21658              :               break;
   21659              :             }
   21660              :           default:;
   21661              :           }
   21662              :         break;
   21663              :       }
   21664      1810135 :     case LT_EXPR:
   21665      1810135 :       {
   21666      1810135 :         tree _q20 = TREE_OPERAND (_p0, 0);
   21667      1810135 :         tree _q21 = TREE_OPERAND (_p0, 1);
   21668      1810135 :         switch (TREE_CODE (_q20))
   21669              :           {
   21670       101243 :           CASE_CONVERT:
   21671       101243 :             {
   21672       101243 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21673       101243 :               if (zerop (_q21))
   21674              :                 {
   21675        19365 :                   switch (TREE_CODE (_p2))
   21676              :                     {
   21677            8 :                     case NEGATE_EXPR:
   21678            8 :                       {
   21679            8 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   21680            8 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   21681              :                           {
   21682            0 :                             {
   21683            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   21684            0 :                               const enum tree_code cmp = LT_EXPR;
   21685            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21686            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21687            0 :  && element_precision (captures[1])
   21688            0 :  <= element_precision (captures[0])
   21689            0 :  && bitwise_equal_p (captures[1], captures[2])
   21690            0 :  && (!VECTOR_TYPE_P (type)
   21691            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21692            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21693              : )
   21694              :                                 {
   21695            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21696            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21697            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21698              : )
   21699              :                                     {
   21700            0 :                                       {
   21701            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21702            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21703            0 :                                           if (types_match (captures[0], stype)
   21704              : )
   21705              :                                             {
   21706            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1926;
   21707            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1926;
   21708            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1926;
   21709            0 :                                               {
   21710            0 :                                                 tree res_op0;
   21711            0 :                                                 {
   21712            0 :                                                   tree _o1[1], _r1;
   21713            0 :                                                   {
   21714            0 :                                                     tree _o2[1], _r2;
   21715            0 :                                                     _o2[0] = captures[0];
   21716            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21717            0 :                                                     _o1[0] = _r2;
   21718              :                                                   }
   21719            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21720            0 :                                                   res_op0 = _r1;
   21721              :                                                 }
   21722            0 :                                                 tree _r;
   21723            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21724            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   21725            0 :                                                 return _r;
   21726              :                                               }
   21727            0 : next_after_fail1926:;
   21728              :                                             }
   21729              :                                           else
   21730              :                                             {
   21731            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1927;
   21732            0 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1927;
   21733            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1927;
   21734            0 :                                               {
   21735            0 :                                                 tree res_op0;
   21736            0 :                                                 {
   21737            0 :                                                   tree _o1[1], _r1;
   21738            0 :                                                   {
   21739            0 :                                                     tree _o2[1], _r2;
   21740            0 :                                                     {
   21741            0 :                                                       tree _o3[1], _r3;
   21742            0 :                                                       _o3[0] = captures[2];
   21743            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   21744              :                                                         {
   21745            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21746              :                                                         }
   21747              :                                                       else
   21748              :                                                         _r3 = _o3[0];
   21749            0 :                                                       _o2[0] = _r3;
   21750              :                                                     }
   21751            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21752            0 :                                                     _o1[0] = _r2;
   21753              :                                                   }
   21754            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21755            0 :                                                   res_op0 = _r1;
   21756              :                                                 }
   21757            0 :                                                 tree _r;
   21758            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21759            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   21760            0 :                                                 return _r;
   21761              :                                               }
   21762            0 : next_after_fail1927:;
   21763              :                                             }
   21764              :                                       }
   21765              :                                     }
   21766              :                                   else
   21767              :                                     {
   21768            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1928;
   21769            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1928;
   21770            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1928;
   21771            0 :                                       {
   21772            0 :                                         tree res_op0;
   21773            0 :                                         {
   21774            0 :                                           tree _o1[1], _r1;
   21775            0 :                                           {
   21776            0 :                                             tree _o2[1], _r2;
   21777            0 :                                             _o2[0] = captures[2];
   21778            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21779            0 :                                             _o1[0] = _r2;
   21780              :                                           }
   21781            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21782            0 :                                           res_op0 = _r1;
   21783              :                                         }
   21784            0 :                                         tree _r;
   21785            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21786            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   21787            0 :                                         return _r;
   21788              :                                       }
   21789            0 : next_after_fail1928:;
   21790              :                                     }
   21791              :                                 }
   21792              :                             }
   21793              :                           }
   21794              :                         break;
   21795              :                       }
   21796              :                     default:;
   21797              :                     }
   21798              :                 }
   21799              :               break;
   21800              :             }
   21801      1810135 :           default:;
   21802              :           }
   21803      1810135 :         if (zerop (_q21))
   21804              :           {
   21805       384921 :             switch (TREE_CODE (_p2))
   21806              :               {
   21807           33 :               case NEGATE_EXPR:
   21808           33 :                 {
   21809           33 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   21810           33 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   21811              :                     {
   21812           25 :                       {
   21813           25 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   21814           25 :                         const enum tree_code cmp = LT_EXPR;
   21815           25 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   21816           25 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   21817           50 :  && element_precision (captures[1])
   21818           25 :  <= element_precision (captures[0])
   21819           25 :  && bitwise_equal_p (captures[1], captures[2])
   21820           50 :  && (!VECTOR_TYPE_P (type)
   21821            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21822            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21823              : )
   21824              :                           {
   21825           50 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   21826           25 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   21827           26 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   21828              : )
   21829              :                               {
   21830           24 :                                 {
   21831           24 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   21832           24 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   21833           24 :                                     if (types_match (captures[0], stype)
   21834              : )
   21835              :                                       {
   21836           24 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1929;
   21837           24 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1929;
   21838           24 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1929;
   21839           24 :                                         {
   21840           24 :                                           tree res_op0;
   21841           24 :                                           {
   21842           24 :                                             tree _o1[1], _r1;
   21843           24 :                                             {
   21844           24 :                                               tree _o2[1], _r2;
   21845           24 :                                               _o2[0] = captures[0];
   21846           24 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21847           24 :                                               _o1[0] = _r2;
   21848              :                                             }
   21849           24 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21850           24 :                                             res_op0 = _r1;
   21851              :                                           }
   21852           24 :                                           tree _r;
   21853           24 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21854           24 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   21855           24 :                                           return _r;
   21856              :                                         }
   21857            0 : next_after_fail1929:;
   21858              :                                       }
   21859              :                                     else
   21860              :                                       {
   21861            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1930;
   21862            0 :                                         if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1930;
   21863            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1930;
   21864            0 :                                         {
   21865            0 :                                           tree res_op0;
   21866            0 :                                           {
   21867            0 :                                             tree _o1[1], _r1;
   21868            0 :                                             {
   21869            0 :                                               tree _o2[1], _r2;
   21870            0 :                                               {
   21871            0 :                                                 tree _o3[1], _r3;
   21872            0 :                                                 _o3[0] = captures[2];
   21873            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   21874              :                                                   {
   21875            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   21876              :                                                   }
   21877              :                                                 else
   21878              :                                                   _r3 = _o3[0];
   21879            0 :                                                 _o2[0] = _r3;
   21880              :                                               }
   21881            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21882            0 :                                               _o1[0] = _r2;
   21883              :                                             }
   21884            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21885            0 :                                             res_op0 = _r1;
   21886              :                                           }
   21887            0 :                                           tree _r;
   21888            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21889            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   21890            0 :                                           return _r;
   21891              :                                         }
   21892            0 : next_after_fail1930:;
   21893              :                                       }
   21894              :                                 }
   21895              :                               }
   21896              :                             else
   21897              :                               {
   21898            1 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1931;
   21899            1 :                                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1931;
   21900            1 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1931;
   21901            1 :                                 {
   21902            1 :                                   tree res_op0;
   21903            1 :                                   {
   21904            1 :                                     tree _o1[1], _r1;
   21905            1 :                                     {
   21906            1 :                                       tree _o2[1], _r2;
   21907            1 :                                       _o2[0] = captures[2];
   21908            1 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   21909            1 :                                       _o1[0] = _r2;
   21910              :                                     }
   21911            1 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21912            1 :                                     res_op0 = _r1;
   21913              :                                   }
   21914            1 :                                   tree _r;
   21915            1 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21916            1 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   21917            1 :                                   return _r;
   21918              :                                 }
   21919            0 : next_after_fail1931:;
   21920              :                               }
   21921              :                           }
   21922              :                       }
   21923              :                     }
   21924              :                   break;
   21925              :                 }
   21926              :               default:;
   21927              :               }
   21928              :           }
   21929      1810110 :         switch (TREE_CODE (_q20))
   21930              :           {
   21931        11327 :           case MINUS_EXPR:
   21932        11327 :             {
   21933        11327 :               tree _q30 = TREE_OPERAND (_q20, 0);
   21934        11327 :               tree _q31 = TREE_OPERAND (_q20, 1);
   21935        11327 :               if (zerop (_q21))
   21936              :                 {
   21937         7401 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   21938              :                     {
   21939            0 :                       switch (TREE_CODE (_p2))
   21940              :                         {
   21941            0 :                         case MINUS_EXPR:
   21942            0 :                           {
   21943            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   21944            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   21945            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   21946              :                               {
   21947            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   21948              :                                   {
   21949            0 :                                     {
   21950            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   21951            0 :                                       const enum tree_code cmp = LT_EXPR;
   21952            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   21953            0 :  && !TYPE_UNSIGNED (type)
   21954              : )
   21955              :                                         {
   21956            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   21957            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   21958            0 :  && (!VECTOR_TYPE_P (type)
   21959            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   21960            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   21961              : )
   21962              :                                             {
   21963            0 :                                               {
   21964            0 :  tree utype = unsigned_type_for (type);
   21965            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1932;
   21966            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1932;
   21967            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1932;
   21968            0 :                                                   {
   21969            0 :                                                     tree res_op0;
   21970            0 :                                                     {
   21971            0 :                                                       tree _o1[1], _r1;
   21972            0 :                                                       {
   21973            0 :                                                         tree _o2[1], _r2;
   21974            0 :                                                         _o2[0] = captures[0];
   21975            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   21976            0 :                                                         _o1[0] = _r2;
   21977              :                                                       }
   21978            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   21979            0 :                                                       res_op0 = _r1;
   21980              :                                                     }
   21981            0 :                                                     tree _r;
   21982            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   21983            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
   21984            0 :                                                     return _r;
   21985              :                                                   }
   21986            0 : next_after_fail1932:;
   21987              :                                               }
   21988              :                                             }
   21989              :                                           else
   21990              :                                             {
   21991            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1933;
   21992            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1933;
   21993            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1933;
   21994            0 :                                               {
   21995            0 :                                                 tree res_op0;
   21996            0 :                                                 {
   21997            0 :                                                   tree _o1[1], _r1;
   21998            0 :                                                   _o1[0] = captures[0];
   21999            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   22000            0 :                                                   res_op0 = _r1;
   22001              :                                                 }
   22002            0 :                                                 tree _r;
   22003            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   22004            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
   22005            0 :                                                 return _r;
   22006              :                                               }
   22007            0 : next_after_fail1933:;
   22008              :                                             }
   22009              :                                         }
   22010              :                                     }
   22011              :                                   }
   22012              :                               }
   22013              :                             break;
   22014              :                           }
   22015              :                         default:;
   22016              :                         }
   22017              :                     }
   22018              :                 }
   22019              :               break;
   22020              :             }
   22021      1810110 :           default:;
   22022              :           }
   22023      1810110 :         if (integer_zerop (_q21))
   22024              :           {
   22025       327726 :             switch (TREE_CODE (_p1))
   22026              :               {
   22027           26 :               case BIT_NOT_EXPR:
   22028           26 :                 {
   22029           26 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   22030           26 :                   if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
   22031              :                     {
   22032           13 :                       {
   22033           13 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   22034           13 :                         tree res = generic_simplify_378 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   22035           13 :                         if (res) return res;
   22036              :                       }
   22037              :                     }
   22038              :                   break;
   22039              :                 }
   22040       327713 :               default:;
   22041              :               }
   22042       327713 :             switch (TREE_CODE (_p2))
   22043              :               {
   22044            8 :               case BIT_NOT_EXPR:
   22045            8 :                 {
   22046            8 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   22047            8 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   22048              :                     {
   22049            8 :                       {
   22050            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   22051            8 :                         tree res = generic_simplify_379 (loc, type, _p0, _p1, _p2, captures, LT_EXPR);
   22052            8 :                         if (res) return res;
   22053              :                       }
   22054              :                     }
   22055              :                   break;
   22056              :                 }
   22057       327705 :               default:;
   22058              :               }
   22059       327705 :             switch (TREE_CODE (_p1))
   22060              :               {
   22061       290509 :               case INTEGER_CST:
   22062       290509 :                 {
   22063       290509 :                   if (integer_zerop (_p2))
   22064              :                     {
   22065         8882 :                       {
   22066         8882 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   22067         8882 :                         if (integer_pow2p (captures[1])
   22068         8882 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   22069              : )
   22070              :                           {
   22071         8617 :                             {
   22072         8617 :  int shift = element_precision (captures[0]) - wi::exact_log2 (wi::to_wide (captures[1])) - 1;
   22073         8617 :                                 if (shift >= 0
   22074              : )
   22075              :                                   {
   22076         8602 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1934;
   22077         8602 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1934;
   22078         8602 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1934;
   22079         8602 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1934;
   22080         8602 :                                     {
   22081         8602 :                                       tree res_op0;
   22082         8602 :                                       {
   22083         8602 :                                         tree _o1[1], _r1;
   22084         8602 :                                         {
   22085         8602 :                                           tree _o2[2], _r2;
   22086         8602 :                                           _o2[0] = captures[0];
   22087         8602 :                                           _o2[1] =  build_int_cst (integer_type_node, shift);
   22088         8602 :                                           _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
   22089         8602 :                                           _o1[0] = _r2;
   22090              :                                         }
   22091         8602 :                                         if (TREE_TYPE (_o1[0]) != type)
   22092              :                                           {
   22093         8585 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   22094              :                                           }
   22095              :                                         else
   22096              :                                           _r1 = _o1[0];
   22097         8602 :                                         res_op0 = _r1;
   22098              :                                       }
   22099         8602 :                                       tree res_op1;
   22100         8602 :                                       res_op1 = captures[1];
   22101         8602 :                                       tree _r;
   22102         8602 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   22103         8602 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1087, __FILE__, __LINE__, true);
   22104         8617 :                                       return _r;
   22105              :                                     }
   22106              : next_after_fail1934:;
   22107              :                                   }
   22108              :                                 else
   22109              :                                   {
   22110           15 :                                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1935;
   22111           15 :                                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1935;
   22112           15 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1935;
   22113           15 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1935;
   22114           15 :                                     {
   22115           15 :                                       tree res_op0;
   22116           15 :                                       {
   22117           15 :                                         tree _o1[1], _r1;
   22118           15 :                                         _o1[0] = captures[0];
   22119           15 :                                         if (TREE_TYPE (_o1[0]) != type)
   22120              :                                           {
   22121           15 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
   22122              :                                           }
   22123              :                                         else
   22124              :                                           _r1 = _o1[0];
   22125           15 :                                         res_op0 = _r1;
   22126              :                                       }
   22127           15 :                                       tree res_op1;
   22128           15 :                                       res_op1 = captures[1];
   22129           15 :                                       tree _r;
   22130           15 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   22131           15 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1088, __FILE__, __LINE__, true);
   22132           15 :                                       return _r;
   22133              :                                     }
   22134              : next_after_fail1935:;
   22135              :                                   }
   22136              :                             }
   22137              :                           }
   22138              :                       }
   22139              :                     }
   22140              :                   break;
   22141              :                 }
   22142              :               default:;
   22143              :               }
   22144              :           }
   22145              :         break;
   22146              :       }
   22147     12007138 :     default:;
   22148              :     }
   22149     12007138 : {
   22150     12007138 :   tree _p0_pops[1];
   22151     12007138 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   22152              :     {
   22153       490975 :       tree _q20 = _p0_pops[0];
   22154       490975 :       if (tree_truth_valued_p (_q20))
   22155              :         {
   22156         4464 :           {
   22157         4464 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   22158         8928 :             if (COND_EXPR == VEC_COND_EXPR
   22159         4464 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   22160              : )
   22161              :               {
   22162         3150 :                 if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1936;
   22163           46 :                 if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1936;
   22164           37 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1936;
   22165           37 :                 {
   22166           37 :                   tree res_op0;
   22167           37 :                   res_op0 = captures[0];
   22168           37 :                   tree res_op1;
   22169           37 :                   res_op1 = captures[2];
   22170           37 :                   tree res_op2;
   22171           37 :                   res_op2 = captures[1];
   22172           37 :                   tree _r;
   22173           37 :                   _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
   22174           37 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1089, __FILE__, __LINE__, true);
   22175           37 :                   return _r;
   22176              :                 }
   22177         4427 : next_after_fail1936:;
   22178              :               }
   22179              :           }
   22180              :         }
   22181              :     }
   22182              : }
   22183     12007101 :   return NULL_TREE;
   22184              : }
   22185              : #pragma GCC diagnostic pop
        

Generated by: LCOV version 2.4-beta

LCOV profile is generated on x86_64 machine using following configure options: configure --disable-bootstrap --enable-coverage=opt --enable-languages=c,c++,fortran,go,jit,lto,rust,m2 --enable-host-shared. GCC test suite is run with the built compiler.