LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-6.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 49.0 % 7796 3820
Test Date: 2026-08-22 16:33:35 Functions: 69.9 % 83 58
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    179886681 : tree_maybe_bit_not (tree t, tree *res_ops)
      11              : {
      12    179886681 :   const tree type = TREE_TYPE (t);
      13    179886681 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    179886681 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    172025310 :   switch (TREE_CODE (t))
      16              :     {
      17     52152685 :     case INTEGER_CST:
      18     52152685 :       {
      19     52152685 :         {
      20     52152685 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      21     52152685 :           {
      22     52152685 :             res_ops[0] = captures[0];
      23     52152685 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 8, __FILE__, __LINE__, false);
      24              :             return true;
      25              :           }
      26              :         }
      27    119872625 :         break;
      28              :       }
      29    119872625 :     default:;
      30              :     }
      31    119872625 : {
      32    119872625 :   tree t_pops[1];
      33    119872625 :   if (tree_bit_not_with_nop (t, t_pops))
      34              :     {
      35       160407 :       tree _p0 = t_pops[0];
      36       160407 :       {
      37       160407 :         tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      38       160407 :         {
      39       160407 :           res_ops[0] = captures[0];
      40       160407 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 9, __FILE__, __LINE__, false);
      41       160407 :           return true;
      42              :         }
      43              :       }
      44              :     }
      45              : }
      46    119712218 : {
      47    119712218 :   tree t_pops[1];
      48    119712218 :   if (tree_maybe_cmp (t, t_pops))
      49              :     {
      50       571246 :       tree _p0 = t_pops[0];
      51       571246 :       {
      52       571246 :         tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      53       571246 :         {
      54       571246 :           res_ops[0] = captures[0];
      55       571246 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 10, __FILE__, __LINE__, false);
      56       571246 :           return true;
      57              :         }
      58              :       }
      59              :     }
      60              : }
      61    119140972 : {
      62    119140972 :   tree t_pops[2];
      63    119140972 :   if (tree_bit_xor_cst (t, t_pops))
      64              :     {
      65         1598 :       tree _p0 = t_pops[0];
      66         1598 :       tree _p1 = t_pops[1];
      67         1598 :       {
      68         1598 :         tree captures[3] ATTRIBUTE_UNUSED = { t, _p0, _p1 };
      69         1598 :         {
      70         1598 :           res_ops[0] = captures[0];
      71         1598 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 11, __FILE__, __LINE__, false);
      72         1598 :           return true;
      73              :         }
      74              :       }
      75              :     }
      76              : }
      77    119139374 :   return false;
      78              : }
      79              : 
      80              : bool
      81         2470 : tree_min_value (tree t)
      82              : {
      83         2470 :   const tree type = TREE_TYPE (t);
      84         2470 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      85         2470 :   if (TREE_SIDE_EFFECTS (t)) return false;
      86         2462 :   if (uniform_integer_cst_p (t))
      87              :     {
      88         2188 :       {
      89         2188 :         {
      90         2188 :  tree int_cst = uniform_integer_cst_p (t);
      91         2188 :  tree inner_type = TREE_TYPE (int_cst);
      92         4376 :             if ((INTEGRAL_TYPE_P (inner_type)
      93           17 :  || POINTER_TYPE_P (inner_type))
      94         4393 :  && wi::eq_p (wi::to_wide (int_cst), wi::min_value (inner_type))
      95              : )
      96              :               {
      97          134 :                 {
      98          134 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 41, __FILE__, __LINE__, false);
      99              :                   return true;
     100              :                 }
     101              :               }
     102              :         }
     103              :       }
     104              :     }
     105              :   return false;
     106              : }
     107              : 
     108              : tree
     109            3 : generic_simplify_1 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     110              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
     111              :  const enum tree_code ARG_UNUSED (op))
     112              : {
     113            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     114            3 :   if (!flag_trapping_math
     115              : )
     116              :     {
     117            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail72;
     118            2 :       {
     119            2 :         tree res_op0;
     120            2 :         res_op0 = captures[0];
     121            2 :         tree _r;
     122            2 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     123            2 :         if (TREE_SIDE_EFFECTS (captures[1]))
     124            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     125            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 49, __FILE__, __LINE__, true);
     126              :         return _r;
     127              :       }
     128            0 : next_after_fail72:;
     129              :     }
     130              :   return NULL_TREE;
     131              : }
     132              : 
     133              : tree
     134            0 : generic_simplify_9 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     135              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     136              :  const enum tree_code ARG_UNUSED (bit_op))
     137              : {
     138            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     139            0 :   if (bit_op == BIT_AND_EXPR
     140              : )
     141              :     {
     142            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail82;
     143            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail82;
     144            0 :       {
     145            0 :         tree _r;
     146            0 :         _r =  build_zero_cst (type);
     147            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 57, __FILE__, __LINE__, true);
     148              :         return _r;
     149              :       }
     150            0 : next_after_fail82:;
     151              :     }
     152              :   else
     153              :     {
     154            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail83;
     155            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail83;
     156            0 :       {
     157            0 :         tree _r;
     158            0 :         _r =  build_minus_one_cst (type);
     159            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 58, __FILE__, __LINE__, true);
     160              :         return _r;
     161              :       }
     162            0 : next_after_fail83:;
     163              :     }
     164              :   return NULL_TREE;
     165              : }
     166              : 
     167              : tree
     168            8 : generic_simplify_19 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     169              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     170              : {
     171            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     172            8 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     173              : )
     174              :     {
     175            8 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail93;
     176            8 :       {
     177            8 :         tree res_op0;
     178            8 :         {
     179            8 :           tree _o1[2], _r1;
     180            8 :           _o1[0] = captures[1];
     181            8 :           {
     182            8 :             tree _o2[1], _r2;
     183            8 :             _o2[0] = captures[0];
     184            8 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     185            8 :             _o1[1] = _r2;
     186              :           }
     187            8 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     188            8 :           res_op0 = _r1;
     189              :         }
     190            8 :         tree _r;
     191            8 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     192            8 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 68, __FILE__, __LINE__, true);
     193              :         return _r;
     194              :       }
     195            0 : next_after_fail93:;
     196              :     }
     197              :   return NULL_TREE;
     198              : }
     199              : 
     200              : tree
     201            0 : generic_simplify_28 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     202              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     203              : {
     204            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     205            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     206            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     207              : )
     208              :     {
     209            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail102;
     210            0 :       {
     211            0 :         tree res_op0;
     212            0 :         {
     213            0 :           tree _o1[1], _r1;
     214            0 :           _o1[0] = captures[1];
     215            0 :           if (TREE_TYPE (_o1[0]) != type)
     216              :             {
     217            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     218              :             }
     219              :           else
     220              :             _r1 = _o1[0];
     221            0 :           res_op0 = _r1;
     222              :         }
     223            0 :         tree res_op1;
     224            0 :         {
     225            0 :           tree _o1[1], _r1;
     226            0 :           _o1[0] = captures[2];
     227            0 :           if (TREE_TYPE (_o1[0]) != type)
     228              :             {
     229            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     230              :             }
     231              :           else
     232              :             _r1 = _o1[0];
     233            0 :           res_op1 = _r1;
     234              :         }
     235            0 :         tree _r;
     236            0 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     237            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
     238            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     239            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 77, __FILE__, __LINE__, true);
     240              :         return _r;
     241              :       }
     242            0 : next_after_fail102:;
     243              :     }
     244              :   return NULL_TREE;
     245              : }
     246              : 
     247              : tree
     248            0 : generic_simplify_36 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     249              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     250              :  const enum tree_code ARG_UNUSED (op))
     251              : {
     252            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     253            0 :   if (INTEGRAL_TYPE_P (type)
     254            0 :  && operand_equal_p (captures[2], captures[6], 0)
     255            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[4])) == 0
     256              : )
     257              :     {
     258            0 :       {
     259            0 :  tree t = type;
     260            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     261            0 :  t = unsigned_type_for (t);
     262            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), wi::to_wide (captures[7]));
     263            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail112;
     264            0 :           if (TREE_SIDE_EFFECTS (captures[7])) goto next_after_fail112;
     265            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail112;
     266            0 :           {
     267            0 :             tree res_op0;
     268            0 :             {
     269            0 :               tree _o1[2], _r1;
     270            0 :               {
     271            0 :                 tree _o2[1], _r2;
     272            0 :                 _o2[0] = captures[2];
     273            0 :                 if (TREE_TYPE (_o2[0]) != t)
     274              :                   {
     275            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     276              :                   }
     277              :                 else
     278              :                   _r2 = _o2[0];
     279            0 :                 _o1[0] = _r2;
     280              :               }
     281            0 :               _o1[1] =  wide_int_to_tree (t, c);
     282            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     283            0 :               res_op0 = _r1;
     284              :             }
     285            0 :             tree _r;
     286            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     287            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
     288            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
     289            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 85, __FILE__, __LINE__, true);
     290            0 :             return _r;
     291              :           }
     292            0 : next_after_fail112:;
     293            0 :       }
     294              :     }
     295              :   return NULL_TREE;
     296              : }
     297              : 
     298              : tree
     299          611 : generic_simplify_45 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     300              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     301              :  const enum tree_code ARG_UNUSED (op))
     302              : {
     303          611 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     304         1222 :   if (INTEGRAL_TYPE_P (type)
     305          609 :  && tree_int_cst_sgn (captures[2]) > 0
     306         2438 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[1])) == 0
     307              : )
     308              :     {
     309            6 :       {
     310            6 :  tree t = type;
     311            6 :  if (!TYPE_OVERFLOW_WRAPS (t))
     312            6 :  t = unsigned_type_for (t);
     313            6 :  wide_int wone = wi::one (TYPE_PRECISION (t));
     314            6 :  wide_int c = wi::add (wi::lshift (wone, wi::to_wide (captures[2])), wone);
     315            6 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail122;
     316            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail122;
     317            6 :           {
     318            6 :             tree res_op0;
     319            6 :             {
     320            6 :               tree _o1[2], _r1;
     321            6 :               {
     322            6 :                 tree _o2[1], _r2;
     323            6 :                 _o2[0] = captures[1];
     324            6 :                 if (TREE_TYPE (_o2[0]) != t)
     325              :                   {
     326            6 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     327              :                   }
     328              :                 else
     329              :                   _r2 = _o2[0];
     330            6 :                 _o1[0] = _r2;
     331              :               }
     332            6 :               _o1[1] =  wide_int_to_tree (t, c);
     333            6 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     334            6 :               res_op0 = _r1;
     335              :             }
     336            6 :             tree _r;
     337            6 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     338            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 92, __FILE__, __LINE__, true);
     339            6 :             return _r;
     340              :           }
     341            0 : next_after_fail122:;
     342            6 :       }
     343              :     }
     344              :   return NULL_TREE;
     345              : }
     346              : 
     347              : tree
     348            1 : generic_simplify_60 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     349              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     350              : {
     351            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     352            1 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail140;
     353            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail140;
     354            1 :   {
     355            1 :     tree res_op0;
     356            1 :     res_op0 = captures[3];
     357            1 :     tree res_op1;
     358            1 :     {
     359            1 :       tree _o1[2], _r1;
     360            1 :       {
     361            1 :         tree _o2[2], _r2;
     362            1 :         _o2[0] = captures[0];
     363            1 :         _o2[1] = captures[2];
     364            1 :         _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     365            1 :         _o1[0] = _r2;
     366              :       }
     367            1 :       _o1[1] = captures[1];
     368            1 :       _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     369            1 :       res_op1 = _r1;
     370              :     }
     371            1 :     tree _r;
     372            1 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     373            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 107, __FILE__, __LINE__, true);
     374              :     return _r;
     375              :   }
     376            1 : next_after_fail140:;
     377              :   return NULL_TREE;
     378              : }
     379              : 
     380              : tree
     381            7 : generic_simplify_70 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     382              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     383              : {
     384            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     385            7 :   if (!TYPE_SATURATING (type)
     386              : )
     387              :     {
     388            7 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     389           14 :  && !FIXED_POINT_TYPE_P (type)
     390              : )
     391              :         {
     392            7 :           if (TYPE_OVERFLOW_UNDEFINED (type)
     393           14 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
     394              : )
     395              :             {
     396            7 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail158;
     397            7 :               {
     398            7 :                 tree res_op0;
     399            7 :                 res_op0 = captures[2];
     400            7 :                 tree res_op1;
     401            7 :                 res_op1 = captures[1];
     402            7 :                 tree _r;
     403            7 :                 _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
     404            7 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     405            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     406            7 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 126, __FILE__, __LINE__, true);
     407              :                 return _r;
     408              :               }
     409            0 : next_after_fail158:;
     410              :             }
     411              :         }
     412              :     }
     413              :   return NULL_TREE;
     414              : }
     415              : 
     416              : tree
     417      3844755 : generic_simplify_77 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     418              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     419              : {
     420      3844755 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     421      3844755 :   if (!TYPE_SATURATING (type)
     422      3844755 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     423              : )
     424              :     {
     425      3844755 :       if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
     426              : )
     427              :         {
     428      7689510 :           if (TREE_CODE (type) == INTEGER_TYPE
     429      3844755 :  && wi::neg_p (wi::to_wide (captures[3]))
     430      8708561 :  && wi::to_wide (captures[3]) != wi::min_value (TYPE_PRECISION (type), SIGNED)
     431              : )
     432              :             {
     433      1012790 :               {
     434      1012790 :  wide_int c0 = wi::to_wide (captures[1]);
     435      1012790 :  wide_int c2 = wi::to_wide (captures[3]);
     436      1012790 :  wide_int c2_abs = wi::abs (c2);
     437      1012790 :                   if (wi::multiple_of_p (c2_abs, c0, TYPE_SIGN (type))
     438              : )
     439              :                     {
     440       462722 :                       {
     441       462722 :  wide_int div_res = wi::sdiv_trunc (c2, c0);
     442       462722 :  tree div_cst = wide_int_to_tree (type, div_res);
     443       462722 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail166;
     444       462722 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail166;
     445       462722 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail166;
     446       462722 :                           {
     447       462722 :                             tree res_op0;
     448       462722 :                             {
     449       462722 :                               tree _o1[2], _r1;
     450       462722 :                               _o1[0] = captures[2];
     451       462722 :                               _o1[1] =  div_cst;
     452       462722 :                               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     453       462722 :                               res_op0 = _r1;
     454              :                             }
     455       462722 :                             tree res_op1;
     456       462722 :                             res_op1 = captures[1];
     457       462722 :                             tree _r;
     458       462722 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     459       462722 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 134, __FILE__, __LINE__, true);
     460       462722 :                             return _r;
     461              :                           }
     462            0 : next_after_fail166:;
     463       462722 :                       }
     464              :                     }
     465      1012790 :               }
     466              :             }
     467              :         }
     468              :     }
     469              :   return NULL_TREE;
     470              : }
     471              : 
     472              : tree
     473            4 : generic_simplify_87 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     474              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     475              :  const enum tree_code ARG_UNUSED (log1),
     476              :  const enum tree_code ARG_UNUSED (log2),
     477              :  const combined_fn ARG_UNUSED (popcount))
     478              : {
     479            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     480            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail177;
     481            4 :   {
     482            4 :     tree res_op0;
     483            4 :     {
     484            4 :       tree _o1[2], _r1;
     485            4 :       _o1[0] = captures[2];
     486            4 :       _o1[1] = captures[5];
     487            4 :       _r1 = fold_build2_loc (loc, log2, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     488            4 :       res_op0 = _r1;
     489              :     }
     490            4 :     tree _r;
     491            4 :     _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
     492            4 :     if (!_r)
     493            0 :       goto next_after_fail177;
     494            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 145, __FILE__, __LINE__, true);
     495              :     return _r;
     496              :   }
     497            4 : next_after_fail177:;
     498              :   return NULL_TREE;
     499              : }
     500              : 
     501              : tree
     502           21 : generic_simplify_93 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     503              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     504              : {
     505           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     506           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail183;
     507           21 :   {
     508           21 :     tree res_op0;
     509           21 :     {
     510           21 :       tree _o1[2], _r1;
     511           21 :       _o1[0] = captures[1];
     512           21 :       _o1[1] = unshare_expr (captures[2]);
     513           21 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     514           21 :       res_op0 = _r1;
     515              :     }
     516           21 :     tree res_op1;
     517           21 :     res_op1 = captures[2];
     518           21 :     tree _r;
     519           21 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     520           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 151, __FILE__, __LINE__, true);
     521              :     return _r;
     522              :   }
     523            0 : next_after_fail183:;
     524            0 :   return NULL_TREE;
     525              : }
     526              : 
     527              : tree
     528            0 : generic_simplify_99 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     529              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     530              :  const enum tree_code ARG_UNUSED (minmax),
     531              :  const enum tree_code ARG_UNUSED (maxmin))
     532              : {
     533            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     534            0 :   if ((ANY_INTEGRAL_TYPE_P (type)
     535            0 :  && !TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type))
     536            0 :  || (FLOAT_TYPE_P (type)
     537            0 :  && flag_associative_math
     538            0 :  && !HONOR_SIGNED_ZEROS (type)
     539            0 :  && !flag_trapping_math)
     540              : )
     541              :     {
     542            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail189;
     543            0 :       {
     544            0 :         tree res_op0;
     545            0 :         res_op0 = captures[0];
     546            0 :         tree res_op1;
     547            0 :         res_op1 = captures[1];
     548            0 :         tree _r;
     549            0 :         _r = fold_build2_loc (loc, maxmin, type, res_op0, res_op1);
     550            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 157, __FILE__, __LINE__, true);
     551              :         return _r;
     552              :       }
     553            0 : next_after_fail189:;
     554              :     }
     555              :   return NULL_TREE;
     556              : }
     557              : 
     558              : tree
     559            0 : generic_simplify_108 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     560              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     561              : {
     562            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     563            0 :   if (!TYPE_SATURATING (type)
     564              : )
     565              :     {
     566            0 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     567            0 :  && !FIXED_POINT_TYPE_P (type)
     568              : )
     569              :         {
     570            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail200;
     571            0 :           {
     572            0 :             tree res_op0;
     573            0 :             res_op0 = captures[1];
     574            0 :             tree res_op1;
     575            0 :             res_op1 = captures[2];
     576            0 :             tree _r;
     577            0 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     578            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
     579            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     580            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 167, __FILE__, __LINE__, true);
     581              :             return _r;
     582              :           }
     583            0 : next_after_fail200:;
     584              :         }
     585              :     }
     586              :   return NULL_TREE;
     587              : }
     588              : 
     589              : tree
     590            9 : generic_simplify_114 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     591              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     592              : {
     593            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     594            9 :   if (INTEGRAL_TYPE_P (type)
     595            9 :  && (
     596              : 
     597            9 :  || !TREE_SIDE_EFFECTS (captures[1]))
     598              : )
     599              :     {
     600            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail210;
     601            2 :       {
     602            2 :         tree res_op0;
     603            2 :         {
     604            2 :           tree _o1[1], _r1;
     605            2 :           _o1[0] = captures[2];
     606            2 :           if (TREE_TYPE (_o1[0]) != boolean_type_node)
     607              :             {
     608            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
     609              :             }
     610              :           else
     611              :             _r1 = _o1[0];
     612            2 :           res_op0 = _r1;
     613              :         }
     614            2 :         tree res_op1;
     615            2 :         res_op1 = captures[1];
     616            2 :         tree res_op2;
     617            2 :         res_op2 = captures[0];
     618            2 :         tree _r;
     619            2 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     620            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 177, __FILE__, __LINE__, true);
     621              :         return _r;
     622              :       }
     623            0 : next_after_fail210:;
     624              :     }
     625              :   return NULL_TREE;
     626              : }
     627              : 
     628              : tree
     629           17 : generic_simplify_120 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     630              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     631              :  const enum tree_code ARG_UNUSED (bitop))
     632              : {
     633           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     634           17 :   if (INTEGRAL_TYPE_P (type)
     635           17 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     636           17 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     637           17 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0])) != TYPE_UNSIGNED (TREE_TYPE (captures[1]))
     638           17 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))
     639           34 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) <= TYPE_PRECISION (type)
     640              : )
     641              :     {
     642           17 :       if ((bitop == BIT_AND_EXPR) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
     643              : )
     644              :         {
     645           16 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail217;
     646           16 :           {
     647           16 :             tree res_op0;
     648           16 :             res_op0 = captures[0];
     649           16 :             tree _r;
     650           16 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     651           16 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 182, __FILE__, __LINE__, true);
     652              :             return _r;
     653              :           }
     654            0 : next_after_fail217:;
     655              :         }
     656              :       else
     657              :         {
     658            1 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail218;
     659            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail218;
     660            1 :           {
     661            1 :             tree res_op0;
     662            1 :             res_op0 = captures[1];
     663            1 :             tree _r;
     664            1 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     665            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 183, __FILE__, __LINE__, true);
     666              :             return _r;
     667              :           }
     668           17 : next_after_fail218:;
     669              :         }
     670              :     }
     671              :   return NULL_TREE;
     672              : }
     673              : 
     674              : tree
     675            0 : generic_simplify_128 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     676              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     677              : {
     678            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     679            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail228;
     680            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail228;
     681            0 :   {
     682            0 :     tree _r;
     683            0 :     _r = captures[2];
     684            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 192, __FILE__, __LINE__, true);
     685              :     return _r;
     686              :   }
     687            0 : next_after_fail228:;
     688              :   return NULL_TREE;
     689              : }
     690              : 
     691              : tree
     692            0 : generic_simplify_135 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     693              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     694              :  const enum tree_code ARG_UNUSED (op))
     695              : {
     696            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     697            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail235;
     698            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail235;
     699            0 :   {
     700            0 :     tree _r;
     701            0 :     _r = captures[0];
     702            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 196, __FILE__, __LINE__, true);
     703              :     return _r;
     704              :   }
     705            0 : next_after_fail235:;
     706              :   return NULL_TREE;
     707              : }
     708              : 
     709              : tree
     710          253 : generic_simplify_140 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     711              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     712              :  const enum tree_code ARG_UNUSED (bitop))
     713              : {
     714          253 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     715          253 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail240;
     716          253 :   {
     717          253 :     tree res_op0;
     718          253 :     res_op0 = captures[0];
     719          253 :     tree _r;
     720          253 :     _r = non_lvalue_loc (loc, res_op0);
     721          253 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 200, __FILE__, __LINE__, true);
     722              :     return _r;
     723              :   }
     724            0 : next_after_fail240:;
     725            0 :   return NULL_TREE;
     726              : }
     727              : 
     728              : tree
     729            0 : generic_simplify_150 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     730              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     731              :  const enum tree_code ARG_UNUSED (op))
     732              : {
     733            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     734            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     735            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     736              : )
     737              :     {
     738            0 :       if (single_use (captures[4]) && single_use (captures[5])
     739              : )
     740              :         {
     741            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail252;
     742            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail252;
     743            0 :           {
     744            0 :             tree res_op0;
     745            0 :             res_op0 = captures[0];
     746            0 :             tree res_op1;
     747            0 :             {
     748            0 :               tree _o1[1], _r1;
     749            0 :               _o1[0] = captures[6];
     750            0 :               if (TREE_TYPE (_o1[0]) != type)
     751              :                 {
     752            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     753              :                 }
     754              :               else
     755              :                 _r1 = _o1[0];
     756            0 :               res_op1 = _r1;
     757              :             }
     758            0 :             tree _r;
     759            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     760            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 206, __FILE__, __LINE__, true);
     761              :             return _r;
     762              :           }
     763            0 : next_after_fail252:;
     764              :         }
     765              :       else
     766              :         {
     767              :           if (single_use (captures[0]) && single_use (captures[1])
     768              : )
     769              :             {
     770              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail253;
     771              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail253;
     772              :               {
     773              :                 tree res_op0;
     774              :                 {
     775              :                   tree _o1[1], _r1;
     776              :                   _o1[0] = captures[3];
     777              :                   if (TREE_TYPE (_o1[0]) != type)
     778              :                     {
     779              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     780              :                     }
     781              :                   else
     782              :                     _r1 = _o1[0];
     783              :                   res_op0 = _r1;
     784              :                 }
     785              :                 tree res_op1;
     786              :                 res_op1 = captures[4];
     787              :                 tree _r;
     788              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     789              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 207, __FILE__, __LINE__, true);
     790              :                 return _r;
     791              :               }
     792            0 : next_after_fail253:;
     793              :             }
     794              :         }
     795              :     }
     796              :   return NULL_TREE;
     797              : }
     798              : 
     799              : tree
     800            4 : generic_simplify_165 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     801              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     802              : {
     803            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     804            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail273;
     805            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail273;
     806            4 :   {
     807            4 :     tree _r;
     808            4 :     _r = captures[2];
     809            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     810            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     811            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 220, __FILE__, __LINE__, true);
     812              :     return _r;
     813              :   }
     814            4 : next_after_fail273:;
     815              :   return NULL_TREE;
     816              : }
     817              : 
     818              : tree
     819          469 : generic_simplify_169 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     820              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     821              :  const enum tree_code ARG_UNUSED (code2),
     822              :  const enum tree_code ARG_UNUSED (code1))
     823              : {
     824          469 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     825          469 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     826          437 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     827          469 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     828            3 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     829            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     830           32 :  && bitwise_equal_p (captures[2], captures[5]))
     831              : )
     832              :     {
     833          439 :       {
     834          439 :  bool one_before = false;
     835          439 :  bool one_after = false;
     836          439 :  int cmp = 0;
     837          439 :  bool allbits = true;
     838          439 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     839          437 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     840              :  {
     841          437 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     842          437 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     843          437 :  auto t2 = wi::to_wide (captures[5]);
     844          437 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     845          437 :  if (cmp < 0
     846          437 :  && t1 == t2 - 1)
     847              :  one_before = true;
     848          437 :  if (cmp > 0
     849          437 :  && t1 == t2 + 1)
     850              :  one_after = true;
     851              :  }
     852          439 :  bool val;
     853          439 :  switch (code2)
     854              :  {
     855          423 :  case EQ_EXPR: val = (cmp == 0); break;
     856            0 :  case NE_EXPR: val = (cmp != 0); break;
     857            2 :  case LT_EXPR: val = (cmp < 0); break;
     858            0 :  case GT_EXPR: val = (cmp > 0); break;
     859           14 :  case LE_EXPR: val = (cmp <= 0); break;
     860            0 :  case GE_EXPR: val = (cmp >= 0); break;
     861            0 :  default: gcc_unreachable ();
     862              :  }
     863          439 :           if (code1 == EQ_EXPR && val
     864              : )
     865              :             {
     866            7 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail283;
     867            7 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail283;
     868            7 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail283;
     869            7 :               {
     870            7 :                 tree _r;
     871            7 :                 _r = captures[3];
     872            7 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 223, __FILE__, __LINE__, true);
     873              :                 return _r;
     874              :               }
     875          469 : next_after_fail283:;
     876              :             }
     877              :           else
     878              :             {
     879          432 :               if (code1 == NE_EXPR && val && allbits
     880              : )
     881              :                 {
     882            7 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail284;
     883            7 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail284;
     884            7 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail284;
     885            7 :                   {
     886            7 :                     tree _r;
     887            7 :                     _r =  constant_boolean_node (true, type);
     888            7 :                     if (TREE_SIDE_EFFECTS (captures[4]))
     889            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     890            7 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 224, __FILE__, __LINE__, true);
     891              :                     return _r;
     892              :                   }
     893          469 : next_after_fail284:;
     894              :                 }
     895              :               else
     896              :                 {
     897          425 :                   if (code1 == NE_EXPR && !val && allbits
     898              : )
     899              :                     {
     900            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail285;
     901            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail285;
     902            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail285;
     903            0 :                       {
     904            0 :                         tree _r;
     905            0 :                         _r = captures[0];
     906            0 :                         if (TREE_SIDE_EFFECTS (captures[4]))
     907            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     908            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 225, __FILE__, __LINE__, true);
     909              :                         return _r;
     910              :                       }
     911          469 : next_after_fail285:;
     912              :                     }
     913              :                   else
     914              :                     {
     915          425 :                       if (code1 == EQ_EXPR
     916          425 :  && code2 == GT_EXPR
     917            0 :  && cmp == 0
     918            0 :  && allbits
     919          425 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     920            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     921            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     922              : )
     923              :                         {
     924            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail286;
     925            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail286;
     926            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail286;
     927            0 :                           {
     928            0 :                             tree res_op0;
     929            0 :                             res_op0 = captures[4];
     930            0 :                             tree res_op1;
     931            0 :                             res_op1 = captures[5];
     932            0 :                             tree _r;
     933            0 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     934            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 226, __FILE__, __LINE__, true);
     935              :                             return _r;
     936              :                           }
     937          469 : next_after_fail286:;
     938              :                         }
     939              :                       else
     940              :                         {
     941          425 :                           if (code1 == EQ_EXPR
     942          425 :  && code2 == LT_EXPR
     943            2 :  && cmp == 0
     944            2 :  && allbits
     945          427 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     946            2 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     947            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     948              : )
     949              :                             {
     950            2 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail287;
     951            2 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail287;
     952            2 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail287;
     953            2 :                               {
     954            2 :                                 tree res_op0;
     955            2 :                                 res_op0 = captures[4];
     956            2 :                                 tree res_op1;
     957            2 :                                 res_op1 = captures[5];
     958            2 :                                 tree _r;
     959            2 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     960            2 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 227, __FILE__, __LINE__, true);
     961              :                                 return _r;
     962              :                               }
     963          469 : next_after_fail287:;
     964              :                             }
     965              :                           else
     966              :                             {
     967          423 :                               if (code1 == EQ_EXPR
     968          423 :  && code2 == GE_EXPR
     969              :  && one_before
     970            0 :  && allbits
     971          423 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     972            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     973            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     974              : )
     975              :                                 {
     976            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail288;
     977            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail288;
     978            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail288;
     979            0 :                                   {
     980            0 :                                     tree res_op0;
     981            0 :                                     res_op0 = captures[4];
     982            0 :                                     tree res_op1;
     983            0 :                                     {
     984            0 :                                       tree _o1[1], _r1;
     985            0 :                                       _o1[0] = captures[2];
     986            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     987              :                                         {
     988            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     989              :                                         }
     990              :                                       else
     991              :                                         _r1 = _o1[0];
     992            0 :                                       res_op1 = _r1;
     993              :                                     }
     994            0 :                                     tree _r;
     995            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     996            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 228, __FILE__, __LINE__, true);
     997              :                                     return _r;
     998              :                                   }
     999          469 : next_after_fail288:;
    1000              :                                 }
    1001              :                               else
    1002              :                                 {
    1003          423 :                                   if (code1 == EQ_EXPR
    1004          423 :  && code2 == LE_EXPR
    1005              :  && one_after
    1006            0 :  && allbits
    1007          423 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    1008            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
    1009            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    1010              : )
    1011              :                                     {
    1012            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail289;
    1013            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail289;
    1014            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail289;
    1015            0 :                                       {
    1016            0 :                                         tree res_op0;
    1017            0 :                                         res_op0 = captures[4];
    1018            0 :                                         tree res_op1;
    1019            0 :                                         {
    1020            0 :                                           tree _o1[1], _r1;
    1021            0 :                                           _o1[0] = captures[2];
    1022            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1023              :                                             {
    1024            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1025              :                                             }
    1026              :                                           else
    1027              :                                             _r1 = _o1[0];
    1028            0 :                                           res_op1 = _r1;
    1029              :                                         }
    1030            0 :                                         tree _r;
    1031            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1032            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 229, __FILE__, __LINE__, true);
    1033              :                                         return _r;
    1034              :                                       }
    1035          469 : next_after_fail289:;
    1036              :                                     }
    1037              :                                 }
    1038              :                             }
    1039              :                         }
    1040              :                     }
    1041              :                 }
    1042              :             }
    1043              :       }
    1044              :     }
    1045              :   return NULL_TREE;
    1046              : }
    1047              : 
    1048              : tree
    1049            9 : generic_simplify_214 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1050              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1051              :  const combined_fn ARG_UNUSED (LDEXP))
    1052              : {
    1053            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1054            9 :   if (flag_unsafe_math_optimizations
    1055              : )
    1056              :     {
    1057            9 :       if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst1)
    1058              : )
    1059              :         {
    1060            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail358;
    1061            9 :           {
    1062            9 :             tree res_op0;
    1063            9 :             res_op0 = captures[0];
    1064            9 :             tree res_op1;
    1065            9 :             res_op1 = captures[2];
    1066            9 :             tree _r;
    1067            9 :             _r = maybe_build_call_expr_loc (loc, LDEXP, type, 2, res_op0, res_op1);
    1068            9 :             if (!_r)
    1069            0 :               goto next_after_fail358;
    1070            9 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1071            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1072            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 270, __FILE__, __LINE__, true);
    1073              :             return _r;
    1074              :           }
    1075            9 : next_after_fail358:;
    1076              :         }
    1077              :     }
    1078              :   return NULL_TREE;
    1079              : }
    1080              : 
    1081              : tree
    1082           12 : generic_simplify_222 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1083              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1084              :  const enum tree_code ARG_UNUSED (cmp))
    1085              : {
    1086           12 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1087           12 :   if (element_precision (captures[0]) >= element_precision (captures[1])
    1088           12 :  && types_match (captures[1], captures[3])
    1089              : )
    1090              :     {
    1091           12 :       if (wi::lt_p (wi::to_wide (captures[2]), 0, TYPE_SIGN (TREE_TYPE (captures[2])))
    1092              : )
    1093              :         {
    1094            0 :           if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1095              : )
    1096              :             {
    1097            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail366;
    1098            0 :               {
    1099            0 :                 tree res_op0;
    1100            0 :                 res_op0 = captures[3];
    1101            0 :                 tree res_op1;
    1102            0 :                 res_op1 = captures[1];
    1103            0 :                 tree _r;
    1104            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1105            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1106            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1107            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 278, __FILE__, __LINE__, true);
    1108              :                 return _r;
    1109              :               }
    1110            0 : next_after_fail366:;
    1111              :             }
    1112              :           else
    1113              :             {
    1114            0 :               if (tree_expr_nonzero_p (captures[1]) && tree_expr_nonzero_p (captures[3])
    1115              : )
    1116              :                 {
    1117            0 :                   {
    1118            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
    1119            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail367;
    1120            0 :                       {
    1121            0 :                         tree res_op0;
    1122            0 :                         {
    1123            0 :                           tree _o1[1], _r1;
    1124            0 :                           _o1[0] = captures[3];
    1125            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1126              :                             {
    1127            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1128              :                             }
    1129              :                           else
    1130              :                             _r1 = _o1[0];
    1131            0 :                           res_op0 = _r1;
    1132              :                         }
    1133            0 :                         tree res_op1;
    1134            0 :                         {
    1135            0 :                           tree _o1[1], _r1;
    1136            0 :                           _o1[0] = captures[1];
    1137            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1138              :                             {
    1139            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1140              :                             }
    1141              :                           else
    1142              :                             _r1 = _o1[0];
    1143            0 :                           res_op1 = _r1;
    1144              :                         }
    1145            0 :                         tree _r;
    1146            0 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1147            0 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    1148            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1149            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 279, __FILE__, __LINE__, true);
    1150              :                         return _r;
    1151              :                       }
    1152            0 : next_after_fail367:;
    1153              :                   }
    1154              :                 }
    1155              :             }
    1156              :         }
    1157              :       else
    1158              :         {
    1159           12 :           if (wi::gt_p (wi::to_wide (captures[2]), 1, TYPE_SIGN (TREE_TYPE (captures[2])))
    1160              : )
    1161              :             {
    1162           12 :               if (TYPE_UNSIGNED (TREE_TYPE (captures[1])) || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1163              : )
    1164              :                 {
    1165           12 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail368;
    1166           12 :                   {
    1167           12 :                     tree res_op0;
    1168           12 :                     res_op0 = captures[1];
    1169           12 :                     tree res_op1;
    1170           12 :                     res_op1 = captures[3];
    1171           12 :                     tree _r;
    1172           12 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1173           12 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    1174            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1175           12 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 280, __FILE__, __LINE__, true);
    1176              :                     return _r;
    1177              :                   }
    1178            0 : next_after_fail368:;
    1179              :                 }
    1180              :               else
    1181              :                 {
    1182            0 :                   {
    1183            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
    1184            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail369;
    1185            0 :                       {
    1186            0 :                         tree res_op0;
    1187            0 :                         {
    1188            0 :                           tree _o1[1], _r1;
    1189            0 :                           _o1[0] = captures[1];
    1190            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1191              :                             {
    1192            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1193              :                             }
    1194              :                           else
    1195              :                             _r1 = _o1[0];
    1196            0 :                           res_op0 = _r1;
    1197              :                         }
    1198            0 :                         tree res_op1;
    1199            0 :                         {
    1200            0 :                           tree _o1[1], _r1;
    1201            0 :                           _o1[0] = captures[3];
    1202            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1203              :                             {
    1204            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1205              :                             }
    1206              :                           else
    1207              :                             _r1 = _o1[0];
    1208            0 :                           res_op1 = _r1;
    1209              :                         }
    1210            0 :                         tree _r;
    1211            0 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1212            0 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    1213            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1214            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 281, __FILE__, __LINE__, true);
    1215              :                         return _r;
    1216              :                       }
    1217            0 : next_after_fail369:;
    1218              :                   }
    1219              :                 }
    1220              :             }
    1221              :         }
    1222              :     }
    1223              :   return NULL_TREE;
    1224              : }
    1225              : 
    1226              : tree
    1227            8 : generic_simplify_252 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1228              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1229              :  const enum tree_code ARG_UNUSED (cmp),
    1230              :  const enum tree_code ARG_UNUSED (icmp))
    1231              : {
    1232            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1233            8 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1234              : )
    1235              :     {
    1236            8 :       {
    1237            8 :  int c = wi::exact_log2 (wi::to_wide (captures[1]));
    1238            8 :           if (wi::fits_to_tree_p (wi::shwi (c, HOST_BITS_PER_INT), TREE_TYPE (captures[0]))
    1239              : )
    1240              :             {
    1241            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail417;
    1242            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail417;
    1243            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail417;
    1244            0 :               {
    1245            0 :                 tree res_op0;
    1246            0 :                 res_op0 = captures[0];
    1247            0 :                 tree res_op1;
    1248            0 :                 res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), c);
    1249            0 :                 tree _r;
    1250            0 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1251            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 327, __FILE__, __LINE__, true);
    1252            8 :                 return _r;
    1253              :               }
    1254            8 : next_after_fail417:;
    1255              :             }
    1256              :       }
    1257              :     }
    1258              :   return NULL_TREE;
    1259              : }
    1260              : 
    1261              : tree
    1262          124 : generic_simplify_258 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1263              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1264              :  const enum tree_code ARG_UNUSED (rotate),
    1265              :  const enum tree_code ARG_UNUSED (invrot),
    1266              :  const enum tree_code ARG_UNUSED (cmp))
    1267              : {
    1268          124 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1269          124 :   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail432;
    1270          124 :   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail432;
    1271          124 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail432;
    1272          124 :   {
    1273          124 :     tree res_op0;
    1274          124 :     res_op0 = captures[0];
    1275          124 :     tree res_op1;
    1276          124 :     res_op1 =  const_binop (invrot, TREE_TYPE (captures[0]), captures[2], captures[1]);
    1277          124 :     tree _r;
    1278          124 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1279          124 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 342, __FILE__, __LINE__, true);
    1280              :     return _r;
    1281              :   }
    1282          124 : next_after_fail432:;
    1283              :   return NULL_TREE;
    1284              : }
    1285              : 
    1286              : tree
    1287          182 : generic_simplify_263 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1288              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1289              :  const enum tree_code ARG_UNUSED (cmp),
    1290              :  const enum tree_code ARG_UNUSED (icmp),
    1291              :  const enum tree_code ARG_UNUSED (ncmp))
    1292              : {
    1293          182 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1294          182 :   if (types_match (type, TREE_TYPE (captures[0]))
    1295              : )
    1296              :     {
    1297          125 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail437;
    1298          125 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail437;
    1299          125 :       {
    1300          125 :         tree res_op0;
    1301          125 :         res_op0 = captures[1];
    1302          125 :         tree res_op1;
    1303          125 :         res_op1 = captures[2];
    1304          125 :         tree _r;
    1305          125 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1306          125 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 347, __FILE__, __LINE__, true);
    1307              :         return _r;
    1308              :       }
    1309          182 : next_after_fail437:;
    1310              :     }
    1311              :   return NULL_TREE;
    1312              : }
    1313              : 
    1314              : tree
    1315     47286680 : generic_simplify_270 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1316              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1317              :  const enum tree_code ARG_UNUSED (cmp))
    1318              : {
    1319     47286680 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1320     47286680 :   {
    1321     47286680 :  bool wascmp;
    1322     47286680 :       if (types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1323     47286680 :  && bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
    1324              : )
    1325              :         {
    1326            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail450;
    1327            6 :           {
    1328            6 :             tree _r;
    1329            6 :             _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1330            6 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1331            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1332            6 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1333            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1334            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 359, __FILE__, __LINE__, true);
    1335            6 :             return _r;
    1336              :           }
    1337            0 : next_after_fail450:;
    1338              :         }
    1339              :   }
    1340     47286674 :   return NULL_TREE;
    1341              : }
    1342              : 
    1343              : tree
    1344         8893 : generic_simplify_275 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1345              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1346              :  const enum tree_code ARG_UNUSED (op),
    1347              :  const enum tree_code ARG_UNUSED (cmp))
    1348              : {
    1349         8893 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1350         8893 :   if (flag_unsafe_math_optimizations
    1351              : )
    1352              :     {
    1353            5 :       {
    1354            8 :  tree tem = const_binop (op == PLUS_EXPR ? MINUS_EXPR : PLUS_EXPR,
    1355            5 :  TREE_TYPE (captures[1]), captures[2], captures[1]);
    1356            5 :           if (tem && !TREE_OVERFLOW (tem)
    1357              : )
    1358              :             {
    1359            4 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail469;
    1360            4 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail469;
    1361            4 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail469;
    1362            4 :               {
    1363            4 :                 tree res_op0;
    1364            4 :                 res_op0 = captures[0];
    1365            4 :                 tree res_op1;
    1366            4 :                 res_op1 =  tem;
    1367            4 :                 tree _r;
    1368            4 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1369            4 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 377, __FILE__, __LINE__, true);
    1370              :                 return _r;
    1371              :               }
    1372         8893 : next_after_fail469:;
    1373              :             }
    1374              :       }
    1375              :     }
    1376              :   return NULL_TREE;
    1377              : }
    1378              : 
    1379              : tree
    1380           69 : generic_simplify_281 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1381              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1382              :  const enum tree_code ARG_UNUSED (cmp))
    1383              : {
    1384           69 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1385           69 :   if (!integer_zerop (captures[1])
    1386              : )
    1387              :     {
    1388           69 :       if (wi::to_wide (captures[2]) == 0
    1389              : )
    1390              :         {
    1391           22 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail500;
    1392           22 :           {
    1393           22 :             tree res_op0;
    1394           22 :             res_op0 = captures[0];
    1395           22 :             tree res_op1;
    1396           22 :             res_op1 = captures[2];
    1397           22 :             tree _r;
    1398           22 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1399           22 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1400            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1401           22 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 408, __FILE__, __LINE__, true);
    1402              :             return _r;
    1403              :           }
    1404            0 : next_after_fail500:;
    1405              :         }
    1406              :       else
    1407              :         {
    1408           47 :           if (TREE_CODE (captures[1]) == INTEGER_CST
    1409              : )
    1410              :             {
    1411           47 :               {
    1412           47 :  wi::overflow_type ovf;
    1413           47 :  wide_int prod = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[1]),
    1414           94 :  TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
    1415           47 :                   if (ovf
    1416              : )
    1417              :                     {
    1418            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail501;
    1419            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail501;
    1420            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail501;
    1421            0 :                       {
    1422            0 :                         tree _r;
    1423            0 :                         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1424            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1425            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1426            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 409, __FILE__, __LINE__, true);
    1427              :                         return _r;
    1428              :                       }
    1429            0 : next_after_fail501:;
    1430              :                     }
    1431              :                   else
    1432              :                     {
    1433           47 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail502;
    1434           47 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail502;
    1435           47 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail502;
    1436           47 :                       {
    1437           47 :                         tree res_op0;
    1438           47 :                         res_op0 = captures[0];
    1439           47 :                         tree res_op1;
    1440           47 :                         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
    1441           47 :                         tree _r;
    1442           47 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1443           47 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 410, __FILE__, __LINE__, true);
    1444              :                         return _r;
    1445              :                       }
    1446            0 : next_after_fail502:;
    1447              :                     }
    1448           47 :               }
    1449              :             }
    1450              :         }
    1451              :     }
    1452              :   return NULL_TREE;
    1453              : }
    1454              : 
    1455              : tree
    1456        27485 : generic_simplify_288 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1457              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1458              :  const enum tree_code ARG_UNUSED (cmp))
    1459              : {
    1460        27485 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1461        27485 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail526;
    1462        27485 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail526;
    1463        27485 :   {
    1464        27485 :     tree res_op0;
    1465        27485 :     res_op0 = captures[0];
    1466        27485 :     tree res_op1;
    1467        27485 :     res_op1 = captures[1];
    1468        27485 :     tree _r;
    1469        27485 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1470        27485 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 426, __FILE__, __LINE__, true);
    1471              :     return _r;
    1472              :   }
    1473        27485 : next_after_fail526:;
    1474              :   return NULL_TREE;
    1475              : }
    1476              : 
    1477              : tree
    1478            0 : generic_simplify_291 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1479              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1480              :  const enum tree_code ARG_UNUSED (cmp))
    1481              : {
    1482            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1483            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    1484            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1485            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1486            0 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
    1487            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    1488            0 :  && !wi::neg_p (wi::to_wide (captures[3]))
    1489              : )
    1490              :     {
    1491            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail529;
    1492            0 :       {
    1493            0 :         tree res_op0;
    1494            0 :         {
    1495            0 :           tree _o1[2], _r1;
    1496            0 :           _o1[0] = captures[2];
    1497            0 :           {
    1498            0 :             tree _o2[1], _r2;
    1499            0 :             {
    1500            0 :               tree _o3[1], _r3;
    1501            0 :               _o3[0] = captures[3];
    1502            0 :               _r3 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
    1503            0 :               _o2[0] = _r3;
    1504              :             }
    1505            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
    1506              :               {
    1507            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
    1508              :               }
    1509              :             else
    1510              :               _r2 = _o2[0];
    1511            0 :             _o1[1] = _r2;
    1512              :           }
    1513            0 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1514            0 :           res_op0 = _r1;
    1515              :         }
    1516            0 :         tree res_op1;
    1517            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1518            0 :         tree _r;
    1519            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1520            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 429, __FILE__, __LINE__, true);
    1521              :         return _r;
    1522              :       }
    1523            0 : next_after_fail529:;
    1524              :     }
    1525              :   return NULL_TREE;
    1526              : }
    1527              : 
    1528              : tree
    1529            0 : generic_simplify_298 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1530              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1531              :  const enum tree_code ARG_UNUSED (cmp),
    1532              :  const enum tree_code ARG_UNUSED (icmp))
    1533              : {
    1534            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1535            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail536;
    1536            0 :   {
    1537            0 :     tree res_op0;
    1538            0 :     {
    1539            0 :       tree _o1[2], _r1;
    1540            0 :       _o1[0] = captures[0];
    1541            0 :       _o1[1] = captures[1];
    1542            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1543            0 :       res_op0 = _r1;
    1544              :     }
    1545            0 :     tree res_op1;
    1546            0 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1547            0 :     tree _r;
    1548            0 :     _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1549            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 436, __FILE__, __LINE__, true);
    1550              :     return _r;
    1551              :   }
    1552            0 : next_after_fail536:;
    1553            0 :   return NULL_TREE;
    1554              : }
    1555              : 
    1556              : tree
    1557       834398 : generic_simplify_303 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1558              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1559              :  const enum tree_code ARG_UNUSED (cmp),
    1560              :  const enum tree_code ARG_UNUSED (ncmp))
    1561              : {
    1562       834398 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1563      1604190 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1564       834398 :  && type_has_mode_precision_p (TREE_TYPE (captures[1]))
    1565       833101 :  && element_precision (captures[0]) >= element_precision (captures[1])
    1566      1668796 :  && wi::only_sign_bit_p (wi::to_wide (captures[2]), element_precision (captures[1]))
    1567              : )
    1568              :     {
    1569        14820 :       {
    1570        14820 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1571        14820 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail541;
    1572        14820 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail541;
    1573        14820 :           {
    1574        14820 :             tree res_op0;
    1575        14820 :             {
    1576        14820 :               tree _o1[1], _r1;
    1577        14820 :               _o1[0] = captures[1];
    1578        14820 :               if (TREE_TYPE (_o1[0]) != stype)
    1579              :                 {
    1580        14599 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1581              :                 }
    1582              :               else
    1583              :                 _r1 = _o1[0];
    1584        14820 :               res_op0 = _r1;
    1585              :             }
    1586        14820 :             tree res_op1;
    1587        14820 :             res_op1 =  build_zero_cst (stype);
    1588        14820 :             tree _r;
    1589        14820 :             _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1590        14820 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1591            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1592        14820 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 439, __FILE__, __LINE__, true);
    1593              :             return _r;
    1594              :           }
    1595       834398 : next_after_fail541:;
    1596              :       }
    1597              :     }
    1598              :   return NULL_TREE;
    1599              : }
    1600              : 
    1601              : tree
    1602            8 : generic_simplify_310 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1603              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1604              :  const enum tree_code ARG_UNUSED (cmp),
    1605              :  const enum tree_code ARG_UNUSED (out))
    1606              : {
    1607            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1608           16 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    1609            8 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1610            8 :  && TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    1611            8 :  && (TYPE_PRECISION (TREE_TYPE (captures[1]))
    1612            8 :  >= 2 * TYPE_PRECISION (TREE_TYPE (captures[2])))
    1613            8 :  && tree_fits_uhwi_p (captures[4])
    1614            8 :  && tree_to_uhwi (captures[4]) == TYPE_PRECISION (TREE_TYPE (captures[2]))
    1615            8 :  && types_match (captures[2], captures[3])
    1616           16 :  && TYPE_MAX_VALUE (TREE_TYPE (captures[2]))
    1617              : )
    1618              :     {
    1619            8 :       {
    1620            8 :  tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
    1621            8 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail566;
    1622            8 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail566;
    1623            8 :           {
    1624            8 :             tree res_op0;
    1625            8 :             {
    1626            8 :               tree _o1[2], _r1;
    1627            8 :               {
    1628            8 :                 tree _o2[1], _r2;
    1629            8 :                 _o2[0] = captures[2];
    1630            8 :                 if (TREE_TYPE (_o2[0]) != utype)
    1631              :                   {
    1632            8 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1633              :                   }
    1634              :                 else
    1635              :                   _r2 = _o2[0];
    1636            8 :                 _o1[0] = _r2;
    1637              :               }
    1638            8 :               {
    1639            8 :                 tree _o2[1], _r2;
    1640            8 :                 _o2[0] = captures[3];
    1641            8 :                 if (TREE_TYPE (_o2[0]) != utype)
    1642              :                   {
    1643            8 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1644              :                   }
    1645              :                 else
    1646              :                   _r2 = _o2[0];
    1647            8 :                 _o1[1] = _r2;
    1648              :               }
    1649            8 :               _r1 = fold_build2_loc (loc, MULT_EXPR, utype, _o1[0], _o1[1]);
    1650            8 :               res_op0 = _r1;
    1651              :             }
    1652            8 :             tree res_op1;
    1653            8 :             res_op1 =  fold_convert (utype, TYPE_MAX_VALUE (TREE_TYPE (captures[2])));
    1654            8 :             tree _r;
    1655            8 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    1656            8 :             if (TREE_SIDE_EFFECTS (captures[4]))
    1657            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    1658            8 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 456, __FILE__, __LINE__, true);
    1659              :             return _r;
    1660              :           }
    1661            8 : next_after_fail566:;
    1662              :       }
    1663              :     }
    1664              :   return NULL_TREE;
    1665              : }
    1666              : 
    1667              : tree
    1668          366 : generic_simplify_313 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1669              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1670              :  const enum tree_code ARG_UNUSED (op),
    1671              :  const enum tree_code ARG_UNUSED (cmp),
    1672              :  const combined_fn ARG_UNUSED (clz))
    1673              : {
    1674          366 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1675          366 :   if (!sanitize_flags_p (SANITIZE_BUILTIN)
    1676          366 :  || (cfun && (cfun->curr_properties & PROP_ssa) != 0)
    1677              : )
    1678              :     {
    1679          302 :       if (integer_zerop (captures[2]) && single_use (captures[0])
    1680              : )
    1681              :         {
    1682           59 :           {
    1683           59 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1684           59 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail578;
    1685           59 :               {
    1686           59 :                 tree res_op0;
    1687           59 :                 {
    1688           59 :                   tree _o1[1], _r1;
    1689           59 :                   _o1[0] = captures[1];
    1690           59 :                   if (TREE_TYPE (_o1[0]) != stype)
    1691              :                     {
    1692           59 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1693              :                     }
    1694              :                   else
    1695              :                     _r1 = _o1[0];
    1696           59 :                   res_op0 = _r1;
    1697              :                 }
    1698           59 :                 tree res_op1;
    1699           59 :                 res_op1 =  build_zero_cst (stype);
    1700           59 :                 tree _r;
    1701           59 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1702           59 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1703            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1704           59 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 468, __FILE__, __LINE__, true);
    1705              :                 return _r;
    1706              :               }
    1707            0 : next_after_fail578:;
    1708              :           }
    1709              :         }
    1710              :       else
    1711              :         {
    1712          243 :           if (wi::to_wide (captures[2]) == TYPE_PRECISION (TREE_TYPE (captures[1])) - 1
    1713              : )
    1714              :             {
    1715           79 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail579;
    1716           79 :               {
    1717           79 :                 tree res_op0;
    1718           79 :                 res_op0 = captures[1];
    1719           79 :                 tree res_op1;
    1720           79 :                 res_op1 =  build_one_cst (TREE_TYPE (captures[1]));
    1721           79 :                 tree _r;
    1722           79 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1723           79 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1724            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1725           79 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 469, __FILE__, __LINE__, true);
    1726              :                 return _r;
    1727              :               }
    1728            0 : next_after_fail579:;
    1729              :             }
    1730              :         }
    1731              :     }
    1732              :   return NULL_TREE;
    1733              : }
    1734              : 
    1735              : tree
    1736        29025 : generic_simplify_321 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1737              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1738              :  const enum tree_code ARG_UNUSED (cmp),
    1739              :  const enum tree_code ARG_UNUSED (icmp),
    1740              :  const enum tree_code ARG_UNUSED (ncmp))
    1741              : {
    1742        29025 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1743        29025 :   if (types_match (type, TREE_TYPE (captures[0]))
    1744              : )
    1745              :     {
    1746        28255 :       {
    1747        28255 :  enum tree_code ic = invert_tree_comparison
    1748        28255 :  (cmp, HONOR_NANS (captures[1]));
    1749        28255 :           if (ic == icmp
    1750              : )
    1751              :             {
    1752        22031 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail592;
    1753        22031 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail592;
    1754        22031 :               {
    1755        22031 :                 tree res_op0;
    1756        22031 :                 res_op0 = captures[1];
    1757        22031 :                 tree res_op1;
    1758        22031 :                 res_op1 = captures[2];
    1759        22031 :                 tree _r;
    1760        22031 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1761        22031 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 482, __FILE__, __LINE__, true);
    1762              :                 return _r;
    1763              :               }
    1764        29025 : next_after_fail592:;
    1765              :             }
    1766              :           else
    1767              :             {
    1768         6224 :               if (ic == ncmp
    1769              : )
    1770              :                 {
    1771            5 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail593;
    1772            5 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail593;
    1773            5 :                   {
    1774            5 :                     tree res_op0;
    1775            5 :                     res_op0 = captures[1];
    1776            5 :                     tree res_op1;
    1777            5 :                     res_op1 = captures[2];
    1778            5 :                     tree _r;
    1779            5 :                     _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1780            5 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 483, __FILE__, __LINE__, true);
    1781              :                     return _r;
    1782              :                   }
    1783        29025 : next_after_fail593:;
    1784              :                 }
    1785              :             }
    1786              :       }
    1787              :     }
    1788              :   return NULL_TREE;
    1789              : }
    1790              : 
    1791              : tree
    1792         2366 : generic_simplify_331 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1793              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1794              :  const enum tree_code ARG_UNUSED (div))
    1795              : {
    1796         2366 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1797         2366 :   if (!integer_zerop (captures[1])
    1798              : )
    1799              :     {
    1800         1737 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail605;
    1801         1737 :       {
    1802         1737 :         tree _r;
    1803         1737 :         _r = captures[0];
    1804         1737 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1805           59 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1806         1737 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 493, __FILE__, __LINE__, true);
    1807              :         return _r;
    1808              :       }
    1809            0 : next_after_fail605:;
    1810              :     }
    1811              :   return NULL_TREE;
    1812              : }
    1813              : 
    1814              : tree
    1815         9433 : generic_simplify_337 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1816              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1817              :  const enum tree_code ARG_UNUSED (div))
    1818              : {
    1819         9433 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1820         9433 :   {
    1821         9433 :  wi::overflow_type overflow;
    1822         9433 :  wide_int mul = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[3]),
    1823        18866 :  TYPE_SIGN (type), &overflow);
    1824         9433 :       if (div == EXACT_DIV_EXPR
    1825         9433 :  || optimize_successive_divisions_p (captures[3], captures[0])
    1826              : )
    1827              :         {
    1828            0 :           if (!overflow
    1829              : )
    1830              :             {
    1831            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail611;
    1832            0 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail611;
    1833            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail611;
    1834            0 :               {
    1835            0 :                 tree res_op0;
    1836            0 :                 res_op0 = captures[1];
    1837            0 :                 tree res_op1;
    1838            0 :                 res_op1 =  wide_int_to_tree (type, mul);
    1839            0 :                 tree _r;
    1840            0 :                 _r = fold_build2_loc (loc, div, type, res_op0, res_op1);
    1841            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 499, __FILE__, __LINE__, true);
    1842              :                 return _r;
    1843              :               }
    1844         9433 : next_after_fail611:;
    1845              :             }
    1846              :           else
    1847              :             {
    1848            0 :               if (TYPE_UNSIGNED (type)
    1849            0 :  || mul != wi::min_value (TYPE_PRECISION (type), SIGNED)
    1850              : )
    1851              :                 {
    1852            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail612;
    1853            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail612;
    1854            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail612;
    1855            0 :                   {
    1856            0 :                     tree _r;
    1857            0 :                     _r =  build_zero_cst (type);
    1858            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1859            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1860            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 500, __FILE__, __LINE__, true);
    1861              :                     return _r;
    1862              :                   }
    1863         9433 : next_after_fail612:;
    1864              :                 }
    1865              :             }
    1866              :         }
    1867            0 :   }
    1868         9433 :   return NULL_TREE;
    1869              : }
    1870              : 
    1871              : tree
    1872      1598283 : generic_simplify_349 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1873              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1874              :  const enum tree_code ARG_UNUSED (mod))
    1875              : {
    1876      1598283 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1877      1849395 :   if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
    1878      1351823 :  && INTEGRAL_TYPE_P (type)
    1879      1351823 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1880      1351823 :  && (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[1]))
    1881            3 :  || TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1882            1 :  || !TYPE_UNSIGNED (type))
    1883      2950106 :  && integer_pow2p (captures[2]) && tree_int_cst_sgn (captures[2]) > 0
    1884              : )
    1885              :     {
    1886       990819 :       {
    1887       990819 :  tree utype = TREE_TYPE (captures[1]);
    1888       990819 :  if (!TYPE_OVERFLOW_WRAPS (utype))
    1889          303 :  utype = unsigned_type_for (utype);
    1890       990819 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail624;
    1891       990819 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail624;
    1892       990819 :           {
    1893       990819 :             tree res_op0;
    1894       990819 :             res_op0 = captures[0];
    1895       990819 :             tree res_op1;
    1896       990819 :             {
    1897       990819 :               tree _o1[1], _r1;
    1898       990819 :               {
    1899       990819 :                 tree _o2[2], _r2;
    1900       990819 :                 {
    1901       990819 :                   tree _o3[1], _r3;
    1902       990819 :                   _o3[0] = captures[1];
    1903       990819 :                   if (TREE_TYPE (_o3[0]) != utype)
    1904              :                     {
    1905          303 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1906              :                     }
    1907              :                   else
    1908              :                     _r3 = _o3[0];
    1909       990819 :                   _o2[0] = _r3;
    1910              :                 }
    1911       990819 :                 _o2[1] =  build_one_cst (utype);
    1912       990819 :                 _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1913       990819 :                 _o1[0] = _r2;
    1914              :               }
    1915       990819 :               if (TREE_TYPE (_o1[0]) != type)
    1916              :                 {
    1917        20256 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1918              :                 }
    1919              :               else
    1920              :                 _r1 = _o1[0];
    1921       990819 :               res_op1 = _r1;
    1922              :             }
    1923       990819 :             tree _r;
    1924       990819 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    1925       990819 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 512, __FILE__, __LINE__, true);
    1926              :             return _r;
    1927              :           }
    1928      1598283 : next_after_fail624:;
    1929              :       }
    1930              :     }
    1931              :   return NULL_TREE;
    1932              : }
    1933              : 
    1934              : tree
    1935            0 : generic_simplify_367 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1936              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1937              :  const enum tree_code ARG_UNUSED (cmp),
    1938              :  const enum tree_code ARG_UNUSED (minmax))
    1939              : {
    1940            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1941            0 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1942            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1943              : )
    1944              :     {
    1945            0 :       {
    1946            0 :  tree_code code;
    1947            0 :  widest_int c1 = wi::mask<widest_int>(TYPE_PRECISION (type) - 1, 0);
    1948            0 :  tree_code ncmp = cmp == GE_EXPR ? LE_EXPR : GT_EXPR;
    1949            0 :  code = minmax_from_comparison (ncmp, captures[0], c1, wi::to_widest (captures[4]));
    1950            0 :           if (ncmp == LE_EXPR
    1951            0 :  && code == MIN_EXPR
    1952            0 :  && wi::le_p (wi::to_wide (captures[3]),
    1953            0 :  wi::to_wide (captures[4]),
    1954            0 :  TYPE_SIGN (type))
    1955              : )
    1956              :             {
    1957            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail649;
    1958            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail649;
    1959            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail649;
    1960            0 :               {
    1961            0 :                 tree res_op0;
    1962            0 :                 res_op0 = captures[2];
    1963            0 :                 tree res_op1;
    1964            0 :                 res_op1 = captures[4];
    1965            0 :                 tree _r;
    1966            0 :                 _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    1967            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1968            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1969            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 537, __FILE__, __LINE__, true);
    1970              :                 return _r;
    1971              :               }
    1972            0 : next_after_fail649:;
    1973              :             }
    1974              :           else
    1975              :             {
    1976            0 :               if (ncmp == GT_EXPR
    1977            0 :  && code == MAX_EXPR
    1978            0 :  && wi::ge_p (wi::to_wide (captures[3]),
    1979            0 :  wi::to_wide (captures[4]),
    1980            0 :  TYPE_SIGN (type))
    1981              : )
    1982              :                 {
    1983            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail650;
    1984            0 :                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail650;
    1985            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail650;
    1986            0 :                   {
    1987            0 :                     tree res_op0;
    1988            0 :                     res_op0 = captures[2];
    1989            0 :                     tree res_op1;
    1990            0 :                     res_op1 = captures[4];
    1991            0 :                     tree _r;
    1992            0 :                     _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
    1993            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1994            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1995            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 538, __FILE__, __LINE__, true);
    1996              :                     return _r;
    1997              :                   }
    1998            0 : next_after_fail650:;
    1999              :                 }
    2000              :             }
    2001            0 :       }
    2002              :     }
    2003              :   return NULL_TREE;
    2004              : }
    2005              : 
    2006              : tree
    2007          204 : generic_simplify_384 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2008              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2009              :  const enum tree_code ARG_UNUSED (op))
    2010              : {
    2011          204 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2012          204 :   if (bitwise_equal_p (captures[0], captures[3])
    2013          204 :  && expr_no_side_effects_p (captures[2])
    2014              : )
    2015              :     {
    2016            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail671;
    2017            1 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail671;
    2018            1 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail671;
    2019            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail671;
    2020            1 :       {
    2021            1 :         tree _r;
    2022            1 :         _r = captures[1];
    2023            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 559, __FILE__, __LINE__, true);
    2024              :         return _r;
    2025              :       }
    2026          204 : next_after_fail671:;
    2027              :     }
    2028              :   return NULL_TREE;
    2029              : }
    2030              : 
    2031              : tree
    2032            9 : generic_simplify_391 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2033              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2034              :  const combined_fn ARG_UNUSED (func))
    2035              : {
    2036            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2037            9 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail679;
    2038            9 :   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail679;
    2039            9 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail679;
    2040            9 :   {
    2041            9 :     tree _r;
    2042            9 :     _r = captures[2];
    2043            9 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2044            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2045            9 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 567, __FILE__, __LINE__, true);
    2046              :     return _r;
    2047              :   }
    2048            9 : next_after_fail679:;
    2049              :   return NULL_TREE;
    2050              : }
    2051              : 
    2052              : tree
    2053           27 : generic_simplify_399 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2054              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2055              :  const enum tree_code ARG_UNUSED (ltge),
    2056              :  const enum tree_code ARG_UNUSED (gelt))
    2057              : {
    2058           27 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2059           27 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail690;
    2060           27 :   {
    2061           27 :     tree res_op0;
    2062           27 :     res_op0 = captures[1];
    2063           27 :     tree res_op1;
    2064           27 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2065           27 :     tree _r;
    2066           27 :     _r = fold_build2_loc (loc, gelt, type, res_op0, res_op1);
    2067           27 :     if (TREE_SIDE_EFFECTS (captures[0]))
    2068            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2069           27 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 576, __FILE__, __LINE__, true);
    2070              :     return _r;
    2071              :   }
    2072            0 : next_after_fail690:;
    2073            0 :   return NULL_TREE;
    2074              : }
    2075              : 
    2076              : tree
    2077          433 : generic_simplify_405 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2078              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2079              :  const enum tree_code ARG_UNUSED (op))
    2080              : {
    2081          433 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2082          866 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2083          866 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    2084              : )
    2085              :     {
    2086            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail697;
    2087            0 :       {
    2088            0 :         tree res_op0;
    2089            0 :         res_op0 = captures[2];
    2090            0 :         tree res_op1;
    2091            0 :         res_op1 = captures[1];
    2092            0 :         tree _r;
    2093            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2094            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    2095            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2096            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 583, __FILE__, __LINE__, true);
    2097              :         return _r;
    2098              :       }
    2099            0 : next_after_fail697:;
    2100              :     }
    2101              :   return NULL_TREE;
    2102              : }
    2103              : 
    2104              : tree
    2105           64 : generic_simplify_410 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2106              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2107              :  const enum tree_code ARG_UNUSED (minmax),
    2108              :  const enum tree_code ARG_UNUSED (cmp),
    2109              :  const enum tree_code ARG_UNUSED (comb))
    2110              : {
    2111           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2112           64 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail703;
    2113           64 :   {
    2114           64 :     if (! tree_invariant_p (captures[2])) goto next_after_fail703;
    2115           64 :     tree res_op0;
    2116           64 :     {
    2117           64 :       tree _o1[2], _r1;
    2118           64 :       _o1[0] = captures[0];
    2119           64 :       _o1[1] = unshare_expr (captures[2]);
    2120           64 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
    2121           64 :       res_op0 = _r1;
    2122              :     }
    2123           64 :     tree res_op1;
    2124           64 :     {
    2125           64 :       tree _o1[2], _r1;
    2126           64 :       _o1[0] = captures[1];
    2127           64 :       _o1[1] = captures[2];
    2128           64 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
    2129           64 :       res_op1 = _r1;
    2130              :     }
    2131           64 :     tree _r;
    2132           64 :     _r = fold_build2_loc (loc, comb, type, res_op0, res_op1);
    2133           64 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 589, __FILE__, __LINE__, true);
    2134              :     return _r;
    2135              :   }
    2136           64 : next_after_fail703:;
    2137              :   return NULL_TREE;
    2138              : }
    2139              : 
    2140              : tree
    2141            2 : generic_simplify_422 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2142              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2143              :  const enum tree_code ARG_UNUSED (cmp))
    2144              : {
    2145            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2146            4 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2147            4 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2148              : )
    2149              :     {
    2150            2 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail747;
    2151            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail747;
    2152            2 :       {
    2153            2 :         tree res_op0;
    2154            2 :         res_op0 = captures[1];
    2155            2 :         tree res_op1;
    2156            2 :         res_op1 = captures[0];
    2157            2 :         tree _r;
    2158            2 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2159            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 616, __FILE__, __LINE__, true);
    2160              :         return _r;
    2161              :       }
    2162            2 : next_after_fail747:;
    2163              :     }
    2164              :   return NULL_TREE;
    2165              : }
    2166              : 
    2167              : tree
    2168      2502693 : generic_simplify_427 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2169              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2170              :  const enum tree_code ARG_UNUSED (op),
    2171              :  const enum tree_code ARG_UNUSED (rop),
    2172              :  const enum tree_code ARG_UNUSED (cmp),
    2173              :  const enum tree_code ARG_UNUSED (rcmp))
    2174              : {
    2175      2502693 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2176      5005372 :   if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
    2177      5005360 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    2178              : )
    2179              :     {
    2180       874743 :       {
    2181       874743 :  tree res = int_const_binop (rop, captures[3], captures[2]);
    2182       874743 :           if (TREE_OVERFLOW (res)
    2183              : )
    2184              :             {
    2185        13182 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail753;
    2186        13182 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail753;
    2187        13182 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail753;
    2188        13182 :               {
    2189        13182 :                 tree _r;
    2190        13182 :  bool less = cmp == LE_EXPR || cmp == LT_EXPR;
    2191        13182 :  bool ovf_high = wi::lt_p (wi::to_wide (captures[2]), 0,
    2192        13182 :  TYPE_SIGN (TREE_TYPE (captures[2])))
    2193        13182 :  != (op == MINUS_EXPR);         _r = 
    2194        13182 :  constant_boolean_node (less == ovf_high, type);
    2195        13182 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2196            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2197        13182 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 622, __FILE__, __LINE__, true);
    2198              :                 return _r;
    2199              :               }
    2200      2502693 : next_after_fail753:;
    2201              :             }
    2202              :           else
    2203              :             {
    2204       861561 :               if (single_use (captures[0])
    2205              : )
    2206              :                 {
    2207       861561 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail754;
    2208       861561 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail754;
    2209       861561 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail754;
    2210       861561 :                   {
    2211       861561 :                     tree res_op0;
    2212       861561 :                     res_op0 = captures[1];
    2213       861561 :                     tree res_op1;
    2214       861561 :                     res_op1 =  res;
    2215       861561 :                     tree _r;
    2216       861561 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2217       861561 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 623, __FILE__, __LINE__, true);
    2218              :                     return _r;
    2219              :                   }
    2220      2502693 : next_after_fail754:;
    2221              :                 }
    2222              :             }
    2223              :       }
    2224              :     }
    2225              :   else
    2226              :     {
    2227      1627950 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    2228              : )
    2229              :         {
    2230      1627825 :           {
    2231      1627825 :  wide_int max = wi::max_value (TREE_TYPE (captures[1]));
    2232      1627825 :  wide_int min = wi::min_value (TREE_TYPE (captures[1]));
    2233      1627825 :  wide_int c2 = rop == PLUS_EXPR
    2234      1627825 :  ? wi::add (wi::to_wide (captures[3]), wi::to_wide (captures[2]))
    2235      1627825 :  : wi::sub (wi::to_wide (captures[3]), wi::to_wide (captures[2]));
    2236      1556411 :               if (((cmp == LE_EXPR || cmp == GT_EXPR) && wi::eq_p (c2, max))
    2237      3168402 :  || ((cmp == LT_EXPR || cmp == GE_EXPR) && wi::eq_p (c2, min))
    2238              : )
    2239              :                 {
    2240        15992 :                   {
    2241        15992 :  wide_int c1 = rop == PLUS_EXPR
    2242        15992 :  ? wi::add (wi::bit_not (c2), wi::to_wide (captures[2]))
    2243        31984 :  : wi::sub (wi::bit_not (c2), wi::to_wide (captures[2]));
    2244        15992 :  tree c1_cst = wide_int_to_tree (TREE_TYPE (captures[1]), c1);
    2245        15992 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail755;
    2246        15992 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail755;
    2247        15992 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail755;
    2248        15992 :                       {
    2249        15992 :                         tree res_op0;
    2250        15992 :                         res_op0 = captures[1];
    2251        15992 :                         tree res_op1;
    2252        15992 :                         res_op1 =  c1_cst;
    2253        15992 :                         tree _r;
    2254        15992 :                         _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    2255        15992 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 624, __FILE__, __LINE__, true);
    2256        15992 :                         return _r;
    2257              :                       }
    2258            0 : next_after_fail755:;
    2259        15992 :                   }
    2260              :                 }
    2261      1627827 :           }
    2262              :         }
    2263              :     }
    2264              :   return NULL_TREE;
    2265              : }
    2266              : 
    2267              : tree
    2268      1691521 : generic_simplify_444 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2269              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2270              :  const enum tree_code ARG_UNUSED (shift))
    2271              : {
    2272      1691521 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2273      1691521 :   if ((
    2274              : 
    2275      1691521 :  || !sanitize_flags_p (SANITIZE_SHIFT_EXPONENT))
    2276      1689571 :  && (TYPE_UNSIGNED (type)
    2277       411081 :  || shift == LSHIFT_EXPR
    2278       212129 :  || tree_expr_nonnegative_p (captures[0]))
    2279      3177411 :  && wi::ges_p (wi::to_wide (uniform_integer_cst_p (captures[1])),
    2280      3176189 :  element_precision (type))
    2281              : )
    2282              :     {
    2283         1222 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail780;
    2284         1222 :       {
    2285         1222 :         tree _r;
    2286         1222 :         _r =  build_zero_cst (type);
    2287         1222 :         if (TREE_SIDE_EFFECTS (captures[0]))
    2288            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2289         1222 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2290            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2291         1222 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 645, __FILE__, __LINE__, true);
    2292              :         return _r;
    2293              :       }
    2294            0 : next_after_fail780:;
    2295              :     }
    2296              :   return NULL_TREE;
    2297              : }
    2298              : 
    2299              : tree
    2300           90 : generic_simplify_450 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2301              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2302              :  const enum tree_code ARG_UNUSED (op))
    2303              : {
    2304           90 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2305           90 :   {
    2306           90 :  unsigned int prec = element_precision (type);
    2307           90 :       if (wi::ge_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    2308           90 :  && wi::lt_p (wi::to_wide (captures[1]), prec, TYPE_SIGN (TREE_TYPE (captures[1])))
    2309           90 :  && wi::ge_p (wi::to_wide (captures[2]), 0, TYPE_SIGN (TREE_TYPE (captures[2])))
    2310          180 :  && wi::lt_p (wi::to_wide (captures[2]), prec, TYPE_SIGN (TREE_TYPE (captures[2])))
    2311              : )
    2312              :         {
    2313           90 :           {
    2314           90 :  unsigned int low = (tree_to_uhwi (captures[1])
    2315           90 :  + tree_to_uhwi (captures[2]));
    2316           90 :               if (low >= prec
    2317              : )
    2318              :                 {
    2319           25 :                   if (op == LROTATE_EXPR || op == RROTATE_EXPR
    2320              : )
    2321              :                     {
    2322            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail786;
    2323            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail786;
    2324            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail786;
    2325            0 :                       {
    2326            0 :                         tree res_op0;
    2327            0 :                         res_op0 = captures[0];
    2328            0 :                         tree res_op1;
    2329            0 :                         res_op1 =  build_int_cst (TREE_TYPE (captures[1]), low % prec);
    2330            0 :                         tree _r;
    2331            0 :                         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2332            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 650, __FILE__, __LINE__, true);
    2333           90 :                         return _r;
    2334              :                       }
    2335            0 : next_after_fail786:;
    2336              :                     }
    2337              :                   else
    2338              :                     {
    2339           25 :                       if (TYPE_UNSIGNED (type) || op == LSHIFT_EXPR
    2340              : )
    2341              :                         {
    2342           24 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail787;
    2343           24 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail787;
    2344           24 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail787;
    2345           24 :                           {
    2346           24 :                             tree _r;
    2347           24 :                             _r =  build_zero_cst (type);
    2348           24 :                             if (TREE_SIDE_EFFECTS (captures[0]))
    2349           14 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2350           24 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 651, __FILE__, __LINE__, true);
    2351              :                             return _r;
    2352              :                           }
    2353            0 : next_after_fail787:;
    2354              :                         }
    2355              :                       else
    2356              :                         {
    2357            1 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail788;
    2358            1 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail788;
    2359            1 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail788;
    2360            1 :                           {
    2361            1 :                             tree res_op0;
    2362            1 :                             res_op0 = captures[0];
    2363            1 :                             tree res_op1;
    2364            1 :                             res_op1 =  build_int_cst (TREE_TYPE (captures[1]), prec - 1);
    2365            1 :                             tree _r;
    2366            1 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2367            1 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 652, __FILE__, __LINE__, true);
    2368              :                             return _r;
    2369              :                           }
    2370            0 : next_after_fail788:;
    2371              :                         }
    2372              :                     }
    2373              :                 }
    2374              :               else
    2375              :                 {
    2376           65 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail789;
    2377           65 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail789;
    2378           65 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail789;
    2379           65 :                   {
    2380           65 :                     tree res_op0;
    2381           65 :                     res_op0 = captures[0];
    2382           65 :                     tree res_op1;
    2383           65 :                     res_op1 =  build_int_cst (TREE_TYPE (captures[1]), low);
    2384           65 :                     tree _r;
    2385           65 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2386           65 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 653, __FILE__, __LINE__, true);
    2387              :                     return _r;
    2388              :                   }
    2389            0 : next_after_fail789:;
    2390              :                 }
    2391              :           }
    2392              :         }
    2393              :   }
    2394            0 :   return NULL_TREE;
    2395              : }
    2396              : 
    2397              : tree
    2398      5016824 : generic_simplify_465 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2399              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2400              : {
    2401      5016824 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2402      5016824 :   if (INTEGRAL_TYPE_P (type)
    2403      2794221 :  && TYPE_PRECISION (type) == 1
    2404      5030637 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    2405              : )
    2406              :     {
    2407        13813 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail823;
    2408        13813 :       {
    2409        13813 :         tree res_op0;
    2410        13813 :         res_op0 = captures[0];
    2411        13813 :         tree _r;
    2412        13813 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2413        13813 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 674, __FILE__, __LINE__, true);
    2414              :         return _r;
    2415              :       }
    2416            0 : next_after_fail823:;
    2417              :     }
    2418              :   return NULL_TREE;
    2419              : }
    2420              : 
    2421              : tree
    2422            0 : generic_simplify_468 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2423              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2424              :  const combined_fn ARG_UNUSED (coshs),
    2425              :  const combined_fn ARG_UNUSED (atanhs),
    2426              :  const combined_fn ARG_UNUSED (sqrts))
    2427              : {
    2428            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2429            0 :   if (!flag_errno_math
    2430              : )
    2431              :     {
    2432            0 :       {
    2433            0 :  tree t_one = build_one_cst (type);
    2434            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail826;
    2435            0 :           {
    2436            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail826;
    2437            0 :             tree res_op0;
    2438            0 :             res_op0 =  t_one;
    2439            0 :             tree res_op1;
    2440            0 :             {
    2441            0 :               tree _o1[1], _r1;
    2442            0 :               {
    2443            0 :                 tree _o2[2], _r2;
    2444            0 :                 {
    2445            0 :                   tree _o3[2], _r3;
    2446            0 :                   _o3[0] =  t_one;
    2447            0 :                   _o3[1] = unshare_expr (captures[1]);
    2448            0 :                   _r3 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2449            0 :                   _o2[0] = _r3;
    2450              :                 }
    2451            0 :                 {
    2452            0 :                   tree _o3[2], _r3;
    2453            0 :                   _o3[0] =  t_one;
    2454            0 :                   _o3[1] = captures[1];
    2455            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2456            0 :                   _o2[1] = _r3;
    2457              :                 }
    2458            0 :                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2459            0 :                 _o1[0] = _r2;
    2460              :               }
    2461            0 :               _r1 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2462            0 :               if (!_r1)
    2463            0 :                 goto next_after_fail826;
    2464            0 :               res_op1 = _r1;
    2465              :             }
    2466            0 :             tree _r;
    2467            0 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    2468            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 677, __FILE__, __LINE__, true);
    2469              :             return _r;
    2470              :           }
    2471            0 : next_after_fail826:;
    2472              :       }
    2473              :     }
    2474              :   return NULL_TREE;
    2475              : }
    2476              : 
    2477              : tree
    2478            0 : generic_simplify_472 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2479              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2480              :  const combined_fn ARG_UNUSED (POW))
    2481              : {
    2482            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2483            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail830;
    2484            0 :   {
    2485            0 :     tree _r;
    2486            0 :     _r = captures[0];
    2487            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2488            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2489            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 681, __FILE__, __LINE__, true);
    2490              :     return _r;
    2491              :   }
    2492            0 : next_after_fail830:;
    2493            0 :   return NULL_TREE;
    2494              : }
    2495              : 
    2496              : tree
    2497            0 : generic_simplify_475 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2498              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2499              :  const combined_fn ARG_UNUSED (copysigns),
    2500              :  const combined_fn ARG_UNUSED (hypots))
    2501              : {
    2502            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2503            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail833;
    2504            0 :   {
    2505            0 :     tree res_op0;
    2506            0 :     res_op0 = captures[0];
    2507            0 :     tree res_op1;
    2508            0 :     res_op1 = captures[1];
    2509            0 :     tree _r;
    2510            0 :     _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    2511            0 :     if (!_r)
    2512            0 :       goto next_after_fail833;
    2513            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
    2514            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2515            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 684, __FILE__, __LINE__, true);
    2516              :     return _r;
    2517              :   }
    2518            0 : next_after_fail833:;
    2519              :   return NULL_TREE;
    2520              : }
    2521              : 
    2522              : tree
    2523            0 : generic_simplify_481 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2524              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2525              : {
    2526            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2527            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail839;
    2528            0 :   {
    2529            0 :     tree res_op0;
    2530            0 :     res_op0 = captures[0];
    2531            0 :     tree res_op1;
    2532            0 :     res_op1 = captures[1];
    2533            0 :     tree _r;
    2534            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2535            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 690, __FILE__, __LINE__, true);
    2536              :     return _r;
    2537              :   }
    2538            0 : next_after_fail839:;
    2539            0 :   return NULL_TREE;
    2540              : }
    2541              : 
    2542              : tree
    2543            0 : generic_simplify_485 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2544              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2545              : {
    2546            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2547            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail843;
    2548            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail843;
    2549            0 :   {
    2550            0 :     tree res_op0;
    2551            0 :     res_op0 = captures[0];
    2552            0 :     tree res_op1;
    2553            0 :     {
    2554            0 :       tree _o1[1], _r1;
    2555            0 :       _o1[0] = captures[5];
    2556            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2557            0 :       res_op1 = _r1;
    2558              :     }
    2559            0 :     tree _r;
    2560            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2561            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 693, __FILE__, __LINE__, true);
    2562              :     return _r;
    2563              :   }
    2564            0 : next_after_fail843:;
    2565              :   return NULL_TREE;
    2566              : }
    2567              : 
    2568              : tree
    2569          104 : generic_simplify_492 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2570              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2571              : {
    2572          104 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2573          104 :   {
    2574          104 :  bool wascmp;
    2575          104 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
    2576          104 :  && (!wascmp || element_precision (type) == 1)
    2577              : )
    2578              :         {
    2579            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail850;
    2580            0 :           {
    2581            0 :             tree res_op0;
    2582            0 :             res_op0 = captures[0];
    2583            0 :             tree res_op1;
    2584            0 :             res_op1 = captures[1];
    2585            0 :             tree _r;
    2586            0 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2587            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2588            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2589            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 700, __FILE__, __LINE__, true);
    2590            0 :             return _r;
    2591              :           }
    2592            0 : next_after_fail850:;
    2593              :         }
    2594              :   }
    2595          104 :   return NULL_TREE;
    2596              : }
    2597              : 
    2598              : tree
    2599            0 : generic_simplify_497 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2600              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2601              :  const enum tree_code ARG_UNUSED (cmp))
    2602              : {
    2603            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2604            0 :   if (fold_before_rtl_expansion_p ()
    2605              : )
    2606              :     {
    2607            0 :       if (INTEGRAL_TYPE_P (type)
    2608            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2609              : )
    2610              :         {
    2611            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail855;
    2612            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail855;
    2613            0 :           {
    2614            0 :             tree res_op0;
    2615            0 :             res_op0 = captures[0];
    2616            0 :             tree res_op1;
    2617            0 :             res_op1 = captures[3];
    2618            0 :             tree res_op2;
    2619            0 :             res_op2 =  build_zero_cst (type);
    2620            0 :             tree _r;
    2621            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2622            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 704, __FILE__, __LINE__, true);
    2623              :             return _r;
    2624              :           }
    2625            0 : next_after_fail855:;
    2626              :         }
    2627              :     }
    2628              :   return NULL_TREE;
    2629              : }
    2630              : 
    2631              : tree
    2632            0 : generic_simplify_507 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2633              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2634              : {
    2635            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2636            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail887;
    2637            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail887;
    2638            0 :   {
    2639            0 :     tree _r;
    2640            0 :     _r = captures[2];
    2641            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2642            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2643            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 725, __FILE__, __LINE__, true);
    2644              :     return _r;
    2645              :   }
    2646            0 : next_after_fail887:;
    2647              :   return NULL_TREE;
    2648              : }
    2649              : 
    2650              : tree
    2651            4 : generic_simplify_512 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2652              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2653              : {
    2654            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2655            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail904;
    2656            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail904;
    2657            4 :   {
    2658            4 :     tree _r;
    2659            4 :     _r = captures[2];
    2660            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2661            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2662            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 725, __FILE__, __LINE__, true);
    2663              :     return _r;
    2664              :   }
    2665            4 : next_after_fail904:;
    2666              :   return NULL_TREE;
    2667              : }
    2668              : 
    2669              : tree
    2670        67135 : generic_simplify_516 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2671              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2672              :  const enum tree_code ARG_UNUSED (shift))
    2673              : {
    2674        67135 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2675        67135 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2676        67135 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2677        67019 :  && tree_fits_uhwi_p (captures[4])
    2678        66970 :  && tree_to_uhwi (captures[4]) > 0
    2679       134104 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2680              : )
    2681              :     {
    2682        66969 :       {
    2683        66969 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2684        66969 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2685        66969 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2686        66969 :  tree shift_type = TREE_TYPE (captures[2]);
    2687        66969 :  unsigned int prec;
    2688        66969 :  if (shift == LSHIFT_EXPR)
    2689        28782 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2690        38187 :  else if (shift == RSHIFT_EXPR
    2691        38187 :  && type_has_mode_precision_p (shift_type))
    2692              :  {
    2693        38187 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2694        38187 :  tree arg00 = captures[3];
    2695        38187 :  if (captures[2] != captures[3]
    2696        38187 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2697              :  {
    2698            0 :  tree inner_type = TREE_TYPE (captures[3]);
    2699            0 :  if (type_has_mode_precision_p (inner_type)
    2700            0 :  && TYPE_PRECISION (inner_type) < prec)
    2701              :  {
    2702            0 :  prec = TYPE_PRECISION (inner_type);
    2703            0 :  if (shiftc < prec)
    2704            0 :  shift_type = inner_type;
    2705              :  }
    2706              :  }
    2707        38187 :  zerobits = HOST_WIDE_INT_M1U;
    2708        38187 :  if (shiftc < prec)
    2709              :  {
    2710        38187 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2711        38187 :  zerobits <<= prec - shiftc;
    2712              :  }
    2713        38187 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2714        38187 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2715              :  {
    2716         2897 :  if ((mask & zerobits) == 0)
    2717         2886 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2718              :  else
    2719              :  zerobits = 0;
    2720              :  }
    2721              :  }
    2722        66958 :           if ((mask & zerobits) == mask
    2723              : )
    2724              :             {
    2725            3 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail910;
    2726            3 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail910;
    2727            3 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail910;
    2728            3 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail910;
    2729            3 :               {
    2730            3 :                 tree _r;
    2731            3 :                 _r =  build_int_cst (type, 0);
    2732            3 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 728, __FILE__, __LINE__, true);
    2733        67135 :                 return _r;
    2734              :               }
    2735        67135 : next_after_fail910:;
    2736              :             }
    2737              :           else
    2738              :             {
    2739        66966 :               {
    2740        66966 :  newmask = mask | zerobits;
    2741        66966 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2742              : )
    2743              :                     {
    2744              :                       {
    2745        18851 :  for (prec = BITS_PER_UNIT;
    2746        34821 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2747        32574 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2748              :  break;
    2749        15970 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2750         2247 :  || newmask == HOST_WIDE_INT_M1U
    2751              : )
    2752              :                             {
    2753        13904 :                               {
    2754        13904 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2755        13904 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2756              : )
    2757              :                                     {
    2758        13904 :                                       if (shift_type != TREE_TYPE (captures[2])
    2759              : )
    2760              :                                         {
    2761           86 :                                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail911;
    2762           86 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail911;
    2763           86 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail911;
    2764           86 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail911;
    2765           86 :                                           {
    2766           86 :                                             tree res_op0;
    2767           86 :                                             {
    2768           86 :                                               tree _o1[1], _r1;
    2769           86 :                                               {
    2770           86 :                                                 tree _o2[2], _r2;
    2771           86 :                                                 {
    2772           86 :                                                   tree _o3[1], _r3;
    2773           86 :                                                   _o3[0] = captures[2];
    2774           86 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2775              :                                                     {
    2776           86 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2777              :                                                     }
    2778              :                                                   else
    2779              :                                                     _r3 = _o3[0];
    2780           86 :                                                   _o2[0] = _r3;
    2781              :                                                 }
    2782           86 :                                                 _o2[1] = captures[4];
    2783           86 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2784           86 :                                                 _o1[0] = _r2;
    2785              :                                               }
    2786           86 :                                               if (TREE_TYPE (_o1[0]) != type)
    2787              :                                                 {
    2788           86 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2789              :                                                 }
    2790              :                                               else
    2791              :                                                 _r1 = _o1[0];
    2792           86 :                                               res_op0 = _r1;
    2793              :                                             }
    2794           86 :                                             tree res_op1;
    2795           86 :                                             res_op1 =  newmaskt;
    2796           86 :                                             tree _r;
    2797           86 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2798           86 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 729, __FILE__, __LINE__, true);
    2799              :                                             return _r;
    2800              :                                           }
    2801        67135 : next_after_fail911:;
    2802              :                                         }
    2803              :                                       else
    2804              :                                         {
    2805        13818 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail912;
    2806        12682 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail912;
    2807        12682 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail912;
    2808        12682 :                                           {
    2809        12682 :                                             tree res_op0;
    2810        12682 :                                             res_op0 = captures[0];
    2811        12682 :                                             tree res_op1;
    2812        12682 :                                             res_op1 =  newmaskt;
    2813        12682 :                                             tree _r;
    2814        12682 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2815        12682 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 730, __FILE__, __LINE__, true);
    2816              :                                             return _r;
    2817              :                                           }
    2818        67135 : next_after_fail912:;
    2819              :                                         }
    2820              :                                     }
    2821              :                               }
    2822              :                             }
    2823              :                       }
    2824              :                     }
    2825              :               }
    2826              :             }
    2827              :       }
    2828              :     }
    2829              :   return NULL_TREE;
    2830              : }
    2831              : 
    2832              : tree
    2833          150 : generic_simplify_525 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2834              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2835              :  const enum tree_code ARG_UNUSED (iop),
    2836              :  const enum tree_code ARG_UNUSED (res))
    2837              : {
    2838          150 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2839          150 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail927;
    2840          150 :   {
    2841          150 :     tree res_op0;
    2842          150 :     res_op0 = captures[1];
    2843          150 :     tree res_op1;
    2844          150 :     {
    2845          150 :       tree _o1[1], _r1;
    2846          150 :       _o1[0] = captures[2];
    2847          150 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2848          150 :       res_op1 = _r1;
    2849              :     }
    2850          150 :     tree _r;
    2851          150 :     _r = fold_build2_loc (loc, res, type, res_op0, res_op1);
    2852          150 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 739, __FILE__, __LINE__, true);
    2853              :     return _r;
    2854              :   }
    2855            0 : next_after_fail927:;
    2856            0 :   return NULL_TREE;
    2857              : }
    2858              : 
    2859              : tree
    2860          145 : generic_simplify_530 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2861              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2862              : {
    2863          145 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2864          145 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
    2865          145 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2866              : )
    2867              :     {
    2868          145 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail932;
    2869          145 :       {
    2870          145 :         tree res_op0;
    2871          145 :         {
    2872          145 :           tree _o1[2], _r1;
    2873          145 :           _o1[0] = captures[0];
    2874          145 :           _o1[1] =  build_each_one_cst (TREE_TYPE (captures[0]));
    2875          145 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2876          145 :           res_op0 = _r1;
    2877              :         }
    2878          145 :         tree _r;
    2879          145 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2880          145 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 744, __FILE__, __LINE__, true);
    2881              :         return _r;
    2882              :       }
    2883            0 : next_after_fail932:;
    2884              :     }
    2885              :   return NULL_TREE;
    2886              : }
    2887              : 
    2888              : tree
    2889          254 : generic_simplify_537 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2890              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2891              :  const enum tree_code ARG_UNUSED (cmp),
    2892              :  const enum tree_code ARG_UNUSED (icmp),
    2893              :  const enum tree_code ARG_UNUSED (ncmp))
    2894              : {
    2895          254 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2896          254 :   if (VECTOR_TYPE_P (type)
    2897          254 :  || (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1)
    2898              : )
    2899              :     {
    2900           51 :       {
    2901           51 :  enum tree_code ic = invert_tree_comparison
    2902           51 :  (cmp, HONOR_NANS (captures[0]));
    2903           51 :           if (ic == icmp
    2904              : )
    2905              :             {
    2906           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail939;
    2907           12 :               {
    2908           12 :                 tree res_op0;
    2909           12 :                 res_op0 = captures[0];
    2910           12 :                 tree res_op1;
    2911           12 :                 res_op1 = captures[1];
    2912           12 :                 tree _r;
    2913           12 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    2914           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 749, __FILE__, __LINE__, true);
    2915              :                 return _r;
    2916              :               }
    2917            0 : next_after_fail939:;
    2918              :             }
    2919              :           else
    2920              :             {
    2921           39 :               if (ic == ncmp
    2922              : )
    2923              :                 {
    2924            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail940;
    2925            0 :                   {
    2926            0 :                     tree res_op0;
    2927            0 :                     res_op0 = captures[0];
    2928            0 :                     tree res_op1;
    2929            0 :                     res_op1 = captures[1];
    2930            0 :                     tree _r;
    2931            0 :                     _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    2932            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 750, __FILE__, __LINE__, true);
    2933              :                     return _r;
    2934              :                   }
    2935            0 : next_after_fail940:;
    2936              :                 }
    2937              :             }
    2938              :       }
    2939              :     }
    2940              :   return NULL_TREE;
    2941              : }
    2942              : 
    2943              : tree
    2944            1 : generic_simplify_551 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2945              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2946              :  const enum tree_code ARG_UNUSED (minmax))
    2947              : {
    2948            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2949            1 :   if (INTEGRAL_TYPE_P (type)
    2950            1 :  && TYPE_OVERFLOW_UNDEFINED (type)
    2951            2 :  && !TYPE_OVERFLOW_SANITIZED (type)
    2952              : )
    2953              :     {
    2954            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail955;
    2955            1 :       {
    2956            1 :         tree res_op0;
    2957            1 :         {
    2958            1 :           tree _o1[2], _r1;
    2959            1 :           _o1[0] = captures[1];
    2960            1 :           _o1[1] = captures[4];
    2961            1 :           _r1 = fold_build2_loc (loc, minmax, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2962            1 :           res_op0 = _r1;
    2963              :         }
    2964            1 :         tree res_op1;
    2965            1 :         res_op1 = captures[2];
    2966            1 :         tree _r;
    2967            1 :         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    2968            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 764, __FILE__, __LINE__, true);
    2969              :         return _r;
    2970              :       }
    2971            0 : next_after_fail955:;
    2972              :     }
    2973              :   return NULL_TREE;
    2974              : }
    2975              : 
    2976              : tree
    2977           20 : generic_simplify_560 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2978              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2979              :  const enum tree_code ARG_UNUSED (minmax),
    2980              :  const enum tree_code ARG_UNUSED (cmp))
    2981              : {
    2982           20 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2983           20 :   {
    2984           20 :  poly_int64 off0, off1;
    2985           20 :  tree base0, base1;
    2986           20 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2987              :  off0, off1,
    2988              : 1
    2989              : );
    2990           20 :       if (equal == 1
    2991              : )
    2992              :         {
    2993            0 :           if (minmax == MIN_EXPR
    2994              : )
    2995              :             {
    2996            0 :               if (known_le (off0, off1)
    2997              : )
    2998              :                 {
    2999            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail975;
    3000            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail975;
    3001            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail975;
    3002            0 :                   {
    3003            0 :                     tree _r;
    3004            0 :                     _r = captures[0];
    3005            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 772, __FILE__, __LINE__, true);
    3006            0 :                     return _r;
    3007              :                   }
    3008           20 : next_after_fail975:;
    3009              :                 }
    3010              :               else
    3011              :                 {
    3012            0 :                   if (known_gt (off0, off1)
    3013              : )
    3014              :                     {
    3015            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail976;
    3016            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail976;
    3017            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail976;
    3018            0 :                       {
    3019            0 :                         tree _r;
    3020            0 :                         _r = captures[2];
    3021            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 773, __FILE__, __LINE__, true);
    3022              :                         return _r;
    3023              :                       }
    3024           20 : next_after_fail976:;
    3025              :                     }
    3026              :                 }
    3027              :             }
    3028              :           else
    3029              :             {
    3030            0 :               if (known_ge (off0, off1)
    3031              : )
    3032              :                 {
    3033            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail977;
    3034            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail977;
    3035            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail977;
    3036            0 :                   {
    3037            0 :                     tree _r;
    3038            0 :                     _r = captures[0];
    3039            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 774, __FILE__, __LINE__, true);
    3040              :                     return _r;
    3041              :                   }
    3042           20 : next_after_fail977:;
    3043              :                 }
    3044              :               else
    3045              :                 {
    3046            0 :                   if (known_lt (off0, off1)
    3047              : )
    3048              :                     {
    3049            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail978;
    3050            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail978;
    3051            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail978;
    3052            0 :                       {
    3053            0 :                         tree _r;
    3054            0 :                         _r = captures[2];
    3055            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 775, __FILE__, __LINE__, true);
    3056              :                         return _r;
    3057              :                       }
    3058           20 : next_after_fail978:;
    3059              :                     }
    3060              :                 }
    3061              :             }
    3062              :         }
    3063              :   }
    3064           20 :   return NULL_TREE;
    3065              : }
    3066              : 
    3067              : tree
    3068            0 : generic_simplify_582 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3069              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3070              :  const combined_fn ARG_UNUSED (cond_op))
    3071              : {
    3072            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3073            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1000;
    3074            0 :   {
    3075            0 :     tree res_op0;
    3076            0 :     {
    3077            0 :       tree _o1[2], _r1;
    3078            0 :       _o1[0] = captures[2];
    3079            0 :       _o1[1] = captures[0];
    3080            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3081            0 :       res_op0 = _r1;
    3082              :     }
    3083            0 :     tree res_op1;
    3084            0 :     res_op1 = captures[3];
    3085            0 :     tree res_op2;
    3086            0 :     res_op2 = captures[4];
    3087            0 :     tree res_op3;
    3088            0 :     res_op3 = captures[5];
    3089            0 :     tree _r;
    3090            0 :     _r = maybe_build_call_expr_loc (loc, cond_op, type, 4, res_op0, res_op1, res_op2, res_op3);
    3091            0 :     if (!_r)
    3092            0 :       goto next_after_fail1000;
    3093            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 793, __FILE__, __LINE__, true);
    3094              :     return _r;
    3095              :   }
    3096            0 : next_after_fail1000:;
    3097              :   return NULL_TREE;
    3098              : }
    3099              : 
    3100              : tree
    3101            1 : generic_simplify_587 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3102              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    3103              : {
    3104            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3105            1 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), type)
    3106              : )
    3107              :     {
    3108            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1008;
    3109            1 :       {
    3110            1 :         tree res_op0;
    3111            1 :         {
    3112            1 :           tree _o1[1], _r1;
    3113            1 :           _o1[0] = captures[0];
    3114            1 :           if (TREE_TYPE (_o1[0]) != type)
    3115              :             {
    3116            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3117              :             }
    3118              :           else
    3119              :             _r1 = _o1[0];
    3120            1 :           res_op0 = _r1;
    3121              :         }
    3122            1 :         tree _r;
    3123            1 :         _r = non_lvalue_loc (loc, res_op0);
    3124            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 801, __FILE__, __LINE__, true);
    3125              :         return _r;
    3126              :       }
    3127            0 : next_after_fail1008:;
    3128              :     }
    3129              :   return NULL_TREE;
    3130              : }
    3131              : 
    3132              : tree
    3133            0 : generic_simplify_597 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3134              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3135              :  const combined_fn ARG_UNUSED (logs))
    3136              : {
    3137            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3138            0 :   if (flag_unsafe_math_optimizations
    3139              : )
    3140              :     {
    3141            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3142            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    3143            0 :  && ! flag_trapping_math
    3144            0 :  && ! flag_errno_math
    3145              : )
    3146              :         {
    3147            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1018;
    3148            0 :           {
    3149            0 :             tree res_op0;
    3150            0 :             {
    3151            0 :               tree _o1[1], _r1;
    3152            0 :               _o1[0] = captures[1];
    3153            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3154            0 :               if (!_r1)
    3155            0 :                 goto next_after_fail1018;
    3156            0 :               if (EXPR_P (_r1))
    3157            0 :                 goto next_after_fail1018;
    3158            0 :               res_op0 = _r1;
    3159              :             }
    3160            0 :             tree res_op1;
    3161            0 :             {
    3162            0 :               tree _o1[1], _r1;
    3163            0 :               _o1[0] = captures[2];
    3164            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3165            0 :               if (!_r1)
    3166            0 :                 goto next_after_fail1018;
    3167            0 :               res_op1 = _r1;
    3168              :             }
    3169            0 :             tree _r;
    3170            0 :             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3171            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 811, __FILE__, __LINE__, true);
    3172              :             return _r;
    3173              :           }
    3174            0 : next_after_fail1018:;
    3175              :         }
    3176              :     }
    3177              :   return NULL_TREE;
    3178              : }
    3179              : 
    3180              : tree
    3181            0 : generic_simplify_610 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3182              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3183              :  const combined_fn ARG_UNUSED (froms),
    3184              :  const combined_fn ARG_UNUSED (tos))
    3185              : {
    3186            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3187            0 :   if (optimize && canonicalize_math_p ()
    3188              : )
    3189              :     {
    3190            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1031;
    3191            0 :       {
    3192            0 :         tree res_op0;
    3193            0 :         res_op0 = captures[0];
    3194            0 :         tree _r;
    3195            0 :         _r = maybe_build_call_expr_loc (loc, tos, type, 1, res_op0);
    3196            0 :         if (!_r)
    3197            0 :           goto next_after_fail1031;
    3198            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 824, __FILE__, __LINE__, true);
    3199              :         return _r;
    3200              :       }
    3201            0 : next_after_fail1031:;
    3202              :     }
    3203              :   return NULL_TREE;
    3204              : }
    3205              : 
    3206              : tree
    3207            0 : generic_simplify_618 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3208              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3209              :  const combined_fn ARG_UNUSED (fmas))
    3210              : {
    3211            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3212            0 :   if (canonicalize_math_after_vectorization_p ()
    3213              : )
    3214              :     {
    3215              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1039;
    3216              :       {
    3217              :         tree res_op0;
    3218              :         res_op0 = captures[0];
    3219              :         tree res_op1;
    3220              :         res_op1 = captures[1];
    3221              :         tree res_op2;
    3222              :         res_op2 = captures[2];
    3223              :         tree _r;
    3224              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3225              :         if (!_r)
    3226              :           goto next_after_fail1039;
    3227              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 832, __FILE__, __LINE__, true);
    3228              :         return _r;
    3229              :       }
    3230            0 : next_after_fail1039:;
    3231              :     }
    3232            0 :   return NULL_TREE;
    3233              : }
    3234              : 
    3235              : tree
    3236            0 : generic_simplify_628 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3237              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures),
    3238              :  const combined_fn ARG_UNUSED (fmas))
    3239              : {
    3240            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3241            0 :   if (canonicalize_math_after_vectorization_p ()
    3242              : )
    3243              :     {
    3244              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1049;
    3245              :       {
    3246              :         tree res_op0;
    3247              :         res_op0 = captures[0];
    3248              :         tree res_op1;
    3249              :         res_op1 = captures[1];
    3250              :         tree res_op2;
    3251              :         res_op2 = captures[2];
    3252              :         tree res_op3;
    3253              :         res_op3 = captures[3];
    3254              :         tree res_op4;
    3255              :         res_op4 = captures[4];
    3256              :         tree _r;
    3257              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3258              :         if (!_r)
    3259              :           goto next_after_fail1049;
    3260              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 842, __FILE__, __LINE__, true);
    3261              :         return _r;
    3262              :       }
    3263            0 : next_after_fail1049:;
    3264              :     }
    3265            0 :   return NULL_TREE;
    3266              : }
    3267              : 
    3268              : tree
    3269            0 : generic_simplify_637 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3270              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3271              :  const combined_fn ARG_UNUSED (ctz))
    3272              : {
    3273            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3274            0 :   {
    3275            0 :  tree t = TREE_TYPE (captures[0]);
    3276            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1058;
    3277            0 :       {
    3278            0 :         tree res_op0;
    3279            0 :         {
    3280            0 :           tree _o1[1], _r1;
    3281            0 :           _o1[0] = captures[1];
    3282            0 :           if (TREE_TYPE (_o1[0]) != t)
    3283              :             {
    3284            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3285              :             }
    3286              :           else
    3287              :             _r1 = _o1[0];
    3288            0 :           res_op0 = _r1;
    3289              :         }
    3290            0 :         tree _r;
    3291            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3292            0 :         if (!_r)
    3293            0 :           goto next_after_fail1058;
    3294            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 850, __FILE__, __LINE__, true);
    3295              :         return _r;
    3296              :       }
    3297            0 : next_after_fail1058:;
    3298              :   }
    3299              :   return NULL_TREE;
    3300              : }
    3301              : 
    3302              : tree
    3303            0 : generic_simplify_647 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3304              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3305              :  const combined_fn ARG_UNUSED (bswap),
    3306              :  const combined_fn ARG_UNUSED (parity))
    3307              : {
    3308            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3309            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3310            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3311            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3312            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3313              : )
    3314              :     {
    3315            0 :       {
    3316            0 :  tree type0 = TREE_TYPE (captures[0]);
    3317            0 :  tree type1 = TREE_TYPE (captures[1]);
    3318            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1070;
    3319            0 :           {
    3320            0 :             tree res_op0;
    3321            0 :             {
    3322            0 :               tree _o1[1], _r1;
    3323            0 :               {
    3324            0 :                 tree _o2[1], _r2;
    3325            0 :                 _o2[0] = captures[2];
    3326            0 :                 if (TREE_TYPE (_o2[0]) != type1)
    3327              :                   {
    3328            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3329              :                   }
    3330              :                 else
    3331              :                   _r2 = _o2[0];
    3332            0 :                 _o1[0] = _r2;
    3333              :               }
    3334            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3335              :                 {
    3336            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3337              :                 }
    3338              :               else
    3339              :                 _r1 = _o1[0];
    3340            0 :               res_op0 = _r1;
    3341              :             }
    3342            0 :             tree _r;
    3343            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3344            0 :             if (!_r)
    3345            0 :               goto next_after_fail1070;
    3346            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 858, __FILE__, __LINE__, true);
    3347              :             return _r;
    3348              :           }
    3349            0 : next_after_fail1070:;
    3350              :       }
    3351              :     }
    3352              :   return NULL_TREE;
    3353              : }
    3354              : 
    3355              : tree
    3356    900923812 : generic_simplify_CONVERT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3357              : {
    3358    900923812 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3359    900923812 :   switch (TREE_CODE (_p0))
    3360              :     {
    3361       781825 :     case NEGATE_EXPR:
    3362       781825 :       {
    3363       781825 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3364       781825 :         switch (TREE_CODE (_q20))
    3365              :           {
    3366       454963 :           CASE_CONVERT:
    3367       454963 :             {
    3368       454963 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3369       454963 :               {
    3370       454963 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3371       909926 :                 if (INTEGRAL_TYPE_P (type)
    3372       454662 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    3373       450683 :  && (TYPE_PRECISION (type) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    3374       449424 :  || TYPE_OVERFLOW_WRAPS (type)
    3375       887644 :  || expr_not_equal_to (captures[1], wi::min_value (signed_type_for (type)),
    3376              :  gimple_match_ctx (captures[0])))
    3377       472965 :  && TREE_CODE (type) != BOOLEAN_TYPE
    3378              : )
    3379              :                   {
    3380        18002 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1084;
    3381        18002 :                     {
    3382        18002 :                       tree res_op0;
    3383        18002 :                       {
    3384        18002 :                         tree _o1[1], _r1;
    3385        18002 :                         _o1[0] = captures[2];
    3386        18002 :                         if (TREE_TYPE (_o1[0]) != type)
    3387              :                           {
    3388        17889 :                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3389              :                           }
    3390              :                         else
    3391              :                           _r1 = _o1[0];
    3392        18002 :                         res_op0 = _r1;
    3393              :                       }
    3394        18002 :                       tree _r;
    3395        18002 :                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    3396        18002 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 870, __FILE__, __LINE__, true);
    3397              :                       return _r;
    3398              :                     }
    3399            0 : next_after_fail1084:;
    3400              :                   }
    3401              :               }
    3402              :               break;
    3403              :             }
    3404              :           default:;
    3405              :           }
    3406              :         break;
    3407              :       }
    3408      1368735 :     case BIT_AND_EXPR:
    3409      1368735 :       {
    3410      1368735 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3411      1368735 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3412      1368735 :         {
    3413      1368735 :           tree _q20_pops[1];
    3414      1368735 :           if (tree_nop_convert (_q20, _q20_pops))
    3415              :             {
    3416       720962 :               tree _q30 = _q20_pops[0];
    3417       720962 :               {
    3418       720962 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3419       720962 :                 tree res = generic_simplify_457 (loc, type, _p0, captures, BIT_AND_EXPR);
    3420       720962 :                 if (res) return res;
    3421              :               }
    3422              :             }
    3423              :         }
    3424      1368735 :         {
    3425      1368735 :           tree _q21_pops[1];
    3426      1368735 :           if (tree_nop_convert (_q21, _q21_pops))
    3427              :             {
    3428       588616 :               tree _q40 = _q21_pops[0];
    3429       588616 :               {
    3430       588616 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3431       588616 :                 tree res = generic_simplify_457 (loc, type, _p0, captures, BIT_AND_EXPR);
    3432       588616 :                 if (res) return res;
    3433              :               }
    3434              :             }
    3435              :         }
    3436      1368735 :         switch (TREE_CODE (_q20))
    3437              :           {
    3438       797861 :           CASE_CONVERT:
    3439       797861 :             {
    3440       797861 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3441       797861 :               {
    3442       797861 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3443       797861 :                 tree res = generic_simplify_458 (loc, type, _p0, captures, BIT_AND_EXPR);
    3444       797861 :                 if (res) return res;
    3445              :               }
    3446       797861 :               break;
    3447              :             }
    3448      1368735 :           default:;
    3449              :           }
    3450      1368735 :         switch (TREE_CODE (_q21))
    3451              :           {
    3452       589397 :           CASE_CONVERT:
    3453       589397 :             {
    3454       589397 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3455       589397 :               {
    3456       589397 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3457       589397 :                 tree res = generic_simplify_458 (loc, type, _p0, captures, BIT_AND_EXPR);
    3458       589397 :                 if (res) return res;
    3459              :               }
    3460       589397 :               break;
    3461              :             }
    3462              :           default:;
    3463              :           }
    3464              :         break;
    3465              :       }
    3466      1204736 :     case BIT_IOR_EXPR:
    3467      1204736 :       {
    3468      1204736 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3469      1204736 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3470      1204736 :         {
    3471      1204736 :           tree _q20_pops[1];
    3472      1204736 :           if (tree_nop_convert (_q20, _q20_pops))
    3473              :             {
    3474       469584 :               tree _q30 = _q20_pops[0];
    3475       469584 :               {
    3476       469584 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3477       469584 :                 tree res = generic_simplify_457 (loc, type, _p0, captures, BIT_IOR_EXPR);
    3478       469584 :                 if (res) return res;
    3479              :               }
    3480              :             }
    3481              :         }
    3482      1204736 :         {
    3483      1204736 :           tree _q21_pops[1];
    3484      1204736 :           if (tree_nop_convert (_q21, _q21_pops))
    3485              :             {
    3486      1125056 :               tree _q40 = _q21_pops[0];
    3487      1125056 :               {
    3488      1125056 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3489      1125056 :                 tree res = generic_simplify_457 (loc, type, _p0, captures, BIT_IOR_EXPR);
    3490      1125056 :                 if (res) return res;
    3491              :               }
    3492              :             }
    3493              :         }
    3494      1204736 :         switch (TREE_CODE (_q20))
    3495              :           {
    3496       488416 :           CASE_CONVERT:
    3497       488416 :             {
    3498       488416 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3499       488416 :               {
    3500       488416 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3501       488416 :                 tree res = generic_simplify_458 (loc, type, _p0, captures, BIT_IOR_EXPR);
    3502       488416 :                 if (res) return res;
    3503              :               }
    3504       488416 :               break;
    3505              :             }
    3506      1204736 :           default:;
    3507              :           }
    3508      1204736 :         switch (TREE_CODE (_q21))
    3509              :           {
    3510      1133408 :           CASE_CONVERT:
    3511      1133408 :             {
    3512      1133408 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3513      1133408 :               {
    3514      1133408 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3515      1133408 :                 tree res = generic_simplify_458 (loc, type, _p0, captures, BIT_IOR_EXPR);
    3516      1133408 :                 if (res) return res;
    3517              :               }
    3518      1133408 :               break;
    3519              :             }
    3520              :           default:;
    3521              :           }
    3522              :         break;
    3523              :       }
    3524       649083 :     case BIT_XOR_EXPR:
    3525       649083 :       {
    3526       649083 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3527       649083 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3528       649083 :         {
    3529       649083 :           tree _q20_pops[1];
    3530       649083 :           if (tree_nop_convert (_q20, _q20_pops))
    3531              :             {
    3532       380294 :               tree _q30 = _q20_pops[0];
    3533       380294 :               {
    3534       380294 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3535       380294 :                 tree res = generic_simplify_457 (loc, type, _p0, captures, BIT_XOR_EXPR);
    3536       380294 :                 if (res) return res;
    3537              :               }
    3538              :             }
    3539              :         }
    3540       649083 :         {
    3541       649083 :           tree _q21_pops[1];
    3542       649083 :           if (tree_nop_convert (_q21, _q21_pops))
    3543              :             {
    3544       526279 :               tree _q40 = _q21_pops[0];
    3545       526279 :               {
    3546       526279 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3547       526279 :                 tree res = generic_simplify_457 (loc, type, _p0, captures, BIT_XOR_EXPR);
    3548       526279 :                 if (res) return res;
    3549              :               }
    3550              :             }
    3551              :         }
    3552       649083 :         switch (TREE_CODE (_q20))
    3553              :           {
    3554       423916 :           CASE_CONVERT:
    3555       423916 :             {
    3556       423916 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3557       423916 :               {
    3558       423916 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
    3559       423916 :                 tree res = generic_simplify_458 (loc, type, _p0, captures, BIT_XOR_EXPR);
    3560       423916 :                 if (res) return res;
    3561              :               }
    3562       423916 :               break;
    3563              :             }
    3564       649083 :           default:;
    3565              :           }
    3566       649083 :         switch (TREE_CODE (_q21))
    3567              :           {
    3568       568894 :           CASE_CONVERT:
    3569       568894 :             {
    3570       568894 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3571       568894 :               {
    3572       568894 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
    3573       568894 :                 tree res = generic_simplify_458 (loc, type, _p0, captures, BIT_XOR_EXPR);
    3574       568894 :                 if (res) return res;
    3575              :               }
    3576       568894 :               break;
    3577              :             }
    3578              :           default:;
    3579              :           }
    3580              :         break;
    3581              :       }
    3582      9527932 :     case MULT_EXPR:
    3583      9527932 :       {
    3584      9527932 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3585      9527932 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3586      9527932 :         if (tree_zero_one_valued_p (_q20))
    3587              :           {
    3588        57113 :             switch (TREE_CODE (_q21))
    3589              :               {
    3590        51636 :               case INTEGER_CST:
    3591        51636 :                 {
    3592        51636 :                   {
    3593        51636 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3594        51636 :                     if (INTEGRAL_TYPE_P (type)
    3595        51636 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3596        51636 :  && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    3597        51642 :  && (TYPE_UNSIGNED (type) || TYPE_PRECISION (type) > 1)
    3598              : )
    3599              :                       {
    3600            6 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1085;
    3601            6 :                         {
    3602            6 :                           tree res_op0;
    3603            6 :                           {
    3604            6 :                             tree _o1[1], _r1;
    3605            6 :                             _o1[0] = captures[1];
    3606            6 :                             if (TREE_TYPE (_o1[0]) != type)
    3607              :                               {
    3608            6 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3609              :                               }
    3610              :                             else
    3611              :                               _r1 = _o1[0];
    3612            6 :                             res_op0 = _r1;
    3613              :                           }
    3614            6 :                           tree res_op1;
    3615            6 :                           {
    3616            6 :                             tree _o1[1], _r1;
    3617            6 :                             _o1[0] = captures[2];
    3618            6 :                             if (TREE_TYPE (_o1[0]) != type)
    3619              :                               {
    3620            6 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3621              :                               }
    3622              :                             else
    3623              :                               _r1 = _o1[0];
    3624            6 :                             res_op1 = _r1;
    3625              :                           }
    3626            6 :                           tree _r;
    3627            6 :                           _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    3628            6 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    3629              :                           return _r;
    3630              :                         }
    3631            0 : next_after_fail1085:;
    3632              :                       }
    3633              :                   }
    3634              :                   break;
    3635              :                 }
    3636              :               default:;
    3637              :               }
    3638              :           }
    3639              :         break;
    3640              :       }
    3641      1217490 :     case POINTER_DIFF_EXPR:
    3642      1217490 :       {
    3643      1217490 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3644      1217490 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3645      1217490 :         switch (TREE_CODE (_q21))
    3646              :           {
    3647          200 :           case INTEGER_CST:
    3648          200 :             {
    3649          200 :               {
    3650          200 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3651          200 :                 if (POINTER_TYPE_P (type)
    3652              : )
    3653              :                   {
    3654           18 :                     if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1086;
    3655           18 :                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1086;
    3656           18 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1086;
    3657           18 :                     {
    3658           18 :                       tree _r;
    3659           18 :                       _r =  build_fold_addr_expr_with_type
    3660              :  (build2 (MEM_REF, char_type_node, captures[0],
    3661              :  wide_int_to_tree (ptr_type_node, wi::neg (wi::to_wide (captures[1])))),
    3662              :  type);
    3663           18 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    3664              :                       return _r;
    3665              :                     }
    3666    900764402 : next_after_fail1086:;
    3667              :                   }
    3668              :               }
    3669              :               break;
    3670              :             }
    3671              :           default:;
    3672              :           }
    3673              :         break;
    3674              :       }
    3675       218222 :     case EQ_EXPR:
    3676       218222 :       {
    3677       218222 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3678       218222 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3679       218222 :         if (tree_zero_one_valued_p (_q20))
    3680              :           {
    3681         1757 :             switch (TREE_CODE (_q21))
    3682              :               {
    3683          823 :               case INTEGER_CST:
    3684          823 :                 {
    3685          823 :                   {
    3686          823 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3687          823 :                     tree res = generic_simplify_459 (loc, type, _p0, captures, EQ_EXPR);
    3688          823 :                     if (res) return res;
    3689              :                   }
    3690          775 :                   break;
    3691              :                 }
    3692              :               default:;
    3693              :               }
    3694              :           }
    3695              :         break;
    3696              :       }
    3697       270723 :     case NE_EXPR:
    3698       270723 :       {
    3699       270723 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3700       270723 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3701       270723 :         if (tree_zero_one_valued_p (_q20))
    3702              :           {
    3703         1907 :             switch (TREE_CODE (_q21))
    3704              :               {
    3705         1573 :               case INTEGER_CST:
    3706         1573 :                 {
    3707         1573 :                   {
    3708         1573 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3709         1573 :                     tree res = generic_simplify_459 (loc, type, _p0, captures, NE_EXPR);
    3710         1573 :                     if (res) return res;
    3711              :                   }
    3712            9 :                   break;
    3713              :                 }
    3714              :               default:;
    3715              :               }
    3716              :           }
    3717              :         break;
    3718              :       }
    3719         2001 :     case MIN_EXPR:
    3720         2001 :       {
    3721         2001 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3722         2001 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3723         2001 :         switch (TREE_CODE (_q20))
    3724              :           {
    3725          733 :           CASE_CONVERT:
    3726          733 :             {
    3727          733 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3728          733 :               switch (TREE_CODE (_q21))
    3729              :                 {
    3730          659 :                 case INTEGER_CST:
    3731          659 :                   {
    3732          659 :                     {
    3733          659 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3734          659 :                       tree res = generic_simplify_460 (loc, type, _p0, captures, MIN_EXPR);
    3735          659 :                       if (res) return res;
    3736              :                     }
    3737          659 :                     break;
    3738              :                   }
    3739              :                 default:;
    3740              :                 }
    3741              :               break;
    3742              :             }
    3743              :           default:;
    3744              :           }
    3745              :         break;
    3746              :       }
    3747       277244 :     case MAX_EXPR:
    3748       277244 :       {
    3749       277244 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3750       277244 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3751       277244 :         switch (TREE_CODE (_q20))
    3752              :           {
    3753         7485 :           CASE_CONVERT:
    3754         7485 :             {
    3755         7485 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3756         7485 :               switch (TREE_CODE (_q21))
    3757              :                 {
    3758         7445 :                 case INTEGER_CST:
    3759         7445 :                   {
    3760         7445 :                     {
    3761         7445 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3762         7445 :                       tree res = generic_simplify_460 (loc, type, _p0, captures, MAX_EXPR);
    3763         7445 :                       if (res) return res;
    3764              :                     }
    3765         7445 :                     break;
    3766              :                   }
    3767              :                 default:;
    3768              :                 }
    3769              :               break;
    3770              :             }
    3771              :           default:;
    3772              :           }
    3773              :         break;
    3774              :       }
    3775       470565 :     case LSHIFT_EXPR:
    3776       470565 :       {
    3777       470565 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3778       470565 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3779       470565 :         switch (TREE_CODE (_q21))
    3780              :           {
    3781       141907 :           case INTEGER_CST:
    3782       141907 :             {
    3783       141907 :               {
    3784       141907 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3785       141907 :                 if (INTEGRAL_TYPE_P (type)
    3786       141880 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3787       141880 :  && !integer_zerop (captures[2])
    3788       283014 :  && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
    3789              : )
    3790              :                   {
    3791       139821 :                     if (TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    3792       139821 :  || wi::ltu_p (wi::to_wide (captures[2]), TYPE_PRECISION (type))
    3793              : )
    3794              :                       {
    3795       139493 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1087;
    3796       139493 :                         {
    3797       139493 :                           tree res_op0;
    3798       139493 :                           {
    3799       139493 :                             tree _o1[1], _r1;
    3800       139493 :                             _o1[0] = captures[1];
    3801       139493 :                             if (TREE_TYPE (_o1[0]) != type)
    3802              :                               {
    3803       130419 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3804              :                               }
    3805              :                             else
    3806              :                               _r1 = _o1[0];
    3807       139493 :                             res_op0 = _r1;
    3808              :                           }
    3809       139493 :                           tree res_op1;
    3810       139493 :                           res_op1 = captures[2];
    3811       139493 :                           tree _r;
    3812       139493 :                           _r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
    3813       139493 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 873, __FILE__, __LINE__, true);
    3814              :                           return _r;
    3815              :                         }
    3816            0 : next_after_fail1087:;
    3817              :                       }
    3818              :                     else
    3819              :                       {
    3820          328 :                         if (wi::ltu_p (wi::to_wide (captures[2]), TYPE_PRECISION (TREE_TYPE (captures[0])))
    3821              : )
    3822              :                           {
    3823          279 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1088;
    3824          279 :                             {
    3825          279 :                               tree _r;
    3826          279 :                               _r =  build_zero_cst (type);
    3827          279 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    3828           14 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3829          279 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    3830            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3831          279 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 874, __FILE__, __LINE__, true);
    3832              :                               return _r;
    3833              :                             }
    3834            0 : next_after_fail1088:;
    3835              :                           }
    3836              :                       }
    3837              :                   }
    3838              :               }
    3839              :               break;
    3840              :             }
    3841              :           default:;
    3842              :           }
    3843              :         break;
    3844              :       }
    3845    900764402 :     default:;
    3846              :     }
    3847    900764402 :   {
    3848    900764402 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3849   1801528804 :     if ((
    3850              : 
    3851              :  && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
    3852              :  || (
    3853              : 1
    3854    900764402 :  && type == TREE_TYPE (captures[0]))
    3855              : )
    3856              :       {
    3857     51658822 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1089;
    3858     51658822 :         {
    3859     51658822 :           tree _r;
    3860     51658822 :           _r = captures[0];
    3861     51658822 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 875, __FILE__, __LINE__, true);
    3862    900923812 :           return _r;
    3863              :         }
    3864            0 : next_after_fail1089:;
    3865              :       }
    3866              :   }
    3867    849105580 :   switch (TREE_CODE (_p0))
    3868              :     {
    3869    142329275 :     CASE_CONVERT:
    3870    142329275 :       {
    3871    142329275 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3872    142329275 :         {
    3873    142329275 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3874    142329275 :           {
    3875    142329275 :  tree inside_type = TREE_TYPE (captures[1]);
    3876    142329275 :  tree inter_type = TREE_TYPE (captures[0]);
    3877    142329275 :  int inside_int = ANY_INTEGRAL_TYPE_P (inside_type);
    3878    142329275 :  int inside_ptr = POINTER_TYPE_P (inside_type);
    3879    142329275 :  int inside_float = FLOAT_TYPE_P (inside_type);
    3880    142329275 :  unsigned int inside_prec = element_precision (inside_type);
    3881    142329275 :  int inside_unsignedp = TYPE_UNSIGNED (inside_type);
    3882    142329275 :  int inter_int = ANY_INTEGRAL_TYPE_P (inter_type);
    3883    142329275 :  int inter_ptr = POINTER_TYPE_P (inter_type);
    3884    142329275 :  int inter_float = FLOAT_TYPE_P (inter_type);
    3885    142329275 :  unsigned int inter_prec = element_precision (inter_type);
    3886    142329275 :  int inter_unsignedp = TYPE_UNSIGNED (inter_type);
    3887    142329275 :  int final_int = ANY_INTEGRAL_TYPE_P (type);
    3888    142329275 :  int final_ptr = POINTER_TYPE_P (type);
    3889    142329275 :  int final_float = FLOAT_TYPE_P (type);
    3890    142329275 :  unsigned int final_prec = element_precision (type);
    3891    142329275 :  int final_unsignedp = TYPE_UNSIGNED (type);
    3892    142329275 :  int is_vec = VECTOR_TYPE_P (type);
    3893    142329275 :  gcc_checking_assert (is_vec == VECTOR_TYPE_P (inside_type)
    3894              :  && is_vec == VECTOR_TYPE_P (inter_type));
    3895    142329275 :               if (((
    3896              : 
    3897              :  && useless_type_conversion_p (type, inside_type))
    3898              :  || (
    3899              : 1
    3900    142329275 :  && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
    3901     23603161 :  && (((inter_int || inter_ptr) && final_int)
    3902     17773183 :  || (inter_float && final_float))
    3903      5916457 :  && inter_prec >= final_prec
    3904    147708815 :  && (! is_vec
    3905            0 :  || supportable_convert_operation (CONVERT_EXPR, type, TREE_TYPE (captures[1])))
    3906              : )
    3907              :                 {
    3908      5379540 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1090;
    3909      5379540 :                   {
    3910      5379540 :                     tree res_op0;
    3911      5379540 :                     res_op0 = captures[1];
    3912      5379540 :                     tree _r;
    3913      5379540 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3914      5379540 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    3915              :                     return _r;
    3916              :                   }
    3917            0 : next_after_fail1090:;
    3918              :                 }
    3919              :               else
    3920              :                 {
    3921    123973998 :                   if (((inter_int && inside_int) || (inter_float && inside_float))
    3922     13086449 :  && (final_int || final_float)
    3923     12954679 :  && inter_prec >= inside_prec
    3924     11640452 :  && (inter_float || inter_unsignedp == inside_unsignedp)
    3925    145024862 :  && (! is_vec
    3926            0 :  || supportable_convert_operation (CONVERT_EXPR, type, TREE_TYPE (captures[1])))
    3927              : )
    3928              :                     {
    3929      8075127 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1091;
    3930      8075127 :                       {
    3931      8075127 :                         tree res_op0;
    3932      8075127 :                         res_op0 = captures[1];
    3933      8075127 :                         tree _r;
    3934      8075127 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3935      8075127 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    3936              :                         return _r;
    3937              :                       }
    3938            0 : next_after_fail1091:;
    3939              :                     }
    3940              :                   else
    3941              :                     {
    3942      5004617 :                       if (inside_int && inter_int && final_int
    3943      4872851 :  && ((inside_prec < inter_prec && inter_prec < final_prec
    3944       184593 :  && inside_unsignedp && !inter_unsignedp)
    3945      4715066 :  || final_prec == inter_prec
    3946      2349012 :  || (inside_prec < inter_prec && inter_prec > final_prec
    3947       152030 :  && !inside_unsignedp && inter_unsignedp))
    3948    131462716 :  && (! is_vec
    3949            0 :  || supportable_convert_operation (CONVERT_EXPR, type, TREE_TYPE (captures[1])))
    3950              : )
    3951              :                         {
    3952      2588108 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1092;
    3953      2588108 :                           {
    3954      2588108 :                             tree res_op0;
    3955      2588108 :                             res_op0 = captures[1];
    3956      2588108 :                             tree _r;
    3957      2588108 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3958      2588108 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    3959              :                             return _r;
    3960              :                           }
    3961            0 : next_after_fail1092:;
    3962              :                         }
    3963              :                       else
    3964              :                         {
    3965    126286500 :                           if (! inside_float && ! inter_float && ! final_float
    3966              :  && ! is_vec
    3967    126279795 :  && (inter_prec >= inside_prec || inter_prec >= final_prec)
    3968    125524161 :  && ! (inside_int && inter_int
    3969      1660875 :  && inter_unsignedp != inside_unsignedp
    3970      1660875 :  && inter_prec < final_prec)
    3971    124170829 :  && ((inter_unsignedp && inter_prec > inside_prec)
    3972    124170829 :  == (final_unsignedp && final_prec > inter_prec))
    3973    124147078 :  && ! (inside_ptr && inter_prec != final_prec)
    3974    123643777 :  && ! (final_ptr && inside_prec != inter_prec)
    3975              : )
    3976              :                             {
    3977    123622871 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1093;
    3978    123622871 :                               {
    3979    123622871 :                                 tree res_op0;
    3980    123622871 :                                 res_op0 = captures[1];
    3981    123622871 :                                 tree _r;
    3982    123622871 :                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3983    123622871 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    3984              :                                 return _r;
    3985              :                               }
    3986            0 : next_after_fail1093:;
    3987            0 :                             }
    3988              :                           else
    3989              :                             {
    3990      2663629 :                               if (inside_int && inter_int && final_int
    3991      2138741 :  && final_prec <= inside_prec
    3992       694853 :  && inter_prec >= inside_prec
    3993      2663629 :  && (! is_vec
    3994            0 :  || supportable_convert_operation (CONVERT_EXPR, type, TREE_TYPE (captures[1])))
    3995              : )
    3996              :                                 {
    3997            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1094;
    3998            0 :                                   {
    3999            0 :                                     tree res_op0;
    4000            0 :                                     res_op0 = captures[1];
    4001            0 :                                     tree _r;
    4002            0 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4003            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    4004              :                                     return _r;
    4005              :                                   }
    4006            0 : next_after_fail1094:;
    4007              :                                 }
    4008              :                               else
    4009              :                                 {
    4010              :                                   if (0
    4011              :  && final_int && inter_int && inside_int
    4012              :  && ! is_vec
    4013              :  && final_prec >= inside_prec
    4014              :  && inside_prec > inter_prec
    4015              :  && inter_unsignedp
    4016              : )
    4017              :                                     {
    4018              :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1095;
    4019              :                                       {
    4020              :                                         tree res_op0;
    4021              :                                         {
    4022              :                                           tree _o1[2], _r1;
    4023              :                                           _o1[0] = captures[1];
    4024              :                                           _o1[1] =  wide_int_to_tree
    4025              :  (inside_type,
    4026              :  wi::mask (inter_prec, false,
    4027              :  TYPE_PRECISION (inside_type)));
    4028              :                                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4029              :                                           res_op0 = _r1;
    4030              :                                         }
    4031              :                                         tree _r;
    4032              :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4033              :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 881, __FILE__, __LINE__, true);
    4034              :                                         return _r;
    4035              :                                       }
    4036              : next_after_fail1095:;
    4037              :                                     }
    4038              :                                   else
    4039              :                                     {
    4040              :                                       if (0
    4041              :  && inside_int && inter_float && final_int
    4042              :  && ! is_vec
    4043              :  && ((unsigned) significand_size (TYPE_MODE (inter_type))
    4044              :  >= inside_prec - !inside_unsignedp)
    4045              : )
    4046              :                                         {
    4047              :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1096;
    4048              :                                           {
    4049              :                                             tree res_op0;
    4050              :                                             res_op0 = captures[1];
    4051              :                                             tree _r;
    4052              :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4053              :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    4054              :                                             return _r;
    4055              :                                           }
    4056              : next_after_fail1096:;
    4057              :                                         }
    4058              :                                     }
    4059              :                                 }
    4060              :                             }
    4061              :                         }
    4062              :                     }
    4063              :                 }
    4064              :           }
    4065              :         }
    4066              :         break;
    4067              :       }
    4068         3067 :     case FLOAT_EXPR:
    4069         3067 :       {
    4070         3067 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4071         3067 :         {
    4072         3067 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    4073         3067 :           {
    4074         3067 :  tree inside_type = TREE_TYPE (captures[1]);
    4075         3067 :  tree inter_type = TREE_TYPE (captures[0]);
    4076         3067 :  int inside_int = ANY_INTEGRAL_TYPE_P (inside_type);
    4077         3067 :  int inside_ptr = POINTER_TYPE_P (inside_type);
    4078         3067 :  int inside_float = FLOAT_TYPE_P (inside_type);
    4079         3067 :  unsigned int inside_prec = element_precision (inside_type);
    4080         3067 :  int inside_unsignedp = TYPE_UNSIGNED (inside_type);
    4081         3067 :  int inter_int = ANY_INTEGRAL_TYPE_P (inter_type);
    4082         3067 :  int inter_ptr = POINTER_TYPE_P (inter_type);
    4083         3067 :  int inter_float = FLOAT_TYPE_P (inter_type);
    4084         3067 :  unsigned int inter_prec = element_precision (inter_type);
    4085         3067 :  int inter_unsignedp = TYPE_UNSIGNED (inter_type);
    4086         3067 :  int final_int = ANY_INTEGRAL_TYPE_P (type);
    4087         3067 :  int final_ptr = POINTER_TYPE_P (type);
    4088         3067 :  int final_float = FLOAT_TYPE_P (type);
    4089         3067 :  unsigned int final_prec = element_precision (type);
    4090         3067 :  int final_unsignedp = TYPE_UNSIGNED (type);
    4091         3067 :  int is_vec = VECTOR_TYPE_P (type);
    4092         3067 :  gcc_checking_assert (is_vec == VECTOR_TYPE_P (inside_type)
    4093              :  && is_vec == VECTOR_TYPE_P (inter_type));
    4094         3067 :               if (((
    4095              : 
    4096              :  && useless_type_conversion_p (type, inside_type))
    4097              :  || (
    4098              : 1
    4099         3067 :  && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
    4100            0 :  && (((inter_int || inter_ptr) && final_int)
    4101            0 :  || (inter_float && final_float))
    4102            0 :  && inter_prec >= final_prec
    4103         3067 :  && (! is_vec
    4104            0 :  || supportable_convert_operation (CONVERT_EXPR, type, TREE_TYPE (captures[1])))
    4105              : )
    4106              :                 {
    4107            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1097;
    4108            0 :                   {
    4109            0 :                     tree res_op0;
    4110            0 :                     res_op0 = captures[1];
    4111            0 :                     tree _r;
    4112            0 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4113            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    4114              :                     return _r;
    4115              :                   }
    4116            0 : next_after_fail1097:;
    4117              :                 }
    4118              :               else
    4119              :                 {
    4120         3067 :                   if (((inter_int && inside_int) || (inter_float && inside_float))
    4121            0 :  && (final_int || final_float)
    4122            0 :  && inter_prec >= inside_prec
    4123            0 :  && (inter_float || inter_unsignedp == inside_unsignedp)
    4124         3067 :  && (! is_vec
    4125            0 :  || supportable_convert_operation (CONVERT_EXPR, type, TREE_TYPE (captures[1])))
    4126              : )
    4127              :                     {
    4128            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1098;
    4129            0 :                       {
    4130            0 :                         tree res_op0;
    4131            0 :                         res_op0 = captures[1];
    4132            0 :                         tree _r;
    4133            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4134            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    4135              :                         return _r;
    4136              :                       }
    4137            0 : next_after_fail1098:;
    4138              :                     }
    4139              :                   else
    4140              :                     {
    4141            0 :                       if (inside_int && inter_int && final_int
    4142            0 :  && ((inside_prec < inter_prec && inter_prec < final_prec
    4143            0 :  && inside_unsignedp && !inter_unsignedp)
    4144            0 :  || final_prec == inter_prec
    4145            0 :  || (inside_prec < inter_prec && inter_prec > final_prec
    4146            0 :  && !inside_unsignedp && inter_unsignedp))
    4147         3067 :  && (! is_vec
    4148            0 :  || supportable_convert_operation (CONVERT_EXPR, type, TREE_TYPE (captures[1])))
    4149              : )
    4150              :                         {
    4151            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1099;
    4152            0 :                           {
    4153            0 :                             tree res_op0;
    4154            0 :                             res_op0 = captures[1];
    4155            0 :                             tree _r;
    4156            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4157            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    4158              :                             return _r;
    4159              :                           }
    4160            0 : next_after_fail1099:;
    4161              :                         }
    4162              :                       else
    4163              :                         {
    4164         3067 :                           if (! inside_float && ! inter_float && ! final_float
    4165              :  && ! is_vec
    4166            0 :  && (inter_prec >= inside_prec || inter_prec >= final_prec)
    4167            0 :  && ! (inside_int && inter_int
    4168            0 :  && inter_unsignedp != inside_unsignedp
    4169            0 :  && inter_prec < final_prec)
    4170            0 :  && ((inter_unsignedp && inter_prec > inside_prec)
    4171            0 :  == (final_unsignedp && final_prec > inter_prec))
    4172            0 :  && ! (inside_ptr && inter_prec != final_prec)
    4173            0 :  && ! (final_ptr && inside_prec != inter_prec)
    4174              : )
    4175              :                             {
    4176            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1100;
    4177            0 :                               {
    4178            0 :                                 tree res_op0;
    4179            0 :                                 res_op0 = captures[1];
    4180            0 :                                 tree _r;
    4181            0 :                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4182            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
    4183              :                                 return _r;
    4184              :                               }
    4185            0 : next_after_fail1100:;
    4186            0 :                             }
    4187              :                           else
    4188              :                             {
    4189         3067 :                               if (inside_int && inter_int && final_int
    4190            0 :  && final_prec <= inside_prec
    4191            0 :  && inter_prec >= inside_prec
    4192         3067 :  && (! is_vec
    4193            0 :  || supportable_convert_operation (CONVERT_EXPR, type, TREE_TYPE (captures[1])))
    4194              : )
    4195              :                                 {
    4196            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1101;
    4197            0 :                                   {
    4198            0 :                                     tree res_op0;
    4199            0 :                                     res_op0 = captures[1];
    4200            0 :                                     tree _r;
    4201            0 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4202            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 880, __FILE__, __LINE__, true);
    4203              :                                     return _r;
    4204              :                                   }
    4205            0 : next_after_fail1101:;
    4206              :                                 }
    4207              :                               else
    4208              :                                 {
    4209              :                                   if (0
    4210              :  && final_int && inter_int && inside_int
    4211              :  && ! is_vec
    4212              :  && final_prec >= inside_prec
    4213              :  && inside_prec > inter_prec
    4214              :  && inter_unsignedp
    4215              : )
    4216              :                                     {
    4217              :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1102;
    4218              :                                       {
    4219              :                                         tree res_op0;
    4220              :                                         {
    4221              :                                           tree _o1[2], _r1;
    4222              :                                           _o1[0] = captures[1];
    4223              :                                           _o1[1] =  wide_int_to_tree
    4224              :  (inside_type,
    4225              :  wi::mask (inter_prec, false,
    4226              :  TYPE_PRECISION (inside_type)));
    4227              :                                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4228              :                                           res_op0 = _r1;
    4229              :                                         }
    4230              :                                         tree _r;
    4231              :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4232              :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 881, __FILE__, __LINE__, true);
    4233              :                                         return _r;
    4234              :                                       }
    4235              : next_after_fail1102:;
    4236              :                                     }
    4237              :                                   else
    4238              :                                     {
    4239              :                                       if (0
    4240              :  && inside_int && inter_float && final_int
    4241              :  && ! is_vec
    4242              :  && ((unsigned) significand_size (TYPE_MODE (inter_type))
    4243              :  >= inside_prec - !inside_unsignedp)
    4244              : )
    4245              :                                         {
    4246              :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1103;
    4247              :                                           {
    4248              :                                             tree res_op0;
    4249              :                                             res_op0 = captures[1];
    4250              :                                             tree _r;
    4251              :                                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4252              :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 882, __FILE__, __LINE__, true);
    4253              :                                             return _r;
    4254              :                                           }
    4255              : next_after_fail1103:;
    4256              :                                         }
    4257              :                                     }
    4258              :                                 }
    4259              :                             }
    4260              :                         }
    4261              :                     }
    4262              :                 }
    4263              :           }
    4264              :         }
    4265              :         break;
    4266              :       }
    4267       999949 :     case BIT_AND_EXPR:
    4268       999949 :       {
    4269       999949 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4270       999949 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4271       999949 :         switch (TREE_CODE (_q21))
    4272              :           {
    4273       294420 :           case INTEGER_CST:
    4274       294420 :             {
    4275       294420 :               {
    4276       294420 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4277       294420 :                 if (INTEGRAL_TYPE_P (type)
    4278       293912 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4279       293912 :  && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
    4280       506396 :  && operand_equal_p (captures[1], build_low_bits_mask (TREE_TYPE (captures[1]),
    4281       211976 :  TYPE_PRECISION (type)), 0)
    4282              : )
    4283              :                   {
    4284        13402 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1104;
    4285        13402 :                     {
    4286        13402 :                       tree res_op0;
    4287        13402 :                       res_op0 = captures[0];
    4288        13402 :                       tree _r;
    4289        13402 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4290        13402 :                       if (TREE_SIDE_EFFECTS (captures[1]))
    4291            0 :                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4292        13402 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    4293              :                       return _r;
    4294              :                     }
    4295            0 : next_after_fail1104:;
    4296              :                   }
    4297              :               }
    4298              :               break;
    4299              :             }
    4300              :           default:;
    4301              :           }
    4302              :         break;
    4303              :       }
    4304            5 :     case VEC_COND_EXPR:
    4305            5 :       {
    4306            5 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4307            5 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4308            5 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4309            5 :         {
    4310            5 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    4311            5 :           if (VECTOR_TYPE_P (type)
    4312            0 :  && types_match (TREE_TYPE (captures[1]), truth_type_for (type))
    4313            5 :  && (expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4314            0 :  || !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1])))
    4315              : )
    4316              :             {
    4317            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1105;
    4318            0 :               {
    4319            0 :                 tree res_op0;
    4320            0 :                 res_op0 = captures[1];
    4321            0 :                 tree res_op1;
    4322            0 :                 {
    4323            0 :                   tree _o1[1], _r1;
    4324            0 :                   _o1[0] = captures[2];
    4325            0 :                   if (TREE_TYPE (_o1[0]) != type)
    4326              :                     {
    4327            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4328            0 :                       if (EXPR_P (_r1))
    4329            0 :                         goto next_after_fail1105;
    4330              :                     }
    4331              :                   else
    4332              :                     _r1 = _o1[0];
    4333            0 :                   res_op1 = _r1;
    4334              :                 }
    4335            0 :                 tree res_op2;
    4336            0 :                 {
    4337            0 :                   tree _o1[1], _r1;
    4338            0 :                   _o1[0] = captures[3];
    4339            0 :                   if (TREE_TYPE (_o1[0]) != type)
    4340              :                     {
    4341            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4342            0 :                       if (EXPR_P (_r1))
    4343            0 :                         goto next_after_fail1105;
    4344              :                     }
    4345              :                   else
    4346              :                     _r1 = _o1[0];
    4347            0 :                   res_op2 = _r1;
    4348              :                 }
    4349            0 :                 tree _r;
    4350            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4351            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 884, __FILE__, __LINE__, true);
    4352              :                 return _r;
    4353              :               }
    4354    900923812 : next_after_fail1105:;
    4355              :             }
    4356              :         }
    4357              :         break;
    4358              :       }
    4359       666039 :     case COND_EXPR:
    4360       666039 :       {
    4361       666039 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4362       666039 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4363       666039 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4364       666039 :         switch (TREE_CODE (_q21))
    4365              :           {
    4366       186053 :           case INTEGER_CST:
    4367       186053 :             {
    4368       186053 :               switch (TREE_CODE (_q22))
    4369              :                 {
    4370       118112 :                 case INTEGER_CST:
    4371       118112 :                   {
    4372       118112 :                     {
    4373       118112 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    4374       118112 :                       if (INTEGRAL_TYPE_P (type)
    4375       118112 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4376              : )
    4377              :                         {
    4378       118112 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1106;
    4379       118112 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1106;
    4380       118112 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1106;
    4381       118112 :                           {
    4382       118112 :                             tree res_op0;
    4383       118112 :                             res_op0 = captures[1];
    4384       118112 :                             tree res_op1;
    4385       118112 :                             {
    4386       118112 :                               tree _o1[1], _r1;
    4387       118112 :                               _o1[0] = captures[2];
    4388       118112 :                               if (TREE_TYPE (_o1[0]) != type)
    4389              :                                 {
    4390       118112 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4391              :                                 }
    4392              :                               else
    4393              :                                 _r1 = _o1[0];
    4394       118112 :                               res_op1 = _r1;
    4395              :                             }
    4396       118112 :                             tree res_op2;
    4397       118112 :                             {
    4398       118112 :                               tree _o1[1], _r1;
    4399       118112 :                               _o1[0] = captures[3];
    4400       118112 :                               if (TREE_TYPE (_o1[0]) != type)
    4401              :                                 {
    4402       118112 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4403              :                                 }
    4404              :                               else
    4405              :                                 _r1 = _o1[0];
    4406       118112 :                               res_op2 = _r1;
    4407              :                             }
    4408       118112 :                             tree _r;
    4409       118112 :                             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4410       118112 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 885, __FILE__, __LINE__, true);
    4411              :                             return _r;
    4412              :                           }
    4413    900923812 : next_after_fail1106:;
    4414              :                         }
    4415              :                     }
    4416              :                     break;
    4417              :                   }
    4418              :                 default:;
    4419              :                 }
    4420              :               break;
    4421              :             }
    4422              :           default:;
    4423              :           }
    4424              :         break;
    4425              :       }
    4426     12022252 :     case PLUS_EXPR:
    4427     12022252 :       {
    4428     12022252 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4429     12022252 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4430     12022252 :         switch (TREE_CODE (_q20))
    4431              :           {
    4432      4629801 :           CASE_CONVERT:
    4433      4629801 :             {
    4434      4629801 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4435      4629801 :               switch (TREE_CODE (_q21))
    4436              :                 {
    4437       361338 :                 CASE_CONVERT:
    4438       361338 :                   {
    4439       361338 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    4440       361338 :                     {
    4441       361338 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
    4442       361338 :                       tree res = generic_simplify_461 (loc, type, _p0, captures, PLUS_EXPR);
    4443       361338 :                       if (res) return res;
    4444              :                     }
    4445       361282 :                     break;
    4446              :                   }
    4447      4629745 :                 default:;
    4448              :                 }
    4449      4629745 :               {
    4450      4629745 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
    4451      4629745 :                 tree res = generic_simplify_462 (loc, type, _p0, captures, PLUS_EXPR);
    4452      4629745 :                 if (res) return res;
    4453              :               }
    4454      4617255 :               break;
    4455              :             }
    4456     12009706 :           default:;
    4457              :           }
    4458     12009706 :         switch (TREE_CODE (_q21))
    4459              :           {
    4460      1631623 :           CASE_CONVERT:
    4461      1631623 :             {
    4462      1631623 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4463      1631623 :               {
    4464      1631623 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
    4465      1631623 :                 tree res = generic_simplify_463 (loc, type, _p0, captures, PLUS_EXPR);
    4466      1631623 :                 if (res) return res;
    4467              :               }
    4468      1631623 :               break;
    4469              :             }
    4470     12009706 :           default:;
    4471              :           }
    4472     12009706 :         {
    4473     12009706 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
    4474     12009706 :           tree res = generic_simplify_464 (loc, type, _p0, captures, PLUS_EXPR);
    4475     12009706 :           if (res) return res;
    4476              :         }
    4477     12009672 :         break;
    4478              :       }
    4479      1021027 :     case MINUS_EXPR:
    4480      1021027 :       {
    4481      1021027 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4482      1021027 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4483      1021027 :         switch (TREE_CODE (_q20))
    4484              :           {
    4485       429521 :           CASE_CONVERT:
    4486       429521 :             {
    4487       429521 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4488       429521 :               switch (TREE_CODE (_q21))
    4489              :                 {
    4490       273370 :                 CASE_CONVERT:
    4491       273370 :                   {
    4492       273370 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    4493       273370 :                     {
    4494       273370 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
    4495       273370 :                       tree res = generic_simplify_461 (loc, type, _p0, captures, MINUS_EXPR);
    4496       273370 :                       if (res) return res;
    4497              :                     }
    4498       273341 :                     break;
    4499              :                   }
    4500       429492 :                 default:;
    4501              :                 }
    4502       429492 :               {
    4503       429492 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
    4504       429492 :                 tree res = generic_simplify_462 (loc, type, _p0, captures, MINUS_EXPR);
    4505       429492 :                 if (res) return res;
    4506              :               }
    4507       428372 :               break;
    4508              :             }
    4509      1019878 :           default:;
    4510              :           }
    4511      1019878 :         switch (TREE_CODE (_q21))
    4512              :           {
    4513       337156 :           CASE_CONVERT:
    4514       337156 :             {
    4515       337156 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4516       337156 :               {
    4517       337156 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
    4518       337156 :                 tree res = generic_simplify_463 (loc, type, _p0, captures, MINUS_EXPR);
    4519       337156 :                 if (res) return res;
    4520              :               }
    4521       337146 :               break;
    4522              :             }
    4523      1019868 :           default:;
    4524              :           }
    4525      1019868 :         {
    4526      1019868 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
    4527      1019868 :           tree res = generic_simplify_464 (loc, type, _p0, captures, MINUS_EXPR);
    4528      1019868 :           if (res) return res;
    4529              :         }
    4530      1019836 :         break;
    4531              :       }
    4532      9301302 :     case MULT_EXPR:
    4533      9301302 :       {
    4534      9301302 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4535      9301302 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4536      9301302 :         switch (TREE_CODE (_q20))
    4537              :           {
    4538      4163739 :           CASE_CONVERT:
    4539      4163739 :             {
    4540      4163739 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4541      4163739 :               switch (TREE_CODE (_q21))
    4542              :                 {
    4543       359707 :                 CASE_CONVERT:
    4544       359707 :                   {
    4545       359707 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    4546       359707 :                     {
    4547       359707 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
    4548       359707 :                       tree res = generic_simplify_461 (loc, type, _p0, captures, MULT_EXPR);
    4549       359707 :                       if (res) return res;
    4550              :                     }
    4551       359707 :                     break;
    4552              :                   }
    4553      4163739 :                 default:;
    4554              :                 }
    4555      4163739 :               {
    4556      4163739 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
    4557      4163739 :                 tree res = generic_simplify_462 (loc, type, _p0, captures, MULT_EXPR);
    4558      4163739 :                 if (res) return res;
    4559              :               }
    4560      4163612 :               break;
    4561              :             }
    4562      9301175 :           default:;
    4563              :           }
    4564      9301175 :         switch (TREE_CODE (_q21))
    4565              :           {
    4566       800535 :           CASE_CONVERT:
    4567       800535 :             {
    4568       800535 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4569       800535 :               {
    4570       800535 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
    4571       800535 :                 tree res = generic_simplify_463 (loc, type, _p0, captures, MULT_EXPR);
    4572       800535 :                 if (res) return res;
    4573              :               }
    4574       800535 :               break;
    4575              :             }
    4576      9301175 :           default:;
    4577              :           }
    4578      9301175 :         {
    4579      9301175 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
    4580      9301175 :           tree res = generic_simplify_464 (loc, type, _p0, captures, MULT_EXPR);
    4581      9301175 :           if (res) return res;
    4582              :         }
    4583      9301142 :         break;
    4584              :       }
    4585         3121 :     case RDIV_EXPR:
    4586         3121 :       {
    4587         3121 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4588         3121 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4589         3121 :         switch (TREE_CODE (_q20))
    4590              :           {
    4591         1005 :           CASE_CONVERT:
    4592         1005 :             {
    4593         1005 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4594         1005 :               switch (TREE_CODE (_q21))
    4595              :                 {
    4596          691 :                 CASE_CONVERT:
    4597          691 :                   {
    4598          691 :                     tree _q50 = TREE_OPERAND (_q21, 0);
    4599          691 :                     {
    4600          691 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
    4601          691 :                       tree res = generic_simplify_461 (loc, type, _p0, captures, RDIV_EXPR);
    4602          691 :                       if (res) return res;
    4603              :                     }
    4604          690 :                     break;
    4605              :                   }
    4606         1004 :                 default:;
    4607              :                 }
    4608         1004 :               {
    4609         1004 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
    4610         1004 :                 tree res = generic_simplify_462 (loc, type, _p0, captures, RDIV_EXPR);
    4611         1004 :                 if (res) return res;
    4612              :               }
    4613         1002 :               break;
    4614              :             }
    4615         3118 :           default:;
    4616              :           }
    4617         3118 :         switch (TREE_CODE (_q21))
    4618              :           {
    4619         1690 :           CASE_CONVERT:
    4620         1690 :             {
    4621         1690 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4622         1690 :               {
    4623         1690 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
    4624         1690 :                 tree res = generic_simplify_463 (loc, type, _p0, captures, RDIV_EXPR);
    4625         1690 :                 if (res) return res;
    4626              :               }
    4627         1045 :               break;
    4628              :             }
    4629         2473 :           default:;
    4630              :           }
    4631         2473 :         {
    4632         2473 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
    4633         2473 :           tree res = generic_simplify_464 (loc, type, _p0, captures, RDIV_EXPR);
    4634         2473 :           if (res) return res;
    4635              :         }
    4636         2431 :         break;
    4637              :       }
    4638       748726 :     case NEGATE_EXPR:
    4639       748726 :       {
    4640       748726 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4641       748726 :         {
    4642       748726 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4643       748726 :           tree res = generic_simplify_465 (loc, type, _p0, captures);
    4644       748726 :           if (res) return res;
    4645              :         }
    4646       748704 :         break;
    4647              :       }
    4648              :     default:;
    4649              :     }
    4650              :   return NULL_TREE;
    4651              : }
    4652              : 
    4653              : tree
    4654      2138147 : generic_simplify_FLOOR_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4655              : {
    4656      2138147 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4657      2138147 :   if (integer_onep (_p1))
    4658              :     {
    4659       775900 :       {
    4660       775900 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4661       775900 :         tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4662       775900 :         if (res) return res;
    4663              :       }
    4664              :     }
    4665      1362247 :   if (integer_zerop (_p0))
    4666              :     {
    4667            4 :       {
    4668            4 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4669            4 :         tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4670            4 :         if (res) return res;
    4671              :       }
    4672              :     }
    4673      1362243 :   switch (TREE_CODE (_p1))
    4674              :     {
    4675          981 :     case SSA_NAME:
    4676          981 :       {
    4677          981 :         {
    4678          981 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4679          981 :           tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4680          981 :           if (res) return res;
    4681              :         }
    4682          981 :         break;
    4683              :       }
    4684      1362243 :     default:;
    4685              :     }
    4686      1362243 : if (integer_minus_onep (_p1))
    4687              :   {
    4688          229 :     {
    4689          229 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4690          229 :       tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4691          229 :       if (res) return res;
    4692              :     }
    4693              :   }
    4694      1362182 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4695              :     {
    4696            0 :       {
    4697            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4698            0 :         tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4699            0 :         if (res) return res;
    4700              :       }
    4701              :     }
    4702      1362182 :   switch (TREE_CODE (_p1))
    4703              :     {
    4704            0 :     case ABS_EXPR:
    4705            0 :       {
    4706            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4707            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4708              :           {
    4709            0 :             {
    4710            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4711            0 :               tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4712            0 :               if (res) return res;
    4713              :             }
    4714              :           }
    4715              :         break;
    4716              :       }
    4717      1362182 :     default:;
    4718              :     }
    4719      1362182 :   switch (TREE_CODE (_p0))
    4720              :     {
    4721            0 :     case ABS_EXPR:
    4722            0 :       {
    4723            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4724            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4725              :           {
    4726            0 :             {
    4727            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4728            0 :               tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4729            0 :               if (res) return res;
    4730              :             }
    4731              :           }
    4732              :         break;
    4733              :       }
    4734      1362182 :     default:;
    4735              :     }
    4736      1362182 :   switch (TREE_CODE (_p1))
    4737              :     {
    4738            0 :     case NEGATE_EXPR:
    4739            0 :       {
    4740            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4741            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4742              :           {
    4743            0 :             {
    4744            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4745            0 :               tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4746            0 :               if (res) return res;
    4747              :             }
    4748              :           }
    4749              :         break;
    4750              :       }
    4751      1362182 :     default:;
    4752              :     }
    4753      1362182 :   switch (TREE_CODE (_p0))
    4754              :     {
    4755          364 :     case NEGATE_EXPR:
    4756          364 :       {
    4757          364 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4758          364 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4759              :           {
    4760            0 :             {
    4761            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4762            0 :               tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4763            0 :               if (res) return res;
    4764              :             }
    4765              :           }
    4766              :         break;
    4767              :       }
    4768      1362182 :     default:;
    4769              :     }
    4770      1362182 :   {
    4771      1362182 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4772      1362182 :     tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, TRUNC_DIV_EXPR);
    4773      1362182 :     if (res) return res;
    4774              :   }
    4775         5580 :   switch (TREE_CODE (_p0))
    4776              :     {
    4777          388 :     CASE_CONVERT:
    4778          388 :       {
    4779          388 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4780          388 :         switch (TREE_CODE (_q20))
    4781              :           {
    4782            0 :           case BIT_AND_EXPR:
    4783            0 :             {
    4784            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4785            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4786            0 :               switch (TREE_CODE (_q31))
    4787              :                 {
    4788            0 :                 case INTEGER_CST:
    4789            0 :                   {
    4790            0 :                     switch (TREE_CODE (_p1))
    4791              :                       {
    4792            0 :                       case INTEGER_CST:
    4793            0 :                         {
    4794            0 :                           {
    4795            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4796            0 :                             tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4797            0 :                             if (res) return res;
    4798              :                           }
    4799            0 :                           break;
    4800              :                         }
    4801              :                       default:;
    4802              :                       }
    4803              :                     break;
    4804              :                   }
    4805              :                 default:;
    4806              :                 }
    4807              :               break;
    4808              :             }
    4809              :           default:;
    4810              :           }
    4811              :         break;
    4812              :       }
    4813            0 :     case BIT_AND_EXPR:
    4814            0 :       {
    4815            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4816            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4817            0 :         switch (TREE_CODE (_q21))
    4818              :           {
    4819            0 :           case INTEGER_CST:
    4820            0 :             {
    4821            0 :               switch (TREE_CODE (_p1))
    4822              :                 {
    4823            0 :                 case INTEGER_CST:
    4824            0 :                   {
    4825            0 :                     {
    4826            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4827            0 :                       tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4828            0 :                       if (res) return res;
    4829              :                     }
    4830            0 :                     break;
    4831              :                   }
    4832              :                 default:;
    4833              :                 }
    4834              :               break;
    4835              :             }
    4836              :           default:;
    4837              :           }
    4838              :         break;
    4839              :       }
    4840            0 :     case MULT_EXPR:
    4841            0 :       {
    4842            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4843            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4844            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4845              :           {
    4846            0 :             {
    4847            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4848            0 :               tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4849            0 :               if (res) return res;
    4850              :             }
    4851              :           }
    4852            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4853              :           {
    4854            0 :             {
    4855            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4856            0 :               tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4857            0 :               if (res) return res;
    4858              :             }
    4859              :           }
    4860            0 :         switch (TREE_CODE (_q21))
    4861              :           {
    4862            0 :           case INTEGER_CST:
    4863            0 :             {
    4864            0 :               switch (TREE_CODE (_p1))
    4865              :                 {
    4866            0 :                 case MULT_EXPR:
    4867            0 :                   {
    4868            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4869            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4870            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4871              :                       {
    4872            0 :                         switch (TREE_CODE (_q51))
    4873              :                           {
    4874            0 :                           case INTEGER_CST:
    4875            0 :                             {
    4876            0 :                               {
    4877            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4878            0 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4879            0 :                                 if (res) return res;
    4880              :                               }
    4881            0 :                               break;
    4882              :                             }
    4883              :                           default:;
    4884              :                           }
    4885              :                       }
    4886              :                     break;
    4887              :                   }
    4888              :                 default:;
    4889              :                 }
    4890              :               break;
    4891              :             }
    4892              :           default:;
    4893              :           }
    4894              :         break;
    4895              :       }
    4896            0 :     case VEC_COND_EXPR:
    4897            0 :       {
    4898            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4899            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4900            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4901            0 :         switch (TREE_CODE (_p1))
    4902              :           {
    4903            0 :           case VEC_COND_EXPR:
    4904            0 :             {
    4905            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4906            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4907            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4908            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4909              :                 {
    4910            0 :                   {
    4911            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4912            0 :                     if (VECTOR_TYPE_P (type)
    4913              :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4914              :  || types_match (type, TREE_TYPE (captures[2]))
    4915              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4916              :  || (optimize_vectors_before_lowering_p ()
    4917              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4918              : )
    4919              :                       {
    4920            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1662;
    4921            0 :                         {
    4922            0 :                           tree res_op0;
    4923            0 :                           res_op0 = captures[1];
    4924            0 :                           tree res_op1;
    4925            0 :                           {
    4926            0 :                             tree _o1[2], _r1;
    4927            0 :                             _o1[0] = captures[2];
    4928            0 :                             _o1[1] = captures[5];
    4929            0 :                             _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4930            0 :                             if (EXPR_P (_r1))
    4931            0 :                               goto next_after_fail1662;
    4932            0 :                             res_op1 = _r1;
    4933              :                           }
    4934            0 :                           tree res_op2;
    4935            0 :                           {
    4936            0 :                             tree _o1[2], _r1;
    4937            0 :                             _o1[0] = captures[3];
    4938            0 :                             _o1[1] = captures[6];
    4939            0 :                             _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4940            0 :                             if (EXPR_P (_r1))
    4941            0 :                               goto next_after_fail1662;
    4942            0 :                             res_op2 = _r1;
    4943              :                           }
    4944            0 :                           tree _r;
    4945            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4946            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    4947              :                           return _r;
    4948              :                         }
    4949            0 : next_after_fail1662:;
    4950              :                       }
    4951              :                   }
    4952              :                 }
    4953              :               break;
    4954              :             }
    4955            0 :           default:;
    4956              :           }
    4957            0 :         {
    4958            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    4959            0 :           if (VECTOR_TYPE_P (type)
    4960              :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4961              :  || types_match (type, TREE_TYPE (captures[2]))
    4962              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4963              :  || (optimize_vectors_before_lowering_p ()
    4964              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4965              : )
    4966              :             {
    4967            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1663;
    4968            0 :               {
    4969            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1663;
    4970            0 :                 tree res_op0;
    4971            0 :                 res_op0 = captures[1];
    4972            0 :                 tree res_op1;
    4973            0 :                 {
    4974            0 :                   tree _o1[2], _r1;
    4975            0 :                   _o1[0] = captures[2];
    4976            0 :                   _o1[1] = unshare_expr (captures[4]);
    4977            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4978            0 :                   if (EXPR_P (_r1))
    4979            0 :                     goto next_after_fail1663;
    4980            0 :                   res_op1 = _r1;
    4981              :                 }
    4982            0 :                 tree res_op2;
    4983            0 :                 {
    4984            0 :                   tree _o1[2], _r1;
    4985            0 :                   _o1[0] = captures[3];
    4986            0 :                   _o1[1] = captures[4];
    4987            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4988            0 :                   if (EXPR_P (_r1))
    4989            0 :                     goto next_after_fail1663;
    4990            0 :                   res_op2 = _r1;
    4991              :                 }
    4992            0 :                 tree _r;
    4993            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4994            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    4995              :                 return _r;
    4996              :               }
    4997         5580 : next_after_fail1663:;
    4998              :             }
    4999              :         }
    5000              :         break;
    5001              :       }
    5002         5580 :     default:;
    5003              :     }
    5004         5580 :   switch (TREE_CODE (_p1))
    5005              :     {
    5006            0 :     case VEC_COND_EXPR:
    5007            0 :       {
    5008            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5009            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5010            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5011            0 :         {
    5012            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5013            0 :           if (VECTOR_TYPE_P (type)
    5014              :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    5015              :  || types_match (type, TREE_TYPE (captures[3]))
    5016              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5017              :  || (optimize_vectors_before_lowering_p ()
    5018              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5019              : )
    5020              :             {
    5021            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1664;
    5022            0 :               {
    5023            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1664;
    5024            0 :                 tree res_op0;
    5025            0 :                 res_op0 = captures[2];
    5026            0 :                 tree res_op1;
    5027            0 :                 {
    5028            0 :                   tree _o1[2], _r1;
    5029            0 :                   _o1[0] = unshare_expr (captures[0]);
    5030            0 :                   _o1[1] = captures[3];
    5031            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    5032            0 :                   if (EXPR_P (_r1))
    5033            0 :                     goto next_after_fail1664;
    5034            0 :                   res_op1 = _r1;
    5035              :                 }
    5036            0 :                 tree res_op2;
    5037            0 :                 {
    5038            0 :                   tree _o1[2], _r1;
    5039            0 :                   _o1[0] = captures[0];
    5040            0 :                   _o1[1] = captures[4];
    5041            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    5042            0 :                   if (EXPR_P (_r1))
    5043            0 :                     goto next_after_fail1664;
    5044            0 :                   res_op2 = _r1;
    5045              :                 }
    5046            0 :                 tree _r;
    5047            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5048            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    5049              :                 return _r;
    5050              :               }
    5051      2138147 : next_after_fail1664:;
    5052              :             }
    5053              :         }
    5054              :         break;
    5055              :       }
    5056              :     default:;
    5057              :     }
    5058              :   return NULL_TREE;
    5059              : }
    5060              : 
    5061              : tree
    5062       889686 : generic_simplify_FLOOR_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5063              : {
    5064       889686 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5065       889686 :   {
    5066       889686 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5067       889686 :     tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR, TRUNC_MOD_EXPR);
    5068       889686 :     if (res) return res;
    5069              :   }
    5070         3552 :   if (integer_zerop (_p0))
    5071              :     {
    5072            0 :       {
    5073            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5074            0 :         tree res = generic_simplify_343 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5075            0 :         if (res) return res;
    5076              :       }
    5077              :     }
    5078         3552 :   if (integer_onep (_p1))
    5079              :     {
    5080            0 :       {
    5081            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5082            0 :         tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5083            0 :         if (res) return res;
    5084              :       }
    5085              :     }
    5086         3552 :   if (integer_minus_onep (_p1))
    5087              :     {
    5088            0 :       {
    5089            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5090            0 :         tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5091            0 :         if (res) return res;
    5092              :       }
    5093              :     }
    5094         3552 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5095              :     {
    5096            0 :       {
    5097            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5098            0 :         tree res = generic_simplify_346 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5099            0 :         if (res) return res;
    5100              :       }
    5101              :     }
    5102         3552 :   switch (TREE_CODE (_p0))
    5103              :     {
    5104            0 :     case FLOOR_MOD_EXPR:
    5105            0 :       {
    5106            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5107            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5108            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5109              :           {
    5110            0 :             {
    5111            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5112            0 :               tree res = generic_simplify_347 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5113            0 :               if (res) return res;
    5114              :             }
    5115              :           }
    5116              :         break;
    5117              :       }
    5118            4 :     case MULT_EXPR:
    5119            4 :       {
    5120            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5121            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5122            4 :         switch (TREE_CODE (_q21))
    5123              :           {
    5124            4 :           case INTEGER_CST:
    5125            4 :             {
    5126            4 :               switch (TREE_CODE (_p1))
    5127              :                 {
    5128            4 :                 case INTEGER_CST:
    5129            4 :                   {
    5130            4 :                     {
    5131            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5132            4 :                       tree res = generic_simplify_348 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5133            4 :                       if (res) return res;
    5134              :                     }
    5135            4 :                     break;
    5136              :                   }
    5137              :                 default:;
    5138              :                 }
    5139              :               break;
    5140              :             }
    5141              :           default:;
    5142              :           }
    5143              :         break;
    5144              :       }
    5145         3552 :     default:;
    5146              :     }
    5147         3552 :   switch (TREE_CODE (_p1))
    5148              :     {
    5149            1 :     CASE_CONVERT:
    5150            1 :       {
    5151            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5152            1 :         {
    5153            1 :           tree _q30_pops[1];
    5154            1 :           if (tree_power_of_two_cand (_q30, _q30_pops))
    5155              :             {
    5156            0 :               tree _q40 = _q30_pops[0];
    5157            0 :               {
    5158            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
    5159            0 :                 tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5160            0 :                 if (res) return res;
    5161              :               }
    5162              :             }
    5163              :         }
    5164            1 :         break;
    5165              :       }
    5166         3552 :     default:;
    5167              :     }
    5168         3552 : {
    5169         3552 :   tree _p1_pops[1];
    5170         3552 :   if (tree_power_of_two_cand (_p1, _p1_pops))
    5171              :     {
    5172         1769 :       tree _q30 = _p1_pops[0];
    5173         1769 :       {
    5174         1769 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    5175         1769 :         tree res = generic_simplify_349 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5176         1769 :         if (res) return res;
    5177              :       }
    5178              :     }
    5179              : }
    5180         3512 :   switch (TREE_CODE (_p0))
    5181              :     {
    5182            4 :     case MULT_EXPR:
    5183            4 :       {
    5184            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5185            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5186            4 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5187              :           {
    5188            0 :             {
    5189            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5190            0 :               tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5191            0 :               if (res) return res;
    5192              :             }
    5193              :           }
    5194            4 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5195              :           {
    5196            0 :             {
    5197            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5198            0 :               tree res = generic_simplify_350 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    5199            0 :               if (res) return res;
    5200              :             }
    5201              :           }
    5202              :         break;
    5203              :       }
    5204            0 :     case VEC_COND_EXPR:
    5205            0 :       {
    5206            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5207            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5208            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5209            0 :         switch (TREE_CODE (_p1))
    5210              :           {
    5211            0 :           case VEC_COND_EXPR:
    5212            0 :             {
    5213            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5214            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5215            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5216            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5217              :                 {
    5218            0 :                   {
    5219            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5220            0 :                     if (VECTOR_TYPE_P (type)
    5221              :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5222              :  || types_match (type, TREE_TYPE (captures[2]))
    5223              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5224              :  || (optimize_vectors_before_lowering_p ()
    5225              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5226              : )
    5227              :                       {
    5228            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1671;
    5229            0 :                         {
    5230            0 :                           tree res_op0;
    5231            0 :                           res_op0 = captures[1];
    5232            0 :                           tree res_op1;
    5233            0 :                           {
    5234            0 :                             tree _o1[2], _r1;
    5235            0 :                             _o1[0] = captures[2];
    5236            0 :                             _o1[1] = captures[5];
    5237            0 :                             _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5238            0 :                             if (EXPR_P (_r1))
    5239            0 :                               goto next_after_fail1671;
    5240            0 :                             res_op1 = _r1;
    5241              :                           }
    5242            0 :                           tree res_op2;
    5243            0 :                           {
    5244            0 :                             tree _o1[2], _r1;
    5245            0 :                             _o1[0] = captures[3];
    5246            0 :                             _o1[1] = captures[6];
    5247            0 :                             _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5248            0 :                             if (EXPR_P (_r1))
    5249            0 :                               goto next_after_fail1671;
    5250            0 :                             res_op2 = _r1;
    5251              :                           }
    5252            0 :                           tree _r;
    5253            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5254            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    5255              :                           return _r;
    5256              :                         }
    5257            0 : next_after_fail1671:;
    5258              :                       }
    5259              :                   }
    5260              :                 }
    5261              :               break;
    5262              :             }
    5263            0 :           default:;
    5264              :           }
    5265            0 :         {
    5266            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5267            0 :           if (VECTOR_TYPE_P (type)
    5268              :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5269              :  || types_match (type, TREE_TYPE (captures[2]))
    5270              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5271              :  || (optimize_vectors_before_lowering_p ()
    5272              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5273              : )
    5274              :             {
    5275            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1672;
    5276            0 :               {
    5277            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1672;
    5278            0 :                 tree res_op0;
    5279            0 :                 res_op0 = captures[1];
    5280            0 :                 tree res_op1;
    5281            0 :                 {
    5282            0 :                   tree _o1[2], _r1;
    5283            0 :                   _o1[0] = captures[2];
    5284            0 :                   _o1[1] = unshare_expr (captures[4]);
    5285            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5286            0 :                   if (EXPR_P (_r1))
    5287            0 :                     goto next_after_fail1672;
    5288            0 :                   res_op1 = _r1;
    5289              :                 }
    5290            0 :                 tree res_op2;
    5291            0 :                 {
    5292            0 :                   tree _o1[2], _r1;
    5293            0 :                   _o1[0] = captures[3];
    5294            0 :                   _o1[1] = captures[4];
    5295            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5296            0 :                   if (EXPR_P (_r1))
    5297            0 :                     goto next_after_fail1672;
    5298            0 :                   res_op2 = _r1;
    5299              :                 }
    5300            0 :                 tree _r;
    5301            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5302            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    5303              :                 return _r;
    5304              :               }
    5305         3512 : next_after_fail1672:;
    5306              :             }
    5307              :         }
    5308              :         break;
    5309              :       }
    5310         3512 :     default:;
    5311              :     }
    5312         3512 :   switch (TREE_CODE (_p1))
    5313              :     {
    5314            0 :     case VEC_COND_EXPR:
    5315            0 :       {
    5316            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5317            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5318            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5319            0 :         {
    5320            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5321            0 :           if (VECTOR_TYPE_P (type)
    5322              :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5323              :  || types_match (type, TREE_TYPE (captures[3]))
    5324              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5325              :  || (optimize_vectors_before_lowering_p ()
    5326              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5327              : )
    5328              :             {
    5329            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1673;
    5330            0 :               {
    5331            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1673;
    5332            0 :                 tree res_op0;
    5333            0 :                 res_op0 = captures[2];
    5334            0 :                 tree res_op1;
    5335            0 :                 {
    5336            0 :                   tree _o1[2], _r1;
    5337            0 :                   _o1[0] = unshare_expr (captures[0]);
    5338            0 :                   _o1[1] = captures[3];
    5339            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5340            0 :                   if (EXPR_P (_r1))
    5341            0 :                     goto next_after_fail1673;
    5342            0 :                   res_op1 = _r1;
    5343              :                 }
    5344            0 :                 tree res_op2;
    5345            0 :                 {
    5346            0 :                   tree _o1[2], _r1;
    5347            0 :                   _o1[0] = captures[0];
    5348            0 :                   _o1[1] = captures[4];
    5349            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5350            0 :                   if (EXPR_P (_r1))
    5351            0 :                     goto next_after_fail1673;
    5352            0 :                   res_op2 = _r1;
    5353              :                 }
    5354            0 :                 tree _r;
    5355            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5356            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    5357              :                 return _r;
    5358              :               }
    5359       889686 : next_after_fail1673:;
    5360              :             }
    5361              :         }
    5362              :         break;
    5363              :       }
    5364              :     default:;
    5365              :     }
    5366              :   return NULL_TREE;
    5367              : }
    5368              : 
    5369              : tree
    5370     17939535 : generic_simplify_LT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5371              : {
    5372     17939535 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5373     17939535 :   switch (TREE_CODE (_p0))
    5374              :     {
    5375         2218 :     case RDIV_EXPR:
    5376         2218 :       {
    5377         2218 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5378         2218 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5379         2218 :         switch (TREE_CODE (_q20))
    5380              :           {
    5381          717 :           case REAL_CST:
    5382          717 :             {
    5383          717 :               if (real_zerop (_p1))
    5384              :                 {
    5385          440 :                   {
    5386          440 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5387          440 :                     tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    5388          440 :                     if (res) return res;
    5389              :                   }
    5390              :                 }
    5391              :               break;
    5392              :             }
    5393              :           default:;
    5394              :           }
    5395              :         break;
    5396              :       }
    5397         2862 :     case TRUNC_MOD_EXPR:
    5398         2862 :       {
    5399         2862 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5400         2862 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5401         2862 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5402              :           {
    5403           11 :             {
    5404           11 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5405           11 :               tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
    5406           11 :               if (res) return res;
    5407              :             }
    5408              :           }
    5409              :         break;
    5410              :       }
    5411       143234 :     case MULT_EXPR:
    5412       143234 :       {
    5413       143234 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5414       143234 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5415       143234 :         switch (TREE_CODE (_p1))
    5416              :           {
    5417        52310 :           case MULT_EXPR:
    5418        52310 :             {
    5419        52310 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5420        52310 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5421        52310 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5422              :                 {
    5423        10353 :                   {
    5424        10353 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5425        10353 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, LT_EXPR);
    5426        10353 :                     if (res) return res;
    5427              :                   }
    5428              :                 }
    5429        43946 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5430              :                 {
    5431            0 :                   {
    5432            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5433            0 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, LT_EXPR);
    5434            0 :                     if (res) return res;
    5435              :                   }
    5436              :                 }
    5437        43946 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5438              :                 {
    5439            0 :                   {
    5440            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5441            0 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, LT_EXPR);
    5442            0 :                     if (res) return res;
    5443              :                   }
    5444              :                 }
    5445        43946 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5446              :                 {
    5447         1405 :                   {
    5448         1405 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5449         1405 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, LT_EXPR);
    5450         1405 :                     if (res) return res;
    5451              :                   }
    5452              :                 }
    5453              :               break;
    5454              :             }
    5455              :           default:;
    5456              :           }
    5457              :         break;
    5458              :       }
    5459      3265693 :     CASE_CONVERT:
    5460      3265693 :       {
    5461      3265693 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5462      3265693 :         switch (TREE_CODE (_q20))
    5463              :           {
    5464          125 :           case EXACT_DIV_EXPR:
    5465          125 :             {
    5466          125 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5467          125 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5468          125 :               switch (TREE_CODE (_q31))
    5469              :                 {
    5470          125 :                 case INTEGER_CST:
    5471          125 :                   {
    5472          125 :                     switch (TREE_CODE (_p1))
    5473              :                       {
    5474           41 :                       CASE_CONVERT:
    5475           41 :                         {
    5476           41 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    5477           41 :                           switch (TREE_CODE (_q60))
    5478              :                             {
    5479            0 :                             case EXACT_DIV_EXPR:
    5480            0 :                               {
    5481            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    5482            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    5483            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    5484              :                                   {
    5485            0 :                                     {
    5486            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    5487            0 :                                       tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, LT_EXPR);
    5488            0 :                                       if (res) return res;
    5489              :                                     }
    5490              :                                   }
    5491              :                                 break;
    5492              :                               }
    5493              :                             default:;
    5494              :                             }
    5495              :                           break;
    5496              :                         }
    5497              :                       default:;
    5498              :                       }
    5499              :                     break;
    5500              :                   }
    5501              :                 default:;
    5502              :                 }
    5503              :               break;
    5504              :             }
    5505              :           default:;
    5506              :           }
    5507              :         break;
    5508              :       }
    5509          929 :     case EXACT_DIV_EXPR:
    5510          929 :       {
    5511          929 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5512          929 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5513          929 :         switch (TREE_CODE (_q21))
    5514              :           {
    5515          929 :           case INTEGER_CST:
    5516          929 :             {
    5517          929 :               switch (TREE_CODE (_p1))
    5518              :                 {
    5519            2 :                 case EXACT_DIV_EXPR:
    5520            2 :                   {
    5521            2 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5522            2 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5523            2 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5524              :                       {
    5525            0 :                         {
    5526            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5527            0 :                           tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, LT_EXPR);
    5528            0 :                           if (res) return res;
    5529              :                         }
    5530              :                       }
    5531              :                     break;
    5532              :                   }
    5533              :                 default:;
    5534              :                 }
    5535              :               break;
    5536              :             }
    5537              :           default:;
    5538              :           }
    5539              :         break;
    5540              :       }
    5541        12652 :     case TRUNC_DIV_EXPR:
    5542        12652 :       {
    5543        12652 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5544        12652 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5545        12652 :         switch (TREE_CODE (_q21))
    5546              :           {
    5547         3504 :           case INTEGER_CST:
    5548         3504 :             {
    5549         3504 :               switch (TREE_CODE (_p1))
    5550              :                 {
    5551         1460 :                 case INTEGER_CST:
    5552         1460 :                   {
    5553         1460 :                     {
    5554         1460 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5555         1460 :                       tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR);
    5556         1460 :                       if (res) return res;
    5557              :                     }
    5558          704 :                     break;
    5559              :                   }
    5560              :                 default:;
    5561              :                 }
    5562              :               break;
    5563              :             }
    5564              :           default:;
    5565              :           }
    5566              :         break;
    5567              :       }
    5568      2374155 :     case PLUS_EXPR:
    5569      2374155 :       {
    5570      2374155 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5571      2374155 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5572      2374155 :         switch (TREE_CODE (_p1))
    5573              :           {
    5574       338379 :           case PLUS_EXPR:
    5575       338379 :             {
    5576       338379 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5577       338379 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5578       338379 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5579              :                 {
    5580       139009 :                   {
    5581       139009 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5582       139009 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, LT_EXPR);
    5583       139009 :                     if (res) return res;
    5584              :                   }
    5585              :                 }
    5586       277611 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5587              :                 {
    5588           26 :                   {
    5589           26 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5590           26 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, LT_EXPR);
    5591           26 :                     if (res) return res;
    5592              :                   }
    5593              :                 }
    5594       277595 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5595              :                 {
    5596           48 :                   {
    5597           48 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5598           48 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, LT_EXPR);
    5599           48 :                     if (res) return res;
    5600              :                   }
    5601              :                 }
    5602       277579 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5603              :                 {
    5604         1779 :                   {
    5605         1779 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5606         1779 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, LT_EXPR);
    5607         1779 :                     if (res) return res;
    5608              :                   }
    5609              :                 }
    5610              :               break;
    5611              :             }
    5612      2312978 :           default:;
    5613              :           }
    5614      2312978 :         switch (TREE_CODE (_q21))
    5615              :           {
    5616      1768924 :           case INTEGER_CST:
    5617      1768924 :             {
    5618      1768924 :               switch (TREE_CODE (_p1))
    5619              :                 {
    5620       271931 :                 case PLUS_EXPR:
    5621       271931 :                   {
    5622       271931 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5623       271931 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5624       271931 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5625              :                       {
    5626        78241 :                         {
    5627        78241 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5628        78241 :                           tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, LT_EXPR);
    5629        78241 :                           if (res) return res;
    5630              :                         }
    5631              :                       }
    5632              :                     break;
    5633              :                   }
    5634              :                 default:;
    5635              :                 }
    5636              :               break;
    5637              :             }
    5638      2312973 :           default:;
    5639              :           }
    5640      2312973 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5641              :           {
    5642       208882 :             {
    5643       208882 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5644       208882 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR);
    5645       208882 :               if (res) return res;
    5646              :             }
    5647              :           }
    5648      2129934 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5649              :           {
    5650        56421 :             {
    5651        56421 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5652        56421 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR);
    5653        56421 :               if (res) return res;
    5654              :             }
    5655              :           }
    5656              :         break;
    5657              :       }
    5658       195263 :     case MINUS_EXPR:
    5659       195263 :       {
    5660       195263 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5661       195263 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5662       195263 :         switch (TREE_CODE (_p1))
    5663              :           {
    5664         5330 :           case MINUS_EXPR:
    5665         5330 :             {
    5666         5330 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5667         5330 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5668         5330 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5669              :                 {
    5670            4 :                   {
    5671            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5672            4 :                     tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, LT_EXPR);
    5673            4 :                     if (res) return res;
    5674              :                   }
    5675              :                 }
    5676         5330 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5677              :                 {
    5678          215 :                   {
    5679          215 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5680          215 :                     tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, LT_EXPR);
    5681          215 :                     if (res) return res;
    5682              :                   }
    5683              :                 }
    5684              :               break;
    5685              :             }
    5686              :           default:;
    5687              :           }
    5688              :         break;
    5689              :       }
    5690       102754 :     case POINTER_DIFF_EXPR:
    5691       102754 :       {
    5692       102754 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5693       102754 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5694       102754 :         switch (TREE_CODE (_p1))
    5695              :           {
    5696          463 :           case POINTER_DIFF_EXPR:
    5697          463 :             {
    5698          463 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5699          463 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5700          463 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5701              :                 {
    5702            0 :                   {
    5703            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5704            0 :                     tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, LT_EXPR);
    5705            0 :                     if (res) return res;
    5706              :                   }
    5707              :                 }
    5708          463 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5709              :                 {
    5710            0 :                   {
    5711            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5712            0 :                     tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, LT_EXPR);
    5713            0 :                     if (res) return res;
    5714              :                   }
    5715              :                 }
    5716              :               break;
    5717              :             }
    5718              :           default:;
    5719              :           }
    5720              :         break;
    5721              :       }
    5722     17685771 :     default:;
    5723              :     }
    5724     17685771 :   switch (TREE_CODE (_p1))
    5725              :     {
    5726       347999 :     case PLUS_EXPR:
    5727       347999 :       {
    5728       347999 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5729       347999 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5730       347999 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5731              :           {
    5732          120 :             {
    5733          120 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5734          120 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GT_EXPR);
    5735          120 :               if (res) return res;
    5736              :             }
    5737              :           }
    5738       347879 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5739              :           {
    5740           81 :             {
    5741           81 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    5742           81 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GT_EXPR);
    5743           81 :               if (res) return res;
    5744              :             }
    5745              :           }
    5746              :         break;
    5747              :       }
    5748        23854 :     case MINUS_EXPR:
    5749        23854 :       {
    5750        23854 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5751        23854 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5752        23854 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5753              :           {
    5754            0 :             {
    5755            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5756            0 :               tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, LT_EXPR);
    5757            0 :               if (res) return res;
    5758              :             }
    5759              :           }
    5760              :         break;
    5761              :       }
    5762     17685651 :     default:;
    5763              :     }
    5764     17685651 :   switch (TREE_CODE (_p0))
    5765              :     {
    5766       195263 :     case MINUS_EXPR:
    5767       195263 :       {
    5768       195263 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5769       195263 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5770       195263 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5771              :           {
    5772         3367 :             {
    5773         3367 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5774         3367 :               tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, GT_EXPR);
    5775         3367 :               if (res) return res;
    5776              :             }
    5777              :           }
    5778              :         break;
    5779              :       }
    5780         1178 :     case BIT_IOR_EXPR:
    5781         1178 :       {
    5782         1178 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5783         1178 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5784         1178 :         if (tree_expr_nonnegative_p (_q20))
    5785              :           {
    5786          418 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5787              :               {
    5788            0 :                 {
    5789            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5790            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    5791            0 :                   if (res) return res;
    5792              :                 }
    5793              :               }
    5794              :           }
    5795         1178 :         if (tree_expr_nonnegative_p (_q21))
    5796              :           {
    5797          823 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5798              :               {
    5799            0 :                 {
    5800            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5801            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    5802            0 :                   if (res) return res;
    5803              :                 }
    5804              :               }
    5805              :           }
    5806              :         break;
    5807              :       }
    5808     17683227 :     default:;
    5809              :     }
    5810     17683227 :   switch (TREE_CODE (_p1))
    5811              :     {
    5812          487 :     case BIT_AND_EXPR:
    5813          487 :       {
    5814          487 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5815          487 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5816          487 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5817              :           {
    5818            0 :             if (tree_expr_nonnegative_p (_q30))
    5819              :               {
    5820            0 :                 {
    5821            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5822            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    5823            0 :                   if (res) return res;
    5824              :                 }
    5825              :               }
    5826              :           }
    5827          487 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5828              :           {
    5829            0 :             if (tree_expr_nonnegative_p (_q31))
    5830              :               {
    5831            0 :                 {
    5832            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5833            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    5834            0 :                   if (res) return res;
    5835              :                 }
    5836              :               }
    5837              :           }
    5838              :         break;
    5839              :       }
    5840     17683227 :     default:;
    5841              :     }
    5842     17683227 :   switch (TREE_CODE (_p0))
    5843              :     {
    5844         9873 :     case MAX_EXPR:
    5845         9873 :       {
    5846         9873 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5847         9873 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5848         9873 :         switch (TREE_CODE (_p1))
    5849              :           {
    5850            8 :           case MIN_EXPR:
    5851            8 :             {
    5852            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5853            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5854            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5855              :                 {
    5856            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5857              :                     {
    5858            0 :                       {
    5859            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5860            0 :                         tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, GT_EXPR);
    5861            0 :                         if (res) return res;
    5862              :                       }
    5863              :                     }
    5864              :                 }
    5865              :               break;
    5866              :             }
    5867              :           default:;
    5868              :           }
    5869              :         break;
    5870              :       }
    5871         9934 :     case MIN_EXPR:
    5872         9934 :       {
    5873         9934 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5874         9934 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5875         9934 :         switch (TREE_CODE (_p1))
    5876              :           {
    5877           16 :           case MAX_EXPR:
    5878           16 :             {
    5879           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5880           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5881           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5882              :                 {
    5883            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5884              :                     {
    5885            0 :                       {
    5886            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5887            0 :                         tree res = generic_simplify_408 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    5888            0 :                         if (res) return res;
    5889              :                       }
    5890              :                     }
    5891              :                 }
    5892              :               break;
    5893              :             }
    5894         9934 :           default:;
    5895              :           }
    5896         9934 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5897              :           {
    5898            1 :             {
    5899            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5900            1 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    5901            1 :               if (res) return res;
    5902              :             }
    5903              :           }
    5904         9933 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5905              :           {
    5906            5 :             {
    5907            5 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5908            5 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    5909            5 :               if (res) return res;
    5910              :             }
    5911              :           }
    5912              :         break;
    5913              :       }
    5914     17683224 :     default:;
    5915              :     }
    5916     17683224 :   switch (TREE_CODE (_p1))
    5917              :     {
    5918         1703 :     case MAX_EXPR:
    5919         1703 :       {
    5920         1703 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5921         1703 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5922         1703 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5923              :           {
    5924            0 :             {
    5925            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5926            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    5927            0 :               if (res) return res;
    5928              :             }
    5929              :           }
    5930         1703 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5931              :           {
    5932            0 :             {
    5933            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5934            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    5935            0 :               if (res) return res;
    5936              :             }
    5937              :           }
    5938              :         break;
    5939              :       }
    5940          907 :     case MIN_EXPR:
    5941          907 :       {
    5942          907 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5943          907 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5944          907 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5945              :           {
    5946            0 :             {
    5947            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5948            0 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    5949            0 :               if (res) return res;
    5950              :             }
    5951              :           }
    5952          907 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5953              :           {
    5954            0 :             {
    5955            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5956            0 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    5957            0 :               if (res) return res;
    5958              :             }
    5959              :           }
    5960              :         break;
    5961              :       }
    5962     17683224 :     default:;
    5963              :     }
    5964     17683224 :   switch (TREE_CODE (_p0))
    5965              :     {
    5966         9873 :     case MAX_EXPR:
    5967         9873 :       {
    5968         9873 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5969         9873 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5970         9873 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5971              :           {
    5972            1 :             {
    5973            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5974            1 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    5975            1 :               if (res) return res;
    5976              :             }
    5977              :           }
    5978         9872 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5979              :           {
    5980            1 :             {
    5981            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5982            1 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    5983            1 :               if (res) return res;
    5984              :             }
    5985              :           }
    5986         9871 :         switch (TREE_CODE (_q21))
    5987              :           {
    5988         9356 :           case INTEGER_CST:
    5989         9356 :             {
    5990         9356 :               switch (TREE_CODE (_p1))
    5991              :                 {
    5992            1 :                 case INTEGER_CST:
    5993            1 :                   {
    5994            1 :                     {
    5995            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5996            1 :                       tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, MAX_EXPR, LT_EXPR, BIT_AND_EXPR);
    5997            1 :                       if (res) return res;
    5998              :                     }
    5999            0 :                     break;
    6000              :                   }
    6001              :                 default:;
    6002              :                 }
    6003              :               break;
    6004              :             }
    6005              :           default:;
    6006              :           }
    6007              :         break;
    6008              :       }
    6009         9931 :     case MIN_EXPR:
    6010         9931 :       {
    6011         9931 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6012         9931 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6013         9931 :         switch (TREE_CODE (_q21))
    6014              :           {
    6015          779 :           case INTEGER_CST:
    6016          779 :             {
    6017          779 :               switch (TREE_CODE (_p1))
    6018              :                 {
    6019            2 :                 case INTEGER_CST:
    6020            2 :                   {
    6021            2 :                     {
    6022            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6023            2 :                       tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, BIT_IOR_EXPR);
    6024            2 :                       if (res) return res;
    6025              :                     }
    6026            0 :                     break;
    6027              :                   }
    6028              :                 default:;
    6029              :                 }
    6030              :               break;
    6031              :             }
    6032         9929 :           default:;
    6033              :           }
    6034         9929 :       if (tree_expr_nonnegative_p (_q21))
    6035              :         {
    6036         1118 :           if (integer_zerop (_p1))
    6037              :             {
    6038            0 :               {
    6039            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6040            0 :                 tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, LT_EXPR, MIN_EXPR);
    6041            0 :                 if (res) return res;
    6042              :               }
    6043              :             }
    6044              :         }
    6045         9929 :         if (tree_expr_nonnegative_p (_q20))
    6046              :           {
    6047          459 :             if (integer_zerop (_p1))
    6048              :               {
    6049            0 :                 {
    6050            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
    6051            0 :                   tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, LT_EXPR, MIN_EXPR);
    6052            0 :                   if (res) return res;
    6053              :                 }
    6054              :               }
    6055              :           }
    6056              :         break;
    6057              :       }
    6058         1178 :     case BIT_IOR_EXPR:
    6059         1178 :       {
    6060         1178 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6061         1178 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6062         1178 :         if (tree_expr_nonnegative_p (_q21))
    6063              :           {
    6064          823 :             if (integer_zerop (_p1))
    6065              :               {
    6066            8 :                 {
    6067            8 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6068            8 :                   tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    6069            8 :                   if (res) return res;
    6070              :                 }
    6071              :               }
    6072              :           }
    6073         1170 :         if (tree_expr_nonnegative_p (_q20))
    6074              :           {
    6075          418 :             if (integer_zerop (_p1))
    6076              :               {
    6077            0 :                 {
    6078            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
    6079            0 :                   tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    6080            0 :                   if (res) return res;
    6081              :                 }
    6082              :               }
    6083              :           }
    6084              :         break;
    6085              :       }
    6086      3265573 :     CASE_CONVERT:
    6087      3265573 :       {
    6088      3265573 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6089      3265573 :         switch (TREE_CODE (_q20))
    6090              :           {
    6091            0 :           case GE_EXPR:
    6092            0 :             {
    6093            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6094            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6095            0 :               if (tree_zero_one_valued_p (_q30))
    6096              :                 {
    6097            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6098              :                     {
    6099            0 :                       {
    6100            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6101            0 :                         tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, LT_EXPR);
    6102            0 :                         if (res) return res;
    6103              :                       }
    6104              :                     }
    6105              :                 }
    6106              :               break;
    6107              :             }
    6108              :           default:;
    6109              :           }
    6110              :         break;
    6111              :       }
    6112           15 :     case GE_EXPR:
    6113           15 :       {
    6114           15 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6115           15 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6116           15 :         if (tree_zero_one_valued_p (_q20))
    6117              :           {
    6118            3 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6119              :               {
    6120            3 :                 {
    6121            3 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6122            3 :                   tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, LT_EXPR);
    6123            3 :                   if (res) return res;
    6124              :                 }
    6125              :               }
    6126              :           }
    6127              :         break;
    6128              :       }
    6129          904 :     case VEC_COND_EXPR:
    6130          904 :       {
    6131          904 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6132          904 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6133          904 :         tree _q22 = TREE_OPERAND (_p0, 2);
    6134          904 :         switch (TREE_CODE (_p1))
    6135              :           {
    6136            0 :           case VEC_COND_EXPR:
    6137            0 :             {
    6138            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    6139            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    6140            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    6141            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6142              :                 {
    6143            0 :                   {
    6144            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    6145            0 :                     if (VECTOR_TYPE_P (type)
    6146            0 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    6147            0 :  || types_match (type, TREE_TYPE (captures[2]))
    6148            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    6149              :  || (optimize_vectors_before_lowering_p ()
    6150            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    6151              : )
    6152              :                       {
    6153            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1712;
    6154            0 :                         {
    6155            0 :                           tree res_op0;
    6156            0 :                           res_op0 = captures[1];
    6157            0 :                           tree res_op1;
    6158            0 :                           {
    6159            0 :                             tree _o1[2], _r1;
    6160            0 :                             _o1[0] = captures[2];
    6161            0 :                             _o1[1] = captures[5];
    6162            0 :                             _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6163            0 :                             if (EXPR_P (_r1))
    6164            0 :                               goto next_after_fail1712;
    6165            0 :                             res_op1 = _r1;
    6166              :                           }
    6167            0 :                           tree res_op2;
    6168            0 :                           {
    6169            0 :                             tree _o1[2], _r1;
    6170            0 :                             _o1[0] = captures[3];
    6171            0 :                             _o1[1] = captures[6];
    6172            0 :                             _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6173            0 :                             if (EXPR_P (_r1))
    6174            0 :                               goto next_after_fail1712;
    6175            0 :                             res_op2 = _r1;
    6176              :                           }
    6177            0 :                           tree _r;
    6178            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6179            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    6180              :                           return _r;
    6181              :                         }
    6182          904 : next_after_fail1712:;
    6183              :                       }
    6184              :                   }
    6185              :                 }
    6186              :               break;
    6187              :             }
    6188          904 :           default:;
    6189              :           }
    6190          904 :         {
    6191          904 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    6192          904 :           if (VECTOR_TYPE_P (type)
    6193         1808 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    6194          904 :  || types_match (type, TREE_TYPE (captures[2]))
    6195          904 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    6196              :  || (optimize_vectors_before_lowering_p ()
    6197            1 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    6198              : )
    6199              :             {
    6200          904 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1713;
    6201          904 :               {
    6202          904 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1713;
    6203           36 :                 tree res_op0;
    6204           36 :                 res_op0 = captures[1];
    6205           36 :                 tree res_op1;
    6206           36 :                 {
    6207           36 :                   tree _o1[2], _r1;
    6208           36 :                   _o1[0] = captures[2];
    6209           36 :                   _o1[1] = unshare_expr (captures[4]);
    6210           36 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6211           36 :                   if (EXPR_P (_r1))
    6212           35 :                     goto next_after_fail1713;
    6213            1 :                   res_op1 = _r1;
    6214              :                 }
    6215            1 :                 tree res_op2;
    6216            1 :                 {
    6217            1 :                   tree _o1[2], _r1;
    6218            1 :                   _o1[0] = captures[3];
    6219            1 :                   _o1[1] = captures[4];
    6220            1 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6221            1 :                   if (EXPR_P (_r1))
    6222            0 :                     goto next_after_fail1713;
    6223            1 :                   res_op2 = _r1;
    6224              :                 }
    6225            1 :                 tree _r;
    6226            1 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6227            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    6228              :                 return _r;
    6229              :               }
    6230     17683207 : next_after_fail1713:;
    6231              :             }
    6232              :         }
    6233              :         break;
    6234              :       }
    6235     17683207 :     default:;
    6236              :     }
    6237     17683207 :   switch (TREE_CODE (_p1))
    6238              :     {
    6239           78 :     case VEC_COND_EXPR:
    6240           78 :       {
    6241           78 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6242           78 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6243           78 :         tree _q32 = TREE_OPERAND (_p1, 2);
    6244           78 :         {
    6245           78 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    6246           78 :           if (VECTOR_TYPE_P (type)
    6247          156 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    6248           78 :  || types_match (type, TREE_TYPE (captures[3]))
    6249           78 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    6250              :  || (optimize_vectors_before_lowering_p ()
    6251            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    6252              : )
    6253              :             {
    6254           78 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1714;
    6255           78 :               {
    6256           78 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1714;
    6257            0 :                 tree res_op0;
    6258            0 :                 res_op0 = captures[2];
    6259            0 :                 tree res_op1;
    6260            0 :                 {
    6261            0 :                   tree _o1[2], _r1;
    6262            0 :                   _o1[0] = unshare_expr (captures[0]);
    6263            0 :                   _o1[1] = captures[3];
    6264            0 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6265            0 :                   if (EXPR_P (_r1))
    6266            0 :                     goto next_after_fail1714;
    6267            0 :                   res_op1 = _r1;
    6268              :                 }
    6269            0 :                 tree res_op2;
    6270            0 :                 {
    6271            0 :                   tree _o1[2], _r1;
    6272            0 :                   _o1[0] = captures[0];
    6273            0 :                   _o1[1] = captures[4];
    6274            0 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    6275            0 :                   if (EXPR_P (_r1))
    6276            0 :                     goto next_after_fail1714;
    6277            0 :                   res_op2 = _r1;
    6278              :                 }
    6279            0 :                 tree _r;
    6280            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6281            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    6282              :                 return _r;
    6283              :               }
    6284     17683207 : next_after_fail1714:;
    6285              :             }
    6286              :         }
    6287              :         break;
    6288              :       }
    6289     17683207 :     default:;
    6290              :     }
    6291     17683207 : if (uniform_integer_cst_p (_p1))
    6292              :   {
    6293      6313775 :     {
    6294      6313775 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6295      6313775 :       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
    6296      6313775 :       if (res) return res;
    6297              :     }
    6298              :   }
    6299     15239178 :   switch (TREE_CODE (_p0))
    6300              :     {
    6301       185561 :     case MINUS_EXPR:
    6302       185561 :       {
    6303       185561 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6304       185561 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6305       185561 :         switch (TREE_CODE (_q20))
    6306              :           {
    6307         4236 :           CASE_CONVERT:
    6308         4236 :             {
    6309         4236 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6310         4236 :               switch (TREE_CODE (_q30))
    6311              :                 {
    6312            0 :                 case GT_EXPR:
    6313            0 :                   {
    6314            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6315            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6316            0 :                     switch (TREE_CODE (_q21))
    6317              :                       {
    6318            0 :                       CASE_CONVERT:
    6319            0 :                         {
    6320            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    6321            0 :                           switch (TREE_CODE (_q70))
    6322              :                             {
    6323            0 :                             case LT_EXPR:
    6324            0 :                               {
    6325            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6326            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6327            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    6328              :                                   {
    6329            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    6330              :                                       {
    6331            0 :                                         if (integer_zerop (_p1))
    6332              :                                           {
    6333            0 :                                             {
    6334            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    6335            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, LT_EXPR);
    6336            0 :                                               if (res) return res;
    6337              :                                             }
    6338              :                                           }
    6339              :                                       }
    6340              :                                   }
    6341              :                                 break;
    6342              :                               }
    6343            0 :                             case GT_EXPR:
    6344            0 :                               {
    6345            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6346            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6347            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    6348              :                                   {
    6349            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    6350              :                                       {
    6351            0 :                                         if (integer_zerop (_p1))
    6352              :                                           {
    6353            0 :                                             {
    6354            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    6355            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, LT_EXPR);
    6356            0 :                                               if (res) return res;
    6357              :                                             }
    6358              :                                           }
    6359              :                                       }
    6360              :                                   }
    6361              :                                 break;
    6362              :                               }
    6363              :                             default:;
    6364              :                             }
    6365              :                           break;
    6366              :                         }
    6367              :                       default:;
    6368              :                       }
    6369              :                     break;
    6370              :                   }
    6371            0 :                 case GE_EXPR:
    6372            0 :                   {
    6373            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6374            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6375            0 :                     switch (TREE_CODE (_q21))
    6376              :                       {
    6377            0 :                       CASE_CONVERT:
    6378            0 :                         {
    6379            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    6380            0 :                           switch (TREE_CODE (_q70))
    6381              :                             {
    6382            0 :                             case LE_EXPR:
    6383            0 :                               {
    6384            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6385            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6386            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    6387              :                                   {
    6388            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    6389              :                                       {
    6390            0 :                                         if (integer_zerop (_p1))
    6391              :                                           {
    6392            0 :                                             {
    6393            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    6394            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, LT_EXPR);
    6395            0 :                                               if (res) return res;
    6396              :                                             }
    6397              :                                           }
    6398              :                                       }
    6399              :                                   }
    6400              :                                 break;
    6401              :                               }
    6402            0 :                             case GE_EXPR:
    6403            0 :                               {
    6404            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6405            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6406            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    6407              :                                   {
    6408            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    6409              :                                       {
    6410            0 :                                         if (integer_zerop (_p1))
    6411              :                                           {
    6412            0 :                                             {
    6413            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    6414            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, LT_EXPR);
    6415            0 :                                               if (res) return res;
    6416              :                                             }
    6417              :                                           }
    6418              :                                       }
    6419              :                                   }
    6420              :                                 break;
    6421              :                               }
    6422              :                             default:;
    6423              :                             }
    6424              :                           break;
    6425              :                         }
    6426              :                       default:;
    6427              :                       }
    6428              :                     break;
    6429              :                   }
    6430            0 :                 case LT_EXPR:
    6431            0 :                   {
    6432            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6433            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6434            0 :                     switch (TREE_CODE (_q21))
    6435              :                       {
    6436            0 :                       CASE_CONVERT:
    6437            0 :                         {
    6438            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    6439            0 :                           switch (TREE_CODE (_q70))
    6440              :                             {
    6441            0 :                             case LT_EXPR:
    6442            0 :                               {
    6443            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6444            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6445            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    6446              :                                   {
    6447            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    6448              :                                       {
    6449            0 :                                         if (integer_zerop (_p1))
    6450              :                                           {
    6451            0 :                                             {
    6452            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    6453            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, LT_EXPR);
    6454            0 :                                               if (res) return res;
    6455              :                                             }
    6456              :                                           }
    6457              :                                       }
    6458              :                                   }
    6459              :                                 break;
    6460              :                               }
    6461            0 :                             case GT_EXPR:
    6462            0 :                               {
    6463            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6464            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6465            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    6466              :                                   {
    6467            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    6468              :                                       {
    6469            0 :                                         if (integer_zerop (_p1))
    6470              :                                           {
    6471            0 :                                             {
    6472            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    6473            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, LT_EXPR);
    6474            0 :                                               if (res) return res;
    6475              :                                             }
    6476              :                                           }
    6477              :                                       }
    6478              :                                   }
    6479              :                                 break;
    6480              :                               }
    6481              :                             default:;
    6482              :                             }
    6483              :                           break;
    6484              :                         }
    6485              :                       default:;
    6486              :                       }
    6487              :                     break;
    6488              :                   }
    6489            0 :                 case LE_EXPR:
    6490            0 :                   {
    6491            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6492            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6493            0 :                     switch (TREE_CODE (_q21))
    6494              :                       {
    6495            0 :                       CASE_CONVERT:
    6496            0 :                         {
    6497            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    6498            0 :                           switch (TREE_CODE (_q70))
    6499              :                             {
    6500            0 :                             case LE_EXPR:
    6501            0 :                               {
    6502            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6503            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6504            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    6505              :                                   {
    6506            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    6507              :                                       {
    6508            0 :                                         if (integer_zerop (_p1))
    6509              :                                           {
    6510            0 :                                             {
    6511            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    6512            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, LT_EXPR);
    6513            0 :                                               if (res) return res;
    6514              :                                             }
    6515              :                                           }
    6516              :                                       }
    6517              :                                   }
    6518              :                                 break;
    6519              :                               }
    6520            0 :                             case GE_EXPR:
    6521            0 :                               {
    6522            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    6523            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    6524            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    6525              :                                   {
    6526            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    6527              :                                       {
    6528            0 :                                         if (integer_zerop (_p1))
    6529              :                                           {
    6530            0 :                                             {
    6531            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    6532            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, LT_EXPR);
    6533            0 :                                               if (res) return res;
    6534              :                                             }
    6535              :                                           }
    6536              :                                       }
    6537              :                                   }
    6538              :                                 break;
    6539              :                               }
    6540              :                             default:;
    6541              :                             }
    6542              :                           break;
    6543              :                         }
    6544              :                       default:;
    6545              :                       }
    6546              :                     break;
    6547              :                   }
    6548              :                 default:;
    6549              :                 }
    6550              :               break;
    6551              :             }
    6552            0 :           case GT_EXPR:
    6553            0 :             {
    6554            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6555            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6556            0 :               switch (TREE_CODE (_q21))
    6557              :                 {
    6558            0 :                 case LT_EXPR:
    6559            0 :                   {
    6560            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    6561            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    6562            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    6563              :                       {
    6564            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    6565              :                           {
    6566            0 :                             if (integer_zerop (_p1))
    6567              :                               {
    6568            0 :                                 {
    6569            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    6570            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, LT_EXPR);
    6571            0 :                                   if (res) return res;
    6572              :                                 }
    6573              :                               }
    6574              :                           }
    6575              :                       }
    6576              :                     break;
    6577              :                   }
    6578            0 :                 case GT_EXPR:
    6579            0 :                   {
    6580            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    6581            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    6582            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    6583              :                       {
    6584            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    6585              :                           {
    6586            0 :                             if (integer_zerop (_p1))
    6587              :                               {
    6588            0 :                                 {
    6589            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    6590            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, LT_EXPR);
    6591            0 :                                   if (res) return res;
    6592              :                                 }
    6593              :                               }
    6594              :                           }
    6595              :                       }
    6596              :                     break;
    6597              :                   }
    6598              :                 default:;
    6599              :                 }
    6600              :               break;
    6601              :             }
    6602            0 :           case GE_EXPR:
    6603            0 :             {
    6604            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6605            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6606            0 :               switch (TREE_CODE (_q21))
    6607              :                 {
    6608            0 :                 case LE_EXPR:
    6609            0 :                   {
    6610            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    6611            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    6612            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    6613              :                       {
    6614            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    6615              :                           {
    6616            0 :                             if (integer_zerop (_p1))
    6617              :                               {
    6618            0 :                                 {
    6619            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    6620            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, LT_EXPR);
    6621            0 :                                   if (res) return res;
    6622              :                                 }
    6623              :                               }
    6624              :                           }
    6625              :                       }
    6626              :                     break;
    6627              :                   }
    6628            0 :                 case GE_EXPR:
    6629            0 :                   {
    6630            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    6631            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    6632            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    6633              :                       {
    6634            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    6635              :                           {
    6636            0 :                             if (integer_zerop (_p1))
    6637              :                               {
    6638            0 :                                 {
    6639            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    6640            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, LT_EXPR);
    6641            0 :                                   if (res) return res;
    6642              :                                 }
    6643              :                               }
    6644              :                           }
    6645              :                       }
    6646              :                     break;
    6647              :                   }
    6648              :                 default:;
    6649              :                 }
    6650              :               break;
    6651              :             }
    6652            0 :           case LT_EXPR:
    6653            0 :             {
    6654            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6655            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6656            0 :               switch (TREE_CODE (_q21))
    6657              :                 {
    6658            0 :                 case LT_EXPR:
    6659            0 :                   {
    6660            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    6661            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    6662            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    6663              :                       {
    6664            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    6665              :                           {
    6666            0 :                             if (integer_zerop (_p1))
    6667              :                               {
    6668            0 :                                 {
    6669            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    6670            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, LT_EXPR);
    6671            0 :                                   if (res) return res;
    6672              :                                 }
    6673              :                               }
    6674              :                           }
    6675              :                       }
    6676              :                     break;
    6677              :                   }
    6678            0 :                 case GT_EXPR:
    6679            0 :                   {
    6680            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    6681            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    6682            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    6683              :                       {
    6684            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    6685              :                           {
    6686            0 :                             if (integer_zerop (_p1))
    6687              :                               {
    6688            0 :                                 {
    6689            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    6690            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, LT_EXPR);
    6691            0 :                                   if (res) return res;
    6692              :                                 }
    6693              :                               }
    6694              :                           }
    6695              :                       }
    6696              :                     break;
    6697              :                   }
    6698              :                 default:;
    6699              :                 }
    6700              :               break;
    6701              :             }
    6702            0 :           case LE_EXPR:
    6703            0 :             {
    6704            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6705            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6706            0 :               switch (TREE_CODE (_q21))
    6707              :                 {
    6708            0 :                 case LE_EXPR:
    6709            0 :                   {
    6710            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    6711            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    6712            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    6713              :                       {
    6714            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    6715              :                           {
    6716            0 :                             if (integer_zerop (_p1))
    6717              :                               {
    6718            0 :                                 {
    6719            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    6720            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, LT_EXPR);
    6721            0 :                                   if (res) return res;
    6722              :                                 }
    6723              :                               }
    6724              :                           }
    6725              :                       }
    6726              :                     break;
    6727              :                   }
    6728            0 :                 case GE_EXPR:
    6729            0 :                   {
    6730            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    6731            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    6732            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    6733              :                       {
    6734            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    6735              :                           {
    6736            0 :                             if (integer_zerop (_p1))
    6737              :                               {
    6738            0 :                                 {
    6739            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    6740            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, LT_EXPR);
    6741            0 :                                   if (res) return res;
    6742              :                                 }
    6743              :                               }
    6744              :                           }
    6745              :                       }
    6746              :                     break;
    6747              :                   }
    6748              :                 default:;
    6749              :                 }
    6750              :               break;
    6751              :             }
    6752              :           default:;
    6753              :           }
    6754              :         break;
    6755              :       }
    6756       127185 :     case MULT_EXPR:
    6757       127185 :       {
    6758       127185 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6759       127185 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6760       127185 :         switch (TREE_CODE (_q21))
    6761              :           {
    6762        67935 :           case INTEGER_CST:
    6763        67935 :             {
    6764        67935 :               if (integer_zerop (_p1))
    6765              :                 {
    6766         3968 :                   {
    6767         3968 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6768         3968 :                     tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6769         3968 :                     if (res) return res;
    6770              :                   }
    6771              :                 }
    6772              :               break;
    6773              :             }
    6774              :           default:;
    6775              :           }
    6776              :         break;
    6777              :       }
    6778     15236564 :     default:;
    6779              :     }
    6780     15236564 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    6781              :     {
    6782         7515 :       {
    6783         7515 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6784         7515 :         tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, LT_EXPR);
    6785         7515 :         if (res) return res;
    6786              :       }
    6787              :     }
    6788     15229049 :   switch (TREE_CODE (_p0))
    6789              :     {
    6790         2497 :     case BIT_NOT_EXPR:
    6791         2497 :       {
    6792         2497 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6793         2497 :         switch (TREE_CODE (_p1))
    6794              :           {
    6795           11 :           case BIT_NOT_EXPR:
    6796           11 :             {
    6797           11 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6798           11 :               {
    6799           11 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    6800           11 :                 tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, LT_EXPR);
    6801           11 :                 if (res) return res;
    6802              :               }
    6803            0 :               break;
    6804              :             }
    6805         2486 :           default:;
    6806              :           }
    6807         2486 :       {
    6808         2486 :         tree _p1_pops[1];
    6809         2486 :         if (tree_nop_convert (_p1, _p1_pops))
    6810              :           {
    6811           24 :             tree _q40 = _p1_pops[0];
    6812           24 :             switch (TREE_CODE (_q40))
    6813              :               {
    6814            0 :               case BIT_NOT_EXPR:
    6815            0 :                 {
    6816            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6817            0 :                   {
    6818            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    6819            0 :                     tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, LT_EXPR);
    6820            0 :                     if (res) return res;
    6821              :                   }
    6822            0 :                   break;
    6823              :                 }
    6824              :               default:;
    6825              :               }
    6826              :           }
    6827              :       }
    6828         2486 :       if (CONSTANT_CLASS_P (_p1))
    6829              :         {
    6830           21 :           {
    6831           21 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6832           21 :             tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6833           21 :             if (res) return res;
    6834              :           }
    6835              :         }
    6836              :         break;
    6837              :       }
    6838     15229017 :     default:;
    6839              :     }
    6840     15229017 : {
    6841     15229017 :   tree _p0_pops[1];
    6842     15229017 :   if (tree_nop_convert (_p0, _p0_pops))
    6843              :     {
    6844      1825990 :       tree _q20 = _p0_pops[0];
    6845      1825990 :       switch (TREE_CODE (_q20))
    6846              :         {
    6847            0 :         case BIT_NOT_EXPR:
    6848            0 :           {
    6849            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6850            0 :             switch (TREE_CODE (_p1))
    6851              :               {
    6852            0 :               case BIT_NOT_EXPR:
    6853            0 :                 {
    6854            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    6855            0 :                   {
    6856            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    6857            0 :                     tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, LT_EXPR);
    6858            0 :                     if (res) return res;
    6859              :                   }
    6860            0 :                   break;
    6861              :                 }
    6862            0 :               default:;
    6863              :               }
    6864            0 :           {
    6865            0 :             tree _p1_pops[1];
    6866            0 :             if (tree_nop_convert (_p1, _p1_pops))
    6867              :               {
    6868            0 :                 tree _q50 = _p1_pops[0];
    6869            0 :                 switch (TREE_CODE (_q50))
    6870              :                   {
    6871            0 :                   case BIT_NOT_EXPR:
    6872            0 :                     {
    6873            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6874            0 :                       {
    6875            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    6876            0 :                         tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, LT_EXPR);
    6877            0 :                         if (res) return res;
    6878              :                       }
    6879            0 :                       break;
    6880              :                     }
    6881              :                   default:;
    6882              :                   }
    6883              :               }
    6884              :           }
    6885            0 :           if (CONSTANT_CLASS_P (_p1))
    6886              :             {
    6887            0 :               {
    6888            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    6889            0 :                 tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6890            0 :                 if (res) return res;
    6891              :               }
    6892              :             }
    6893              :             break;
    6894              :           }
    6895              :         default:;
    6896              :         }
    6897              :     }
    6898              : }
    6899     15229017 :   switch (TREE_CODE (_p1))
    6900              :     {
    6901      3057145 :     case REAL_CST:
    6902      3057145 :       {
    6903      3057145 :         {
    6904      3057145 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6905      3057145 :           tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, LT_EXPR);
    6906      3057145 :           if (res) return res;
    6907              :         }
    6908      3057042 :         break;
    6909              :       }
    6910     15228914 :     default:;
    6911              :     }
    6912     15228914 :   switch (TREE_CODE (_p0))
    6913              :     {
    6914      2003929 :     case PLUS_EXPR:
    6915      2003929 :       {
    6916      2003929 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6917      2003929 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6918      2003929 :         switch (TREE_CODE (_q21))
    6919              :           {
    6920          538 :           case REAL_CST:
    6921          538 :             {
    6922          538 :               switch (TREE_CODE (_p1))
    6923              :                 {
    6924          236 :                 case REAL_CST:
    6925          236 :                   {
    6926          236 :                     {
    6927          236 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6928          236 :                       tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR);
    6929          236 :                       if (res) return res;
    6930              :                     }
    6931          234 :                     break;
    6932              :                   }
    6933              :                 default:;
    6934              :                 }
    6935              :               break;
    6936              :             }
    6937      1476343 :           case INTEGER_CST:
    6938      1476343 :             {
    6939      1476343 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6940              :                 {
    6941        18078 :                   {
    6942        18078 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    6943        18078 :                     tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6944        18078 :                     if (res) return res;
    6945              :                   }
    6946              :                 }
    6947              :               break;
    6948              :             }
    6949              :           default:;
    6950              :           }
    6951              :         break;
    6952              :       }
    6953       185561 :     case MINUS_EXPR:
    6954       185561 :       {
    6955       185561 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6956       185561 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6957       185561 :         switch (TREE_CODE (_q21))
    6958              :           {
    6959          210 :           case REAL_CST:
    6960          210 :             {
    6961          210 :               switch (TREE_CODE (_p1))
    6962              :                 {
    6963          195 :                 case REAL_CST:
    6964          195 :                   {
    6965          195 :                     {
    6966          195 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6967          195 :                       tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, MINUS_EXPR, LT_EXPR);
    6968          195 :                       if (res) return res;
    6969              :                     }
    6970          195 :                     break;
    6971              :                   }
    6972              :                 default:;
    6973              :                 }
    6974              :               break;
    6975              :             }
    6976       185561 :           default:;
    6977              :           }
    6978       185561 :         switch (TREE_CODE (_q20))
    6979              :           {
    6980        19663 :           case REAL_CST:
    6981        19663 :             {
    6982        19663 :               switch (TREE_CODE (_p1))
    6983              :                 {
    6984        19442 :                 case REAL_CST:
    6985        19442 :                   {
    6986        19442 :                     {
    6987        19442 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6988        19442 :                       tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, LT_EXPR);
    6989        19442 :                       if (res) return res;
    6990              :                     }
    6991        19432 :                     break;
    6992              :                   }
    6993              :                 default:;
    6994              :                 }
    6995              :               break;
    6996              :             }
    6997              :           default:;
    6998              :           }
    6999              :         break;
    7000              :       }
    7001        51212 :     case FLOAT_EXPR:
    7002        51212 :       {
    7003        51212 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7004        51212 :         switch (TREE_CODE (_p1))
    7005              :           {
    7006          105 :           case FLOAT_EXPR:
    7007          105 :             {
    7008          105 :               tree _q40 = TREE_OPERAND (_p1, 0);
    7009          105 :               {
    7010          105 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    7011          105 :                 tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
    7012          105 :                 if (res) return res;
    7013              :               }
    7014           74 :               break;
    7015              :             }
    7016          804 :           case REAL_CST:
    7017          804 :             {
    7018          804 :               {
    7019          804 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7020          804 :                 tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
    7021          804 :                 if (res) return res;
    7022              :               }
    7023          597 :               break;
    7024              :             }
    7025              :           default:;
    7026              :           }
    7027              :         break;
    7028              :       }
    7029          525 :     case EXACT_DIV_EXPR:
    7030          525 :       {
    7031          525 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7032          525 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7033          525 :         switch (TREE_CODE (_q21))
    7034              :           {
    7035          525 :           case INTEGER_CST:
    7036          525 :             {
    7037          525 :               switch (TREE_CODE (_p1))
    7038              :                 {
    7039           19 :                 case INTEGER_CST:
    7040           19 :                   {
    7041           19 :                     {
    7042           19 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7043           19 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, LT_EXPR);
    7044           19 :                       if (res) return res;
    7045              :                     }
    7046            0 :                     break;
    7047              :                   }
    7048              :                 default:;
    7049              :                 }
    7050              :               break;
    7051              :             }
    7052              :           default:;
    7053              :           }
    7054              :         break;
    7055              :       }
    7056      2819075 :     CASE_CONVERT:
    7057      2819075 :       {
    7058      2819075 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7059      2819075 :         switch (TREE_CODE (_q20))
    7060              :           {
    7061          125 :           case EXACT_DIV_EXPR:
    7062          125 :             {
    7063          125 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7064          125 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7065          125 :               switch (TREE_CODE (_q31))
    7066              :                 {
    7067          125 :                 case INTEGER_CST:
    7068          125 :                   {
    7069          125 :                     switch (TREE_CODE (_p1))
    7070              :                       {
    7071            0 :                       case INTEGER_CST:
    7072            0 :                         {
    7073            0 :                           {
    7074            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    7075            0 :                             tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
    7076            0 :                             if (res) return res;
    7077              :                           }
    7078            0 :                           break;
    7079              :                         }
    7080              :                       default:;
    7081              :                       }
    7082              :                     break;
    7083              :                   }
    7084              :                 default:;
    7085              :                 }
    7086              :               break;
    7087              :             }
    7088      2819075 :           default:;
    7089              :           }
    7090      2819075 :         switch (TREE_CODE (_p1))
    7091              :           {
    7092      1510168 :           CASE_CONVERT:
    7093      1510168 :             {
    7094      1510168 :               tree _q40 = TREE_OPERAND (_p1, 0);
    7095      1510168 :               {
    7096      1510168 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    7097      1510168 :                 tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, LT_EXPR);
    7098      1510168 :                 if (res) return res;
    7099              :               }
    7100      1231912 :               break;
    7101              :             }
    7102      2540819 :           default:;
    7103              :           }
    7104      2540819 :         {
    7105      2540819 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    7106      2540819 :           tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, LT_EXPR);
    7107      2540819 :           if (res) return res;
    7108              :         }
    7109      2143804 :         switch (TREE_CODE (_q20))
    7110              :           {
    7111        67437 :           case ADDR_EXPR:
    7112        67437 :             {
    7113        67437 :               switch (TREE_CODE (_p1))
    7114              :                 {
    7115        66865 :                 CASE_CONVERT:
    7116        66865 :                   {
    7117        66865 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    7118        66865 :                     switch (TREE_CODE (_q40))
    7119              :                       {
    7120        66865 :                       case ADDR_EXPR:
    7121        66865 :                         {
    7122        66865 :                           {
    7123        66865 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7124        66865 :                             tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, LT_EXPR);
    7125        66865 :                             if (res) return res;
    7126              :                           }
    7127          314 :                           break;
    7128              :                         }
    7129              :                       default:;
    7130              :                       }
    7131              :                     break;
    7132              :                   }
    7133          475 :                 case ADDR_EXPR:
    7134          475 :                   {
    7135          475 :                     {
    7136          475 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7137          475 :                       tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, LT_EXPR);
    7138          475 :                       if (res) return res;
    7139              :                     }
    7140            0 :                     break;
    7141              :                   }
    7142              :                 default:;
    7143              :                 }
    7144              :               break;
    7145              :             }
    7146      2076778 :           default:;
    7147              :           }
    7148      2076778 :         if (uniform_integer_cst_p (_p1))
    7149              :           {
    7150       315088 :             {
    7151       315088 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7152       315088 :               tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, LT_EXPR);
    7153       315088 :               if (res) return res;
    7154              :             }
    7155              :           }
    7156              :         break;
    7157              :       }
    7158         2256 :     case NEGATE_EXPR:
    7159         2256 :       {
    7160         2256 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7161         2256 :         switch (TREE_CODE (_p1))
    7162              :           {
    7163            0 :           case NEGATE_EXPR:
    7164            0 :             {
    7165            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    7166            0 :               {
    7167            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7168            0 :                 tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    7169            0 :                 if (res) return res;
    7170              :               }
    7171            0 :               break;
    7172              :             }
    7173         2256 :           default:;
    7174              :           }
    7175         2256 :       if (CONSTANT_CLASS_P (_p1))
    7176              :         {
    7177          167 :           {
    7178          167 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7179          167 :             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    7180          167 :             if (res) return res;
    7181              :           }
    7182              :         }
    7183              :         break;
    7184              :       }
    7185        30234 :     case ADDR_EXPR:
    7186        30234 :       {
    7187        30234 :         switch (TREE_CODE (_p1))
    7188              :           {
    7189            0 :           CASE_CONVERT:
    7190            0 :             {
    7191            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    7192            0 :               switch (TREE_CODE (_q30))
    7193              :                 {
    7194            0 :                 case ADDR_EXPR:
    7195            0 :                   {
    7196            0 :                     {
    7197            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    7198            0 :                       tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, LT_EXPR);
    7199            0 :                       if (res) return res;
    7200              :                     }
    7201            0 :                     break;
    7202              :                   }
    7203              :                 default:;
    7204              :                 }
    7205              :               break;
    7206              :             }
    7207        29769 :           case ADDR_EXPR:
    7208        29769 :             {
    7209        29769 :               {
    7210        29769 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    7211        29769 :                 tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, LT_EXPR);
    7212        29769 :                 if (res) return res;
    7213              :               }
    7214          628 :               break;
    7215              :             }
    7216              :           default:;
    7217              :           }
    7218              :         break;
    7219              :       }
    7220      1455088 :     case CALL_EXPR:
    7221      1455088 :       switch (get_call_combined_fn (_p0))
    7222              :         {
    7223            5 :         case CFN_BUILT_IN_SQRTF:
    7224            5 :           if (call_expr_nargs (_p0) == 1)
    7225              :     {
    7226            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7227            5 :               switch (TREE_CODE (_p1))
    7228              :                 {
    7229            5 :                 case REAL_CST:
    7230            5 :                   {
    7231            5 :                     {
    7232            5 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7233            5 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LT_EXPR);
    7234            5 :                       if (res) return res;
    7235              :                     }
    7236            0 :                     break;
    7237              :                   }
    7238            0 :                 case CALL_EXPR:
    7239            0 :                   switch (get_call_combined_fn (_p1))
    7240              :                     {
    7241            0 :                     case CFN_BUILT_IN_SQRTF:
    7242            0 :                       if (call_expr_nargs (_p1) == 1)
    7243              :     {
    7244            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7245            0 :                           {
    7246            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7247            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LT_EXPR);
    7248            0 :                             if (res) return res;
    7249              :                           }
    7250              :                         }
    7251              :                       break;
    7252              :                     default:;
    7253              :                     }
    7254              :                   break;
    7255              :                 default:;
    7256              :                 }
    7257              :             }
    7258              :           break;
    7259            0 :         case CFN_BUILT_IN_SQRTL:
    7260            0 :           if (call_expr_nargs (_p0) == 1)
    7261              :     {
    7262            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7263            0 :               switch (TREE_CODE (_p1))
    7264              :                 {
    7265            0 :                 case REAL_CST:
    7266            0 :                   {
    7267            0 :                     {
    7268            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7269            0 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LT_EXPR);
    7270            0 :                       if (res) return res;
    7271              :                     }
    7272            0 :                     break;
    7273              :                   }
    7274            0 :                 case CALL_EXPR:
    7275            0 :                   switch (get_call_combined_fn (_p1))
    7276              :                     {
    7277            0 :                     case CFN_BUILT_IN_SQRTL:
    7278            0 :                       if (call_expr_nargs (_p1) == 1)
    7279              :     {
    7280            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7281            0 :                           {
    7282            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7283            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LT_EXPR);
    7284            0 :                             if (res) return res;
    7285              :                           }
    7286              :                         }
    7287              :                       break;
    7288              :                     default:;
    7289              :                     }
    7290              :                   break;
    7291              :                 default:;
    7292              :                 }
    7293              :             }
    7294              :           break;
    7295            4 :         case CFN_BUILT_IN_SQRT:
    7296            4 :           if (call_expr_nargs (_p0) == 1)
    7297              :     {
    7298            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7299            4 :               switch (TREE_CODE (_p1))
    7300              :                 {
    7301            4 :                 case REAL_CST:
    7302            4 :                   {
    7303            4 :                     {
    7304            4 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7305            4 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LT_EXPR);
    7306            4 :                       if (res) return res;
    7307              :                     }
    7308            1 :                     break;
    7309              :                   }
    7310            0 :                 case CALL_EXPR:
    7311            0 :                   switch (get_call_combined_fn (_p1))
    7312              :                     {
    7313            0 :                     case CFN_BUILT_IN_SQRT:
    7314            0 :                       if (call_expr_nargs (_p1) == 1)
    7315              :     {
    7316            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7317            0 :                           {
    7318            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7319            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LT_EXPR);
    7320            0 :                             if (res) return res;
    7321              :                           }
    7322              :                         }
    7323              :                       break;
    7324              :                     default:;
    7325              :                     }
    7326              :                   break;
    7327              :                 default:;
    7328              :                 }
    7329              :             }
    7330              :           break;
    7331            0 :         case CFN_SQRT:
    7332            0 :           if (call_expr_nargs (_p0) == 1)
    7333              :     {
    7334            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7335            0 :               switch (TREE_CODE (_p1))
    7336              :                 {
    7337            0 :                 case REAL_CST:
    7338            0 :                   {
    7339            0 :                     {
    7340            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7341            0 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_SQRT, LT_EXPR);
    7342            0 :                       if (res) return res;
    7343              :                     }
    7344            0 :                     break;
    7345              :                   }
    7346            0 :                 case CALL_EXPR:
    7347            0 :                   switch (get_call_combined_fn (_p1))
    7348              :                     {
    7349            0 :                     case CFN_SQRT:
    7350            0 :                       if (call_expr_nargs (_p1) == 1)
    7351              :     {
    7352            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7353            0 :                           {
    7354            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    7355            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_SQRT, LT_EXPR);
    7356            0 :                             if (res) return res;
    7357              :                           }
    7358              :                         }
    7359              :                       break;
    7360              :                     default:;
    7361              :                     }
    7362              :                   break;
    7363              :                 default:;
    7364              :                 }
    7365              :             }
    7366              :           break;
    7367              :         default:;
    7368              :         }
    7369              :       break;
    7370     14436192 :     default:;
    7371              :     }
    7372     14436192 :   switch (TREE_CODE (_p1))
    7373              :     {
    7374      2020146 :     CASE_CONVERT:
    7375      2020146 :       {
    7376      2020146 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7377      2020146 :         switch (TREE_CODE (_q30))
    7378              :           {
    7379            0 :           case NE_EXPR:
    7380            0 :             {
    7381            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7382            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7383            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    7384              :                 {
    7385            0 :                   if (tree_expr_nonnegative_p (_q40))
    7386              :                     {
    7387            0 :                       if (integer_zerop (_q41))
    7388              :                         {
    7389            0 :                           {
    7390            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7391            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1715;
    7392            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1715;
    7393            0 :                             {
    7394            0 :                               tree _r;
    7395            0 :                               _r =  constant_boolean_node (false, type);
    7396            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
    7397              :                               return _r;
    7398              :                             }
    7399     14436192 : next_after_fail1715:;
    7400              :                           }
    7401              :                         }
    7402              :                     }
    7403              :                 }
    7404              :               break;
    7405              :             }
    7406              :           default:;
    7407              :           }
    7408              :         break;
    7409              :       }
    7410     14436192 :     default:;
    7411              :     }
    7412     14436192 : if (uniform_integer_cst_p (_p1))
    7413              :   {
    7414      3467629 :     {
    7415      3467629 :       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    7416      3467629 :       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, LT_EXPR);
    7417      3467629 :       if (res) return res;
    7418              :     }
    7419              :   }
    7420     13982157 :   switch (TREE_CODE (_p0))
    7421              :     {
    7422      2073108 :     CASE_CONVERT:
    7423      2073108 :       {
    7424      2073108 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7425      2073108 :         switch (TREE_CODE (_q20))
    7426              :           {
    7427        77048 :           case PLUS_EXPR:
    7428        77048 :             {
    7429        77048 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7430        77048 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7431        77048 :               switch (TREE_CODE (_q30))
    7432              :                 {
    7433        50464 :                 CASE_CONVERT:
    7434        50464 :                   {
    7435        50464 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    7436        50464 :                     switch (TREE_CODE (_q31))
    7437              :                       {
    7438        50441 :                       case INTEGER_CST:
    7439        50441 :                         {
    7440        50441 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7441              :                             {
    7442           27 :                               {
    7443           27 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    7444           27 :                                 tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    7445           27 :                                 if (res) return res;
    7446              :                               }
    7447              :                             }
    7448              :                           break;
    7449              :                         }
    7450              :                       default:;
    7451              :                       }
    7452              :                     break;
    7453              :                   }
    7454              :                 default:;
    7455              :                 }
    7456              :               break;
    7457              :             }
    7458              :           default:;
    7459              :           }
    7460              :         break;
    7461              :       }
    7462     13982130 :     default:;
    7463              :     }
    7464     13982130 :   switch (TREE_CODE (_p1))
    7465              :     {
    7466      2020146 :     CASE_CONVERT:
    7467      2020146 :       {
    7468      2020146 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7469      2020146 :         switch (TREE_CODE (_q30))
    7470              :           {
    7471        23261 :           case PLUS_EXPR:
    7472        23261 :             {
    7473        23261 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7474        23261 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7475        23261 :               switch (TREE_CODE (_q40))
    7476              :                 {
    7477        20895 :                 CASE_CONVERT:
    7478        20895 :                   {
    7479        20895 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    7480        20895 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7481              :                       {
    7482            0 :                         switch (TREE_CODE (_q41))
    7483              :                           {
    7484            0 :                           case INTEGER_CST:
    7485            0 :                             {
    7486            0 :                               {
    7487            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    7488            0 :                                 tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    7489            0 :                                 if (res) return res;
    7490              :                               }
    7491            0 :                               break;
    7492              :                             }
    7493              :                           default:;
    7494              :                           }
    7495              :                       }
    7496              :                     break;
    7497              :                   }
    7498              :                 default:;
    7499              :                 }
    7500              :               break;
    7501              :             }
    7502              :           default:;
    7503              :           }
    7504              :         break;
    7505              :       }
    7506       347879 :     case PLUS_EXPR:
    7507       347879 :       {
    7508       347879 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7509       347879 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7510       347879 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7511              :           {
    7512           81 :             switch (TREE_CODE (_q31))
    7513              :               {
    7514           65 :               case INTEGER_CST:
    7515           65 :                 {
    7516           65 :                   {
    7517           65 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    7518           65 :                     tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    7519           65 :                     if (res) return res;
    7520              :                   }
    7521            0 :                   break;
    7522              :                 }
    7523              :               default:;
    7524              :               }
    7525              :           }
    7526              :         break;
    7527              :       }
    7528        23854 :     case MINUS_EXPR:
    7529        23854 :       {
    7530        23854 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7531        23854 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7532        23854 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7533              :           {
    7534            0 :             {
    7535            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    7536            0 :               tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, GT_EXPR);
    7537            0 :               if (res) return res;
    7538              :             }
    7539              :           }
    7540              :         break;
    7541              :       }
    7542     13982065 :     default:;
    7543              :     }
    7544     13982065 :   switch (TREE_CODE (_p0))
    7545              :     {
    7546      1964743 :     case PLUS_EXPR:
    7547      1964743 :       {
    7548      1964743 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7549      1964743 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7550      1964743 :         switch (TREE_CODE (_q20))
    7551              :           {
    7552         1348 :           case MINUS_EXPR:
    7553         1348 :             {
    7554         1348 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7555         1348 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7556         1348 :               if (integer_minus_onep (_q21))
    7557              :                 {
    7558           49 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    7559              :                     {
    7560            1 :                       {
    7561            1 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    7562            1 :                         tree res = generic_simplify_422 (loc, type, _p0, _p1, captures, LT_EXPR);
    7563            1 :                         if (res) return res;
    7564              :                       }
    7565              :                     }
    7566              :                 }
    7567              :               break;
    7568              :             }
    7569              :           default:;
    7570              :           }
    7571              :         break;
    7572              :       }
    7573     13982064 :     default:;
    7574              :     }
    7575     13982064 :   switch (TREE_CODE (_p1))
    7576              :     {
    7577            0 :     case REALPART_EXPR:
    7578            0 :       {
    7579            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7580            0 :         switch (TREE_CODE (_q30))
    7581              :           {
    7582            0 :           case CALL_EXPR:
    7583            0 :             switch (get_call_combined_fn (_q30))
    7584              :               {
    7585            0 :               case CFN_SUB_OVERFLOW:
    7586            0 :                 if (call_expr_nargs (_q30) == 2)
    7587              :     {
    7588            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    7589            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    7590            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    7591              :                       {
    7592            0 :                         {
    7593            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    7594            0 :                           tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    7595            0 :                           if (res) return res;
    7596              :                         }
    7597              :                       }
    7598              :                   }
    7599              :                 break;
    7600              :               default:;
    7601              :               }
    7602              :             break;
    7603              :           default:;
    7604              :           }
    7605              :         break;
    7606              :       }
    7607     13982064 :     default:;
    7608              :     }
    7609     13982064 :   switch (TREE_CODE (_p0))
    7610              :     {
    7611           20 :     case REALPART_EXPR:
    7612           20 :       {
    7613           20 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7614           20 :         switch (TREE_CODE (_q20))
    7615              :           {
    7616            0 :           case CALL_EXPR:
    7617            0 :             switch (get_call_combined_fn (_q20))
    7618              :               {
    7619            0 :               case CFN_ADD_OVERFLOW:
    7620            0 :                 if (call_expr_nargs (_q20) == 2)
    7621              :     {
    7622            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7623            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    7624            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    7625              :                       {
    7626            0 :                         {
    7627            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7628            0 :                           tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7629            0 :                           if (res) return res;
    7630              :                         }
    7631              :                       }
    7632            0 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    7633              :                       {
    7634            0 :                         {
    7635            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
    7636            0 :                           tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7637            0 :                           if (res) return res;
    7638              :                         }
    7639              :                       }
    7640              :                   }
    7641              :                 break;
    7642              :               default:;
    7643              :               }
    7644              :             break;
    7645              :           default:;
    7646              :           }
    7647              :         break;
    7648              :       }
    7649         7393 :     case TRUNC_DIV_EXPR:
    7650         7393 :       {
    7651         7393 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7652         7393 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7653         7393 :         if (integer_all_onesp (_q20))
    7654              :           {
    7655         1098 :             {
    7656         1098 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
    7657         1098 :               tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7658         1098 :               if (res) return res;
    7659              :             }
    7660              :           }
    7661              :         break;
    7662              :       }
    7663       121225 :     case MULT_EXPR:
    7664       121225 :       {
    7665       121225 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7666       121225 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7667       121225 :         switch (TREE_CODE (_q21))
    7668              :           {
    7669        12347 :           case REAL_CST:
    7670        12347 :             {
    7671        12347 :               switch (TREE_CODE (_p1))
    7672              :                 {
    7673         1076 :                 case REAL_CST:
    7674         1076 :                   {
    7675         1076 :                     {
    7676         1076 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7677         1076 :                       tree res = generic_simplify_426 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    7678         1076 :                       if (res) return res;
    7679              :                     }
    7680         1076 :                     break;
    7681              :                   }
    7682              :                 default:;
    7683              :                 }
    7684              :               break;
    7685              :             }
    7686              :           default:;
    7687              :           }
    7688              :         break;
    7689              :       }
    7690      1964742 :     case PLUS_EXPR:
    7691      1964742 :       {
    7692      1964742 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7693      1964742 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7694      1964742 :         switch (TREE_CODE (_q21))
    7695              :           {
    7696      1457882 :           case INTEGER_CST:
    7697      1457882 :             {
    7698      1457882 :               switch (TREE_CODE (_p1))
    7699              :                 {
    7700       226955 :                 case INTEGER_CST:
    7701       226955 :                   {
    7702       226955 :                     {
    7703       226955 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7704       226955 :                       tree res = generic_simplify_427 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, LT_EXPR, GT_EXPR);
    7705       226955 :                       if (res) return res;
    7706              :                     }
    7707        15196 :                     break;
    7708              :                   }
    7709              :                 default:;
    7710              :                 }
    7711              :               break;
    7712              :             }
    7713              :           default:;
    7714              :           }
    7715              :         break;
    7716              :       }
    7717       185372 :     case MINUS_EXPR:
    7718       185372 :       {
    7719       185372 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7720       185372 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7721       185372 :         switch (TREE_CODE (_q21))
    7722              :           {
    7723            2 :           case INTEGER_CST:
    7724            2 :             {
    7725            2 :               switch (TREE_CODE (_p1))
    7726              :                 {
    7727            0 :                 case INTEGER_CST:
    7728            0 :                   {
    7729            0 :                     {
    7730            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7731            0 :                       tree res = generic_simplify_427 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, LT_EXPR, GT_EXPR);
    7732            0 :                       if (res) return res;
    7733              :                     }
    7734            0 :                     break;
    7735              :                   }
    7736              :                 default:;
    7737              :                 }
    7738              :               break;
    7739              :             }
    7740       185372 :           default:;
    7741              :           }
    7742       185372 :         switch (TREE_CODE (_q20))
    7743              :           {
    7744        43879 :           case INTEGER_CST:
    7745        43879 :             {
    7746        43879 :               switch (TREE_CODE (_p1))
    7747              :                 {
    7748          268 :                 case INTEGER_CST:
    7749          268 :                   {
    7750          268 :                     {
    7751          268 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7752          268 :                       tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    7753          268 :                       if (res) return res;
    7754              :                     }
    7755            0 :                     break;
    7756              :                   }
    7757              :                 default:;
    7758              :                 }
    7759              :               break;
    7760              :             }
    7761              :           default:;
    7762              :           }
    7763              :         break;
    7764              :       }
    7765      1455063 :     case CALL_EXPR:
    7766      1455063 :       switch (get_call_combined_fn (_p0))
    7767              :         {
    7768            4 :         case CFN_BUILT_IN_CTZ:
    7769            4 :           if (call_expr_nargs (_p0) == 1)
    7770              :     {
    7771            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7772            4 :               switch (TREE_CODE (_p1))
    7773              :                 {
    7774            3 :                 case INTEGER_CST:
    7775            3 :                   {
    7776            3 :                     {
    7777            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7778            3 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZ);
    7779            3 :                       if (res) return res;
    7780              :                     }
    7781            0 :                     break;
    7782              :                   }
    7783              :                 default:;
    7784              :                 }
    7785              :             }
    7786              :           break;
    7787            2 :         case CFN_BUILT_IN_CTZL:
    7788            2 :           if (call_expr_nargs (_p0) == 1)
    7789              :     {
    7790            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7791            2 :               switch (TREE_CODE (_p1))
    7792              :                 {
    7793            2 :                 case INTEGER_CST:
    7794            2 :                   {
    7795            2 :                     {
    7796            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7797            2 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZL);
    7798            2 :                       if (res) return res;
    7799              :                     }
    7800            0 :                     break;
    7801              :                   }
    7802              :                 default:;
    7803              :                 }
    7804              :             }
    7805              :           break;
    7806            0 :         case CFN_BUILT_IN_CTZIMAX:
    7807            0 :           if (call_expr_nargs (_p0) == 1)
    7808              :     {
    7809            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7810            0 :               switch (TREE_CODE (_p1))
    7811              :                 {
    7812            0 :                 case INTEGER_CST:
    7813            0 :                   {
    7814            0 :                     {
    7815            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7816            0 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
    7817            0 :                       if (res) return res;
    7818              :                     }
    7819            0 :                     break;
    7820              :                   }
    7821              :                 default:;
    7822              :                 }
    7823              :             }
    7824              :           break;
    7825            1 :         case CFN_CTZ:
    7826            1 :           if (call_expr_nargs (_p0) == 1)
    7827              :     {
    7828            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7829            0 :               switch (TREE_CODE (_p1))
    7830              :                 {
    7831            0 :                 case INTEGER_CST:
    7832            0 :                   {
    7833            0 :                     {
    7834            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7835            0 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_CTZ);
    7836            0 :                       if (res) return res;
    7837              :                     }
    7838            0 :                     break;
    7839              :                   }
    7840              :                 default:;
    7841              :                 }
    7842              :             }
    7843            1 :           if (call_expr_nargs (_p0) == 2)
    7844              :     {
    7845            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7846            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7847            1 :               switch (TREE_CODE (_p1))
    7848              :                 {
    7849            0 :                 case INTEGER_CST:
    7850            0 :                   {
    7851            0 :                     {
    7852            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7853            0 :                       tree res = generic_simplify_429 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    7854            0 :                       if (res) return res;
    7855              :                     }
    7856            0 :                     break;
    7857              :                   }
    7858              :                 default:;
    7859              :                 }
    7860              :             }
    7861              :           break;
    7862            2 :         case CFN_BUILT_IN_CTZLL:
    7863            2 :           if (call_expr_nargs (_p0) == 1)
    7864              :     {
    7865            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7866            2 :               switch (TREE_CODE (_p1))
    7867              :                 {
    7868            2 :                 case INTEGER_CST:
    7869            2 :                   {
    7870            2 :                     {
    7871            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7872            2 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZLL);
    7873            2 :                       if (res) return res;
    7874              :                     }
    7875            0 :                     break;
    7876              :                   }
    7877              :                 default:;
    7878              :                 }
    7879              :             }
    7880              :           break;
    7881              :         default:;
    7882              :         }
    7883              :       break;
    7884              :     default:;
    7885              :     }
    7886              :   return NULL_TREE;
    7887              : }
    7888              : 
    7889              : tree
    7890      6882650 : generic_simplify_GE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    7891              : {
    7892      6882650 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    7893      6882650 :   switch (TREE_CODE (_p0))
    7894              :     {
    7895         2001 :     case RDIV_EXPR:
    7896         2001 :       {
    7897         2001 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7898         2001 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7899         2001 :         switch (TREE_CODE (_q20))
    7900              :           {
    7901           46 :           case REAL_CST:
    7902           46 :             {
    7903           46 :               if (real_zerop (_p1))
    7904              :                 {
    7905            2 :                   {
    7906            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7907            2 :                     tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    7908            2 :                     if (res) return res;
    7909              :                   }
    7910              :                 }
    7911              :               break;
    7912              :             }
    7913              :           default:;
    7914              :           }
    7915              :         break;
    7916              :       }
    7917         1167 :     case TRUNC_MOD_EXPR:
    7918         1167 :       {
    7919         1167 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7920         1167 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7921         1167 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7922              :           {
    7923           16 :             {
    7924           16 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7925           16 :               tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
    7926           16 :               if (res) return res;
    7927              :             }
    7928              :           }
    7929              :         break;
    7930              :       }
    7931        31948 :     case MULT_EXPR:
    7932        31948 :       {
    7933        31948 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7934        31948 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7935        31948 :         switch (TREE_CODE (_p1))
    7936              :           {
    7937         7222 :           case MULT_EXPR:
    7938         7222 :             {
    7939         7222 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7940         7222 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7941         7222 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7942              :                 {
    7943         4833 :                   {
    7944         4833 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7945         4833 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GE_EXPR);
    7946         4833 :                     if (res) return res;
    7947              :                   }
    7948              :                 }
    7949         2937 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7950              :                 {
    7951            0 :                   {
    7952            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7953            0 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GE_EXPR);
    7954            0 :                     if (res) return res;
    7955              :                   }
    7956              :                 }
    7957         2937 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7958              :                 {
    7959            0 :                   {
    7960            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7961            0 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GE_EXPR);
    7962            0 :                     if (res) return res;
    7963              :                   }
    7964              :                 }
    7965         2937 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7966              :                 {
    7967            3 :                   {
    7968            3 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7969            3 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GE_EXPR);
    7970            3 :                     if (res) return res;
    7971              :                   }
    7972              :                 }
    7973              :               break;
    7974              :             }
    7975              :           default:;
    7976              :           }
    7977              :         break;
    7978              :       }
    7979      1067494 :     CASE_CONVERT:
    7980      1067494 :       {
    7981      1067494 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7982      1067494 :         switch (TREE_CODE (_q20))
    7983              :           {
    7984          161 :           case EXACT_DIV_EXPR:
    7985          161 :             {
    7986          161 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7987          161 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7988          161 :               switch (TREE_CODE (_q31))
    7989              :                 {
    7990          161 :                 case INTEGER_CST:
    7991          161 :                   {
    7992          161 :                     switch (TREE_CODE (_p1))
    7993              :                       {
    7994           47 :                       CASE_CONVERT:
    7995           47 :                         {
    7996           47 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    7997           47 :                           switch (TREE_CODE (_q60))
    7998              :                             {
    7999            0 :                             case EXACT_DIV_EXPR:
    8000            0 :                               {
    8001            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    8002            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    8003            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    8004              :                                   {
    8005            0 :                                     {
    8006            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    8007            0 :                                       tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, GE_EXPR);
    8008            0 :                                       if (res) return res;
    8009              :                                     }
    8010              :                                   }
    8011              :                                 break;
    8012              :                               }
    8013              :                             default:;
    8014              :                             }
    8015              :                           break;
    8016              :                         }
    8017              :                       default:;
    8018              :                       }
    8019              :                     break;
    8020              :                   }
    8021              :                 default:;
    8022              :                 }
    8023              :               break;
    8024              :             }
    8025              :           default:;
    8026              :           }
    8027              :         break;
    8028              :       }
    8029         8014 :     case EXACT_DIV_EXPR:
    8030         8014 :       {
    8031         8014 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8032         8014 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8033         8014 :         switch (TREE_CODE (_q21))
    8034              :           {
    8035         8014 :           case INTEGER_CST:
    8036         8014 :             {
    8037         8014 :               switch (TREE_CODE (_p1))
    8038              :                 {
    8039            0 :                 case EXACT_DIV_EXPR:
    8040            0 :                   {
    8041            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8042            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    8043            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8044              :                       {
    8045            0 :                         {
    8046            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    8047            0 :                           tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, GE_EXPR);
    8048            0 :                           if (res) return res;
    8049              :                         }
    8050              :                       }
    8051              :                     break;
    8052              :                   }
    8053              :                 default:;
    8054              :                 }
    8055              :               break;
    8056              :             }
    8057              :           default:;
    8058              :           }
    8059              :         break;
    8060              :       }
    8061        42526 :     case TRUNC_DIV_EXPR:
    8062        42526 :       {
    8063        42526 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8064        42526 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8065        42526 :         switch (TREE_CODE (_q21))
    8066              :           {
    8067        42003 :           case INTEGER_CST:
    8068        42003 :             {
    8069        42003 :               switch (TREE_CODE (_p1))
    8070              :                 {
    8071        41064 :                 case INTEGER_CST:
    8072        41064 :                   {
    8073        41064 :                     {
    8074        41064 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8075        41064 :                       tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, GE_EXPR);
    8076        41064 :                       if (res) return res;
    8077              :                     }
    8078            0 :                     break;
    8079              :                   }
    8080              :                 default:;
    8081              :                 }
    8082              :               break;
    8083              :             }
    8084              :           default:;
    8085              :           }
    8086              :         break;
    8087              :       }
    8088       799656 :     case PLUS_EXPR:
    8089       799656 :       {
    8090       799656 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8091       799656 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8092       799656 :         switch (TREE_CODE (_p1))
    8093              :           {
    8094        52213 :           case PLUS_EXPR:
    8095        52213 :             {
    8096        52213 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8097        52213 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8098        52213 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8099              :                 {
    8100         1457 :                   {
    8101         1457 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    8102         1457 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GE_EXPR);
    8103         1457 :                     if (res) return res;
    8104              :                   }
    8105              :                 }
    8106        52213 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    8107              :                 {
    8108           21 :                   {
    8109           21 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    8110           21 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GE_EXPR);
    8111           21 :                     if (res) return res;
    8112              :                   }
    8113              :                 }
    8114        52213 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    8115              :                 {
    8116           13 :                   {
    8117           13 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    8118           13 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GE_EXPR);
    8119           13 :                     if (res) return res;
    8120              :                   }
    8121              :                 }
    8122        52213 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8123              :                 {
    8124          988 :                   {
    8125          988 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    8126          988 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GE_EXPR);
    8127          988 :                     if (res) return res;
    8128              :                   }
    8129              :                 }
    8130              :               break;
    8131              :             }
    8132       799603 :           default:;
    8133              :           }
    8134       799603 :         switch (TREE_CODE (_q21))
    8135              :           {
    8136       689955 :           case INTEGER_CST:
    8137       689955 :             {
    8138       689955 :               switch (TREE_CODE (_p1))
    8139              :                 {
    8140        15177 :                 case PLUS_EXPR:
    8141        15177 :                   {
    8142        15177 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8143        15177 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    8144        15177 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8145              :                       {
    8146         1453 :                         {
    8147         1453 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    8148         1453 :                           tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, GE_EXPR);
    8149         1453 :                           if (res) return res;
    8150              :                         }
    8151              :                       }
    8152              :                     break;
    8153              :                   }
    8154              :                 default:;
    8155              :                 }
    8156              :               break;
    8157              :             }
    8158       799603 :           default:;
    8159              :           }
    8160       799603 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8161              :           {
    8162        59235 :             {
    8163        59235 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8164        59235 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GE_EXPR);
    8165        59235 :               if (res) return res;
    8166              :             }
    8167              :           }
    8168       763305 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8169              :           {
    8170        24539 :             {
    8171        24539 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    8172        24539 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GE_EXPR);
    8173        24539 :               if (res) return res;
    8174              :             }
    8175              :           }
    8176              :         break;
    8177              :       }
    8178       129813 :     case MINUS_EXPR:
    8179       129813 :       {
    8180       129813 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8181       129813 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8182       129813 :         switch (TREE_CODE (_p1))
    8183              :           {
    8184         1521 :           case MINUS_EXPR:
    8185         1521 :             {
    8186         1521 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8187         1521 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8188         1521 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8189              :                 {
    8190           14 :                   {
    8191           14 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    8192           14 :                     tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, GE_EXPR);
    8193           14 :                     if (res) return res;
    8194              :                   }
    8195              :                 }
    8196         1521 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8197              :                 {
    8198           22 :                   {
    8199           22 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    8200           22 :                     tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GE_EXPR);
    8201           22 :                     if (res) return res;
    8202              :                   }
    8203              :                 }
    8204              :               break;
    8205              :             }
    8206              :           default:;
    8207              :           }
    8208              :         break;
    8209              :       }
    8210         2487 :     case POINTER_DIFF_EXPR:
    8211         2487 :       {
    8212         2487 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8213         2487 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8214         2487 :         switch (TREE_CODE (_p1))
    8215              :           {
    8216           32 :           case POINTER_DIFF_EXPR:
    8217           32 :             {
    8218           32 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8219           32 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8220           32 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8221              :                 {
    8222            0 :                   {
    8223            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    8224            0 :                     tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, GE_EXPR);
    8225            0 :                     if (res) return res;
    8226              :                   }
    8227              :                 }
    8228           32 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8229              :                 {
    8230            0 :                   {
    8231            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    8232            0 :                     tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, GE_EXPR);
    8233            0 :                     if (res) return res;
    8234              :                   }
    8235              :                 }
    8236              :               break;
    8237              :             }
    8238              :           default:;
    8239              :           }
    8240              :         break;
    8241              :       }
    8242      6797355 :     default:;
    8243              :     }
    8244      6797355 :   switch (TREE_CODE (_p1))
    8245              :     {
    8246        58978 :     case PLUS_EXPR:
    8247        58978 :       {
    8248        58978 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8249        58978 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8250        58978 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8251              :           {
    8252            0 :             {
    8253            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    8254            0 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LE_EXPR);
    8255            0 :               if (res) return res;
    8256              :             }
    8257              :           }
    8258        58978 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8259              :           {
    8260            0 :             {
    8261            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    8262            0 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LE_EXPR);
    8263            0 :               if (res) return res;
    8264              :             }
    8265              :           }
    8266              :         break;
    8267              :       }
    8268         2568 :     case MINUS_EXPR:
    8269         2568 :       {
    8270         2568 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8271         2568 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8272         2568 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8273              :           {
    8274            0 :             {
    8275            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    8276            0 :               tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, GE_EXPR);
    8277            0 :               if (res) return res;
    8278              :             }
    8279              :           }
    8280              :         break;
    8281              :       }
    8282      6797355 :     default:;
    8283              :     }
    8284      6797355 :   switch (TREE_CODE (_p0))
    8285              :     {
    8286       129813 :     case MINUS_EXPR:
    8287       129813 :       {
    8288       129813 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8289       129813 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8290       129813 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8291              :           {
    8292         2377 :             {
    8293         2377 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    8294         2377 :               tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, LE_EXPR);
    8295         2377 :               if (res) return res;
    8296              :             }
    8297              :           }
    8298              :         break;
    8299              :       }
    8300          889 :     case BIT_IOR_EXPR:
    8301          889 :       {
    8302          889 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8303          889 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8304          889 :         if (tree_expr_nonnegative_p (_q20))
    8305              :           {
    8306           82 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8307              :               {
    8308            0 :                 {
    8309            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8310            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8311            0 :                   if (res) return res;
    8312              :                 }
    8313              :               }
    8314              :           }
    8315          889 :         if (tree_expr_nonnegative_p (_q21))
    8316              :           {
    8317          264 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8318              :               {
    8319            0 :                 {
    8320            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8321            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8322            0 :                   if (res) return res;
    8323              :                 }
    8324              :               }
    8325              :           }
    8326              :         break;
    8327              :       }
    8328      6797354 :     default:;
    8329              :     }
    8330      6797354 :   switch (TREE_CODE (_p1))
    8331              :     {
    8332          199 :     case BIT_AND_EXPR:
    8333          199 :       {
    8334          199 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8335          199 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8336          199 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8337              :           {
    8338            0 :             if (tree_expr_nonnegative_p (_q30))
    8339              :               {
    8340            0 :                 {
    8341            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8342            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    8343            0 :                   if (res) return res;
    8344              :                 }
    8345              :               }
    8346              :           }
    8347          199 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8348              :           {
    8349            0 :             if (tree_expr_nonnegative_p (_q31))
    8350              :               {
    8351            0 :                 {
    8352            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8353            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    8354            0 :                   if (res) return res;
    8355              :                 }
    8356              :               }
    8357              :           }
    8358              :         break;
    8359              :       }
    8360      6797354 :     default:;
    8361              :     }
    8362      6797354 :   switch (TREE_CODE (_p0))
    8363              :     {
    8364          875 :     case MAX_EXPR:
    8365          875 :       {
    8366          875 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8367          875 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8368          875 :         switch (TREE_CODE (_p1))
    8369              :           {
    8370            0 :           case MIN_EXPR:
    8371            0 :             {
    8372            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8373            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8374            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8375              :                 {
    8376            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8377              :                     {
    8378            0 :                       {
    8379            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8380            0 :                         tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, LE_EXPR);
    8381            0 :                         if (res) return res;
    8382              :                       }
    8383              :                     }
    8384              :                 }
    8385              :               break;
    8386              :             }
    8387              :           default:;
    8388              :           }
    8389              :         break;
    8390              :       }
    8391         2698 :     case MIN_EXPR:
    8392         2698 :       {
    8393         2698 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8394         2698 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8395         2698 :         switch (TREE_CODE (_p1))
    8396              :           {
    8397           27 :           case MAX_EXPR:
    8398           27 :             {
    8399           27 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8400           27 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8401           27 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8402              :                 {
    8403            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8404              :                     {
    8405            0 :                       {
    8406            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8407            0 :                         tree res = generic_simplify_408 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    8408            0 :                         if (res) return res;
    8409              :                       }
    8410              :                     }
    8411              :                 }
    8412              :               break;
    8413              :             }
    8414         2698 :           default:;
    8415              :           }
    8416         2698 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8417              :           {
    8418            0 :             {
    8419            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8420            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    8421            0 :               if (res) return res;
    8422              :             }
    8423              :           }
    8424         2698 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8425              :           {
    8426            1 :             {
    8427            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8428            1 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    8429            1 :               if (res) return res;
    8430              :             }
    8431              :           }
    8432              :         break;
    8433              :       }
    8434      6797353 :     default:;
    8435              :     }
    8436      6797353 :   switch (TREE_CODE (_p1))
    8437              :     {
    8438          214 :     case MAX_EXPR:
    8439          214 :       {
    8440          214 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8441          214 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8442          214 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8443              :           {
    8444            0 :             {
    8445            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8446            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    8447            0 :               if (res) return res;
    8448              :             }
    8449              :           }
    8450          214 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8451              :           {
    8452            0 :             {
    8453            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8454            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    8455            0 :               if (res) return res;
    8456              :             }
    8457              :           }
    8458              :         break;
    8459              :       }
    8460         1728 :     case MIN_EXPR:
    8461         1728 :       {
    8462         1728 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8463         1728 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8464         1728 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8465              :           {
    8466            0 :             {
    8467            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8468            0 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    8469            0 :               if (res) return res;
    8470              :             }
    8471              :           }
    8472         1728 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8473              :           {
    8474            0 :             {
    8475            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8476            0 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    8477            0 :               if (res) return res;
    8478              :             }
    8479              :           }
    8480              :         break;
    8481              :       }
    8482      6797353 :     default:;
    8483              :     }
    8484      6797353 :   switch (TREE_CODE (_p0))
    8485              :     {
    8486          875 :     case MAX_EXPR:
    8487          875 :       {
    8488          875 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8489          875 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8490          875 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8491              :           {
    8492            0 :             {
    8493            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8494            0 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    8495            0 :               if (res) return res;
    8496              :             }
    8497              :           }
    8498          875 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8499              :           {
    8500            2 :             {
    8501            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8502            2 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    8503            2 :               if (res) return res;
    8504              :             }
    8505              :           }
    8506          873 :         switch (TREE_CODE (_q21))
    8507              :           {
    8508          689 :           case INTEGER_CST:
    8509          689 :             {
    8510          689 :               switch (TREE_CODE (_p1))
    8511              :                 {
    8512            0 :                 case INTEGER_CST:
    8513            0 :                   {
    8514            0 :                     {
    8515            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8516            0 :                       tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, MAX_EXPR, GE_EXPR, BIT_IOR_EXPR);
    8517            0 :                       if (res) return res;
    8518              :                     }
    8519            0 :                     break;
    8520              :                   }
    8521              :                 default:;
    8522              :                 }
    8523              :               break;
    8524              :             }
    8525              :           default:;
    8526              :           }
    8527              :         break;
    8528              :       }
    8529         2697 :     case MIN_EXPR:
    8530         2697 :       {
    8531         2697 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8532         2697 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8533         2697 :         switch (TREE_CODE (_q21))
    8534              :           {
    8535         1005 :           case INTEGER_CST:
    8536         1005 :             {
    8537         1005 :               switch (TREE_CODE (_p1))
    8538              :                 {
    8539            0 :                 case INTEGER_CST:
    8540            0 :                   {
    8541            0 :                     {
    8542            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8543            0 :                       tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, BIT_AND_EXPR);
    8544            0 :                       if (res) return res;
    8545              :                     }
    8546            0 :                     break;
    8547              :                   }
    8548              :                 default:;
    8549              :                 }
    8550              :               break;
    8551              :             }
    8552         2697 :           default:;
    8553              :           }
    8554         2697 :       if (tree_expr_nonnegative_p (_q21))
    8555              :         {
    8556         1080 :           if (integer_zerop (_p1))
    8557              :             {
    8558            0 :               {
    8559            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8560            0 :                 tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, GE_EXPR, MIN_EXPR);
    8561            0 :                 if (res) return res;
    8562              :               }
    8563              :             }
    8564              :         }
    8565         2697 :         if (tree_expr_nonnegative_p (_q20))
    8566              :           {
    8567          505 :             if (integer_zerop (_p1))
    8568              :               {
    8569            2 :                 {
    8570            2 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
    8571            2 :                   tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, GE_EXPR, MIN_EXPR);
    8572            2 :                   if (res) return res;
    8573              :                 }
    8574              :               }
    8575              :           }
    8576              :         break;
    8577              :       }
    8578          889 :     case BIT_IOR_EXPR:
    8579          889 :       {
    8580          889 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8581          889 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8582          889 :         if (tree_expr_nonnegative_p (_q21))
    8583              :           {
    8584          264 :             if (integer_zerop (_p1))
    8585              :               {
    8586            0 :                 {
    8587            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8588            0 :                   tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8589            0 :                   if (res) return res;
    8590              :                 }
    8591              :               }
    8592              :           }
    8593          889 :         if (tree_expr_nonnegative_p (_q20))
    8594              :           {
    8595           82 :             if (integer_zerop (_p1))
    8596              :               {
    8597            0 :                 {
    8598            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
    8599            0 :                   tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8600            0 :                   if (res) return res;
    8601              :                 }
    8602              :               }
    8603              :           }
    8604              :         break;
    8605              :       }
    8606      1067494 :     CASE_CONVERT:
    8607      1067494 :       {
    8608      1067494 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8609      1067494 :         switch (TREE_CODE (_q20))
    8610              :           {
    8611            0 :           case GE_EXPR:
    8612            0 :             {
    8613            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8614            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8615            0 :               if (tree_zero_one_valued_p (_q30))
    8616              :                 {
    8617            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    8618              :                     {
    8619            0 :                       {
    8620            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    8621            0 :                         tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, GE_EXPR);
    8622            0 :                         if (res) return res;
    8623              :                       }
    8624              :                     }
    8625              :                 }
    8626              :               break;
    8627              :             }
    8628              :           default:;
    8629              :           }
    8630              :         break;
    8631              :       }
    8632           41 :     case GE_EXPR:
    8633           41 :       {
    8634           41 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8635           41 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8636           41 :         if (tree_zero_one_valued_p (_q20))
    8637              :           {
    8638           15 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8639              :               {
    8640            3 :                 {
    8641            3 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8642            3 :                   tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, GE_EXPR);
    8643            3 :                   if (res) return res;
    8644              :                 }
    8645              :               }
    8646              :           }
    8647              :         break;
    8648              :       }
    8649            6 :     case VEC_COND_EXPR:
    8650            6 :       {
    8651            6 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8652            6 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8653            6 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8654            6 :         switch (TREE_CODE (_p1))
    8655              :           {
    8656            0 :           case VEC_COND_EXPR:
    8657            0 :             {
    8658            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8659            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8660            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8661            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8662              :                 {
    8663            0 :                   {
    8664            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8665            0 :                     if (VECTOR_TYPE_P (type)
    8666            0 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8667            0 :  || types_match (type, TREE_TYPE (captures[2]))
    8668            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8669              :  || (optimize_vectors_before_lowering_p ()
    8670            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8671              : )
    8672              :                       {
    8673            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1723;
    8674            0 :                         {
    8675            0 :                           tree res_op0;
    8676            0 :                           res_op0 = captures[1];
    8677            0 :                           tree res_op1;
    8678            0 :                           {
    8679            0 :                             tree _o1[2], _r1;
    8680            0 :                             _o1[0] = captures[2];
    8681            0 :                             _o1[1] = captures[5];
    8682            0 :                             _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8683            0 :                             if (EXPR_P (_r1))
    8684            0 :                               goto next_after_fail1723;
    8685            0 :                             res_op1 = _r1;
    8686              :                           }
    8687            0 :                           tree res_op2;
    8688            0 :                           {
    8689            0 :                             tree _o1[2], _r1;
    8690            0 :                             _o1[0] = captures[3];
    8691            0 :                             _o1[1] = captures[6];
    8692            0 :                             _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8693            0 :                             if (EXPR_P (_r1))
    8694            0 :                               goto next_after_fail1723;
    8695            0 :                             res_op2 = _r1;
    8696              :                           }
    8697            0 :                           tree _r;
    8698            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8699            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    8700              :                           return _r;
    8701              :                         }
    8702            6 : next_after_fail1723:;
    8703              :                       }
    8704              :                   }
    8705              :                 }
    8706              :               break;
    8707              :             }
    8708            6 :           default:;
    8709              :           }
    8710            6 :         {
    8711            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8712            6 :           if (VECTOR_TYPE_P (type)
    8713           12 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8714            6 :  || types_match (type, TREE_TYPE (captures[2]))
    8715            6 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8716              :  || (optimize_vectors_before_lowering_p ()
    8717            2 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8718              : )
    8719              :             {
    8720            6 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1724;
    8721            6 :               {
    8722            6 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1724;
    8723            5 :                 tree res_op0;
    8724            5 :                 res_op0 = captures[1];
    8725            5 :                 tree res_op1;
    8726            5 :                 {
    8727            5 :                   tree _o1[2], _r1;
    8728            5 :                   _o1[0] = captures[2];
    8729            5 :                   _o1[1] = unshare_expr (captures[4]);
    8730            5 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8731            5 :                   if (EXPR_P (_r1))
    8732            1 :                     goto next_after_fail1724;
    8733            4 :                   res_op1 = _r1;
    8734              :                 }
    8735            4 :                 tree res_op2;
    8736            4 :                 {
    8737            4 :                   tree _o1[2], _r1;
    8738            4 :                   _o1[0] = captures[3];
    8739            4 :                   _o1[1] = captures[4];
    8740            4 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8741            4 :                   if (EXPR_P (_r1))
    8742            0 :                     goto next_after_fail1724;
    8743            4 :                   res_op2 = _r1;
    8744              :                 }
    8745            4 :                 tree _r;
    8746            4 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8747            4 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    8748              :                 return _r;
    8749              :               }
    8750      6797342 : next_after_fail1724:;
    8751              :             }
    8752              :         }
    8753              :         break;
    8754              :       }
    8755      6797342 :     default:;
    8756              :     }
    8757      6797342 :   switch (TREE_CODE (_p1))
    8758              :     {
    8759            0 :     case VEC_COND_EXPR:
    8760            0 :       {
    8761            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8762            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8763            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8764            0 :         {
    8765            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8766            0 :           if (VECTOR_TYPE_P (type)
    8767            0 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8768            0 :  || types_match (type, TREE_TYPE (captures[3]))
    8769            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8770              :  || (optimize_vectors_before_lowering_p ()
    8771            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8772              : )
    8773              :             {
    8774            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1725;
    8775            0 :               {
    8776            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1725;
    8777            0 :                 tree res_op0;
    8778            0 :                 res_op0 = captures[2];
    8779            0 :                 tree res_op1;
    8780            0 :                 {
    8781            0 :                   tree _o1[2], _r1;
    8782            0 :                   _o1[0] = unshare_expr (captures[0]);
    8783            0 :                   _o1[1] = captures[3];
    8784            0 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8785            0 :                   if (EXPR_P (_r1))
    8786            0 :                     goto next_after_fail1725;
    8787            0 :                   res_op1 = _r1;
    8788              :                 }
    8789            0 :                 tree res_op2;
    8790            0 :                 {
    8791            0 :                   tree _o1[2], _r1;
    8792            0 :                   _o1[0] = captures[0];
    8793            0 :                   _o1[1] = captures[4];
    8794            0 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8795            0 :                   if (EXPR_P (_r1))
    8796            0 :                     goto next_after_fail1725;
    8797            0 :                   res_op2 = _r1;
    8798              :                 }
    8799            0 :                 tree _r;
    8800            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8801            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    8802              :                 return _r;
    8803              :               }
    8804      6797342 : next_after_fail1725:;
    8805              :             }
    8806              :         }
    8807              :         break;
    8808              :       }
    8809      6797342 :     default:;
    8810              :     }
    8811      6797342 : if (uniform_integer_cst_p (_p1))
    8812              :   {
    8813      3442263 :     {
    8814      3442263 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8815      3442263 :       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
    8816      3442263 :       if (res) return res;
    8817              :     }
    8818              :   }
    8819      5239336 :   switch (TREE_CODE (_p0))
    8820              :     {
    8821        58681 :     case MINUS_EXPR:
    8822        58681 :       {
    8823        58681 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8824        58681 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8825        58681 :         switch (TREE_CODE (_q20))
    8826              :           {
    8827          434 :           CASE_CONVERT:
    8828          434 :             {
    8829          434 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8830          434 :               switch (TREE_CODE (_q30))
    8831              :                 {
    8832            0 :                 case GT_EXPR:
    8833            0 :                   {
    8834            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8835            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8836            0 :                     switch (TREE_CODE (_q21))
    8837              :                       {
    8838            0 :                       CASE_CONVERT:
    8839            0 :                         {
    8840            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    8841            0 :                           switch (TREE_CODE (_q70))
    8842              :                             {
    8843            0 :                             case LT_EXPR:
    8844            0 :                               {
    8845            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8846            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8847            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    8848              :                                   {
    8849            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    8850              :                                       {
    8851            0 :                                         if (integer_zerop (_p1))
    8852              :                                           {
    8853            0 :                                             {
    8854            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    8855            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GE_EXPR);
    8856            0 :                                               if (res) return res;
    8857              :                                             }
    8858              :                                           }
    8859              :                                       }
    8860              :                                   }
    8861              :                                 break;
    8862              :                               }
    8863            0 :                             case GT_EXPR:
    8864            0 :                               {
    8865            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8866            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8867            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    8868              :                                   {
    8869            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    8870              :                                       {
    8871            0 :                                         if (integer_zerop (_p1))
    8872              :                                           {
    8873            0 :                                             {
    8874            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    8875            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GE_EXPR);
    8876            0 :                                               if (res) return res;
    8877              :                                             }
    8878              :                                           }
    8879              :                                       }
    8880              :                                   }
    8881              :                                 break;
    8882              :                               }
    8883              :                             default:;
    8884              :                             }
    8885              :                           break;
    8886              :                         }
    8887              :                       default:;
    8888              :                       }
    8889              :                     break;
    8890              :                   }
    8891            0 :                 case GE_EXPR:
    8892            0 :                   {
    8893            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8894            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8895            0 :                     switch (TREE_CODE (_q21))
    8896              :                       {
    8897            0 :                       CASE_CONVERT:
    8898            0 :                         {
    8899            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    8900            0 :                           switch (TREE_CODE (_q70))
    8901              :                             {
    8902            0 :                             case LE_EXPR:
    8903            0 :                               {
    8904            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8905            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8906            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    8907              :                                   {
    8908            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    8909              :                                       {
    8910            0 :                                         if (integer_zerop (_p1))
    8911              :                                           {
    8912            0 :                                             {
    8913            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    8914            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GE_EXPR);
    8915            0 :                                               if (res) return res;
    8916              :                                             }
    8917              :                                           }
    8918              :                                       }
    8919              :                                   }
    8920              :                                 break;
    8921              :                               }
    8922            0 :                             case GE_EXPR:
    8923            0 :                               {
    8924            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8925            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8926            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    8927              :                                   {
    8928            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    8929              :                                       {
    8930            0 :                                         if (integer_zerop (_p1))
    8931              :                                           {
    8932            0 :                                             {
    8933            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    8934            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GE_EXPR);
    8935            0 :                                               if (res) return res;
    8936              :                                             }
    8937              :                                           }
    8938              :                                       }
    8939              :                                   }
    8940              :                                 break;
    8941              :                               }
    8942              :                             default:;
    8943              :                             }
    8944              :                           break;
    8945              :                         }
    8946              :                       default:;
    8947              :                       }
    8948              :                     break;
    8949              :                   }
    8950            0 :                 case LT_EXPR:
    8951            0 :                   {
    8952            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8953            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8954            0 :                     switch (TREE_CODE (_q21))
    8955              :                       {
    8956            0 :                       CASE_CONVERT:
    8957            0 :                         {
    8958            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    8959            0 :                           switch (TREE_CODE (_q70))
    8960              :                             {
    8961            0 :                             case LT_EXPR:
    8962            0 :                               {
    8963            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8964            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8965            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    8966              :                                   {
    8967            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    8968              :                                       {
    8969            0 :                                         if (integer_zerop (_p1))
    8970              :                                           {
    8971            0 :                                             {
    8972            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    8973            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GE_EXPR);
    8974            0 :                                               if (res) return res;
    8975              :                                             }
    8976              :                                           }
    8977              :                                       }
    8978              :                                   }
    8979              :                                 break;
    8980              :                               }
    8981            0 :                             case GT_EXPR:
    8982            0 :                               {
    8983            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8984            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8985            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    8986              :                                   {
    8987            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    8988              :                                       {
    8989            0 :                                         if (integer_zerop (_p1))
    8990              :                                           {
    8991            0 :                                             {
    8992            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    8993            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GE_EXPR);
    8994            0 :                                               if (res) return res;
    8995              :                                             }
    8996              :                                           }
    8997              :                                       }
    8998              :                                   }
    8999              :                                 break;
    9000              :                               }
    9001              :                             default:;
    9002              :                             }
    9003              :                           break;
    9004              :                         }
    9005              :                       default:;
    9006              :                       }
    9007              :                     break;
    9008              :                   }
    9009            0 :                 case LE_EXPR:
    9010            0 :                   {
    9011            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9012            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    9013            0 :                     switch (TREE_CODE (_q21))
    9014              :                       {
    9015            0 :                       CASE_CONVERT:
    9016            0 :                         {
    9017            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    9018            0 :                           switch (TREE_CODE (_q70))
    9019              :                             {
    9020            0 :                             case LE_EXPR:
    9021            0 :                               {
    9022            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    9023            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    9024            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    9025              :                                   {
    9026            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    9027              :                                       {
    9028            0 :                                         if (integer_zerop (_p1))
    9029              :                                           {
    9030            0 :                                             {
    9031            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    9032            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GE_EXPR);
    9033            0 :                                               if (res) return res;
    9034              :                                             }
    9035              :                                           }
    9036              :                                       }
    9037              :                                   }
    9038              :                                 break;
    9039              :                               }
    9040            0 :                             case GE_EXPR:
    9041            0 :                               {
    9042            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    9043            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    9044            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    9045              :                                   {
    9046            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    9047              :                                       {
    9048            0 :                                         if (integer_zerop (_p1))
    9049              :                                           {
    9050            0 :                                             {
    9051            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    9052            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GE_EXPR);
    9053            0 :                                               if (res) return res;
    9054              :                                             }
    9055              :                                           }
    9056              :                                       }
    9057              :                                   }
    9058              :                                 break;
    9059              :                               }
    9060              :                             default:;
    9061              :                             }
    9062              :                           break;
    9063              :                         }
    9064              :                       default:;
    9065              :                       }
    9066              :                     break;
    9067              :                   }
    9068              :                 default:;
    9069              :                 }
    9070              :               break;
    9071              :             }
    9072            0 :           case GT_EXPR:
    9073            0 :             {
    9074            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9075            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9076            0 :               switch (TREE_CODE (_q21))
    9077              :                 {
    9078            0 :                 case LT_EXPR:
    9079            0 :                   {
    9080            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9081            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9082            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9083              :                       {
    9084            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9085              :                           {
    9086            0 :                             if (integer_zerop (_p1))
    9087              :                               {
    9088            0 :                                 {
    9089            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    9090            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GE_EXPR);
    9091            0 :                                   if (res) return res;
    9092              :                                 }
    9093              :                               }
    9094              :                           }
    9095              :                       }
    9096              :                     break;
    9097              :                   }
    9098            0 :                 case GT_EXPR:
    9099            0 :                   {
    9100            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9101            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9102            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9103              :                       {
    9104            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9105              :                           {
    9106            0 :                             if (integer_zerop (_p1))
    9107              :                               {
    9108            0 :                                 {
    9109            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    9110            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GE_EXPR);
    9111            0 :                                   if (res) return res;
    9112              :                                 }
    9113              :                               }
    9114              :                           }
    9115              :                       }
    9116              :                     break;
    9117              :                   }
    9118              :                 default:;
    9119              :                 }
    9120              :               break;
    9121              :             }
    9122            0 :           case GE_EXPR:
    9123            0 :             {
    9124            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9125            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9126            0 :               switch (TREE_CODE (_q21))
    9127              :                 {
    9128            0 :                 case LE_EXPR:
    9129            0 :                   {
    9130            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9131            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9132            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9133              :                       {
    9134            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9135              :                           {
    9136            0 :                             if (integer_zerop (_p1))
    9137              :                               {
    9138            0 :                                 {
    9139            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    9140            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GE_EXPR);
    9141            0 :                                   if (res) return res;
    9142              :                                 }
    9143              :                               }
    9144              :                           }
    9145              :                       }
    9146              :                     break;
    9147              :                   }
    9148            0 :                 case GE_EXPR:
    9149            0 :                   {
    9150            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9151            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9152            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9153              :                       {
    9154            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9155              :                           {
    9156            0 :                             if (integer_zerop (_p1))
    9157              :                               {
    9158            0 :                                 {
    9159            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    9160            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GE_EXPR);
    9161            0 :                                   if (res) return res;
    9162              :                                 }
    9163              :                               }
    9164              :                           }
    9165              :                       }
    9166              :                     break;
    9167              :                   }
    9168              :                 default:;
    9169              :                 }
    9170              :               break;
    9171              :             }
    9172            0 :           case LT_EXPR:
    9173            0 :             {
    9174            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9175            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9176            0 :               switch (TREE_CODE (_q21))
    9177              :                 {
    9178            0 :                 case LT_EXPR:
    9179            0 :                   {
    9180            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9181            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9182            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9183              :                       {
    9184            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9185              :                           {
    9186            0 :                             if (integer_zerop (_p1))
    9187              :                               {
    9188            0 :                                 {
    9189            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    9190            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GE_EXPR);
    9191            0 :                                   if (res) return res;
    9192              :                                 }
    9193              :                               }
    9194              :                           }
    9195              :                       }
    9196              :                     break;
    9197              :                   }
    9198            0 :                 case GT_EXPR:
    9199            0 :                   {
    9200            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9201            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9202            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9203              :                       {
    9204            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9205              :                           {
    9206            0 :                             if (integer_zerop (_p1))
    9207              :                               {
    9208            0 :                                 {
    9209            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    9210            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GE_EXPR);
    9211            0 :                                   if (res) return res;
    9212              :                                 }
    9213              :                               }
    9214              :                           }
    9215              :                       }
    9216              :                     break;
    9217              :                   }
    9218              :                 default:;
    9219              :                 }
    9220              :               break;
    9221              :             }
    9222            0 :           case LE_EXPR:
    9223            0 :             {
    9224            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9225            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9226            0 :               switch (TREE_CODE (_q21))
    9227              :                 {
    9228            0 :                 case LE_EXPR:
    9229            0 :                   {
    9230            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9231            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9232            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9233              :                       {
    9234            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9235              :                           {
    9236            0 :                             if (integer_zerop (_p1))
    9237              :                               {
    9238            0 :                                 {
    9239            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    9240            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GE_EXPR);
    9241            0 :                                   if (res) return res;
    9242              :                                 }
    9243              :                               }
    9244              :                           }
    9245              :                       }
    9246              :                     break;
    9247              :                   }
    9248            0 :                 case GE_EXPR:
    9249            0 :                   {
    9250            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9251            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9252            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9253              :                       {
    9254            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9255              :                           {
    9256            0 :                             if (integer_zerop (_p1))
    9257              :                               {
    9258            0 :                                 {
    9259            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    9260            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GE_EXPR);
    9261            0 :                                   if (res) return res;
    9262              :                                 }
    9263              :                               }
    9264              :                           }
    9265              :                       }
    9266              :                     break;
    9267              :                   }
    9268              :                 default:;
    9269              :                 }
    9270              :               break;
    9271              :             }
    9272              :           default:;
    9273              :           }
    9274              :         break;
    9275              :       }
    9276        23954 :     case MULT_EXPR:
    9277        23954 :       {
    9278        23954 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9279        23954 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9280        23954 :         switch (TREE_CODE (_q21))
    9281              :           {
    9282        20033 :           case INTEGER_CST:
    9283        20033 :             {
    9284        20033 :               if (integer_zerop (_p1))
    9285              :                 {
    9286         2754 :                   {
    9287         2754 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9288         2754 :                     tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9289         2754 :                     if (res) return res;
    9290              :                   }
    9291              :                 }
    9292              :               break;
    9293              :             }
    9294              :           default:;
    9295              :           }
    9296              :         break;
    9297              :       }
    9298      5239040 :     default:;
    9299              :     }
    9300      5239040 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    9301              :     {
    9302        47023 :       {
    9303        47023 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9304        47023 :         tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, GE_EXPR);
    9305        47023 :         if (res) return res;
    9306              :       }
    9307              :     }
    9308      5192059 :   switch (TREE_CODE (_p0))
    9309              :     {
    9310          420 :     case BIT_NOT_EXPR:
    9311          420 :       {
    9312          420 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9313          420 :         switch (TREE_CODE (_p1))
    9314              :           {
    9315            1 :           case BIT_NOT_EXPR:
    9316            1 :             {
    9317            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9318            1 :               {
    9319            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    9320            1 :                 tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, GE_EXPR);
    9321            1 :                 if (res) return res;
    9322              :               }
    9323            0 :               break;
    9324              :             }
    9325          419 :           default:;
    9326              :           }
    9327          419 :       {
    9328          419 :         tree _p1_pops[1];
    9329          419 :         if (tree_nop_convert (_p1, _p1_pops))
    9330              :           {
    9331           50 :             tree _q40 = _p1_pops[0];
    9332           50 :             switch (TREE_CODE (_q40))
    9333              :               {
    9334            0 :               case BIT_NOT_EXPR:
    9335            0 :                 {
    9336            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    9337            0 :                   {
    9338            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    9339            0 :                     tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, GE_EXPR);
    9340            0 :                     if (res) return res;
    9341              :                   }
    9342            0 :                   break;
    9343              :                 }
    9344              :               default:;
    9345              :               }
    9346              :           }
    9347              :       }
    9348          419 :       if (CONSTANT_CLASS_P (_p1))
    9349              :         {
    9350           96 :           {
    9351           96 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9352           96 :             tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9353           96 :             if (res) return res;
    9354              :           }
    9355              :         }
    9356              :         break;
    9357              :       }
    9358      5191962 :     default:;
    9359              :     }
    9360      5191962 : {
    9361      5191962 :   tree _p0_pops[1];
    9362      5191962 :   if (tree_nop_convert (_p0, _p0_pops))
    9363              :     {
    9364       246414 :       tree _q20 = _p0_pops[0];
    9365       246414 :       switch (TREE_CODE (_q20))
    9366              :         {
    9367            4 :         case BIT_NOT_EXPR:
    9368            4 :           {
    9369            4 :             tree _q30 = TREE_OPERAND (_q20, 0);
    9370            4 :             switch (TREE_CODE (_p1))
    9371              :               {
    9372            0 :               case BIT_NOT_EXPR:
    9373            0 :                 {
    9374            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9375            0 :                   {
    9376            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    9377            0 :                     tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, GE_EXPR);
    9378            0 :                     if (res) return res;
    9379              :                   }
    9380            0 :                   break;
    9381              :                 }
    9382            4 :               default:;
    9383              :               }
    9384            4 :           {
    9385            4 :             tree _p1_pops[1];
    9386            4 :             if (tree_nop_convert (_p1, _p1_pops))
    9387              :               {
    9388            0 :                 tree _q50 = _p1_pops[0];
    9389            0 :                 switch (TREE_CODE (_q50))
    9390              :                   {
    9391            0 :                   case BIT_NOT_EXPR:
    9392            0 :                     {
    9393            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    9394            0 :                       {
    9395            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    9396            0 :                         tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, GE_EXPR);
    9397            0 :                         if (res) return res;
    9398              :                       }
    9399            0 :                       break;
    9400              :                     }
    9401              :                   default:;
    9402              :                   }
    9403              :               }
    9404              :           }
    9405            4 :           if (CONSTANT_CLASS_P (_p1))
    9406              :             {
    9407            0 :               {
    9408            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    9409            0 :                 tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9410            0 :                 if (res) return res;
    9411              :               }
    9412              :             }
    9413              :             break;
    9414              :           }
    9415              :         default:;
    9416              :         }
    9417              :     }
    9418              : }
    9419      5191962 :   switch (TREE_CODE (_p1))
    9420              :     {
    9421       659403 :     case REAL_CST:
    9422       659403 :       {
    9423       659403 :         {
    9424       659403 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9425       659403 :           tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, GE_EXPR);
    9426       659403 :           if (res) return res;
    9427              :         }
    9428       659313 :         break;
    9429              :       }
    9430      5191872 :     default:;
    9431              :     }
    9432      5191872 :   switch (TREE_CODE (_p0))
    9433              :     {
    9434       675682 :     case PLUS_EXPR:
    9435       675682 :       {
    9436       675682 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9437       675682 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9438       675682 :         switch (TREE_CODE (_q21))
    9439              :           {
    9440          168 :           case REAL_CST:
    9441          168 :             {
    9442          168 :               switch (TREE_CODE (_p1))
    9443              :                 {
    9444           20 :                 case REAL_CST:
    9445           20 :                   {
    9446           20 :                     {
    9447           20 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9448           20 :                       tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR);
    9449           20 :                       if (res) return res;
    9450              :                     }
    9451           20 :                     break;
    9452              :                   }
    9453              :                 default:;
    9454              :                 }
    9455              :               break;
    9456              :             }
    9457       566139 :           case INTEGER_CST:
    9458       566139 :             {
    9459       566139 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9460              :                 {
    9461        16012 :                   {
    9462        16012 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    9463        16012 :                     tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9464        16012 :                     if (res) return res;
    9465              :                   }
    9466              :                 }
    9467              :               break;
    9468              :             }
    9469              :           default:;
    9470              :           }
    9471              :         break;
    9472              :       }
    9473        58681 :     case MINUS_EXPR:
    9474        58681 :       {
    9475        58681 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9476        58681 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9477        58681 :         switch (TREE_CODE (_q21))
    9478              :           {
    9479           31 :           case REAL_CST:
    9480           31 :             {
    9481           31 :               switch (TREE_CODE (_p1))
    9482              :                 {
    9483           31 :                 case REAL_CST:
    9484           31 :                   {
    9485           31 :                     {
    9486           31 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9487           31 :                       tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, MINUS_EXPR, GE_EXPR);
    9488           31 :                       if (res) return res;
    9489              :                     }
    9490           31 :                     break;
    9491              :                   }
    9492              :                 default:;
    9493              :                 }
    9494              :               break;
    9495              :             }
    9496        58681 :           default:;
    9497              :           }
    9498        58681 :         switch (TREE_CODE (_q20))
    9499              :           {
    9500           24 :           case REAL_CST:
    9501           24 :             {
    9502           24 :               switch (TREE_CODE (_p1))
    9503              :                 {
    9504            0 :                 case REAL_CST:
    9505            0 :                   {
    9506            0 :                     {
    9507            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9508            0 :                       tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, GE_EXPR);
    9509            0 :                       if (res) return res;
    9510              :                     }
    9511            0 :                     break;
    9512              :                   }
    9513              :                 default:;
    9514              :                 }
    9515              :               break;
    9516              :             }
    9517              :           default:;
    9518              :           }
    9519              :         break;
    9520              :       }
    9521        40747 :     case FLOAT_EXPR:
    9522        40747 :       {
    9523        40747 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9524        40747 :         switch (TREE_CODE (_p1))
    9525              :           {
    9526            8 :           case FLOAT_EXPR:
    9527            8 :             {
    9528            8 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9529            8 :               {
    9530            8 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9531            8 :                 tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    9532            8 :                 if (res) return res;
    9533              :               }
    9534            1 :               break;
    9535              :             }
    9536        39267 :           case REAL_CST:
    9537        39267 :             {
    9538        39267 :               {
    9539        39267 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9540        39267 :                 tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    9541        39267 :                 if (res) return res;
    9542              :               }
    9543        19641 :               break;
    9544              :             }
    9545              :           default:;
    9546              :           }
    9547              :         break;
    9548              :       }
    9549         7970 :     case EXACT_DIV_EXPR:
    9550         7970 :       {
    9551         7970 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9552         7970 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9553         7970 :         switch (TREE_CODE (_q21))
    9554              :           {
    9555         7970 :           case INTEGER_CST:
    9556         7970 :             {
    9557         7970 :               switch (TREE_CODE (_p1))
    9558              :                 {
    9559            0 :                 case INTEGER_CST:
    9560            0 :                   {
    9561            0 :                     {
    9562            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9563            0 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, GE_EXPR);
    9564            0 :                       if (res) return res;
    9565              :                     }
    9566            0 :                     break;
    9567              :                   }
    9568              :                 default:;
    9569              :                 }
    9570              :               break;
    9571              :             }
    9572              :           default:;
    9573              :           }
    9574              :         break;
    9575              :       }
    9576       641117 :     CASE_CONVERT:
    9577       641117 :       {
    9578       641117 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9579       641117 :         switch (TREE_CODE (_q20))
    9580              :           {
    9581          161 :           case EXACT_DIV_EXPR:
    9582          161 :             {
    9583          161 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9584          161 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9585          161 :               switch (TREE_CODE (_q31))
    9586              :                 {
    9587          161 :                 case INTEGER_CST:
    9588          161 :                   {
    9589          161 :                     switch (TREE_CODE (_p1))
    9590              :                       {
    9591            0 :                       case INTEGER_CST:
    9592            0 :                         {
    9593            0 :                           {
    9594            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    9595            0 :                             tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
    9596            0 :                             if (res) return res;
    9597              :                           }
    9598            0 :                           break;
    9599              :                         }
    9600              :                       default:;
    9601              :                       }
    9602              :                     break;
    9603              :                   }
    9604              :                 default:;
    9605              :                 }
    9606              :               break;
    9607              :             }
    9608       641117 :           default:;
    9609              :           }
    9610       641117 :         switch (TREE_CODE (_p1))
    9611              :           {
    9612       100978 :           CASE_CONVERT:
    9613       100978 :             {
    9614       100978 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9615       100978 :               {
    9616       100978 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9617       100978 :                 tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, GE_EXPR);
    9618       100978 :                 if (res) return res;
    9619              :               }
    9620        62034 :               break;
    9621              :             }
    9622       602173 :           default:;
    9623              :           }
    9624       602173 :         {
    9625       602173 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    9626       602173 :           tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, GE_EXPR);
    9627       602173 :           if (res) return res;
    9628              :         }
    9629       329150 :         switch (TREE_CODE (_q20))
    9630              :           {
    9631         3883 :           case ADDR_EXPR:
    9632         3883 :             {
    9633         3883 :               switch (TREE_CODE (_p1))
    9634              :                 {
    9635         3812 :                 CASE_CONVERT:
    9636         3812 :                   {
    9637         3812 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9638         3812 :                     switch (TREE_CODE (_q40))
    9639              :                       {
    9640         3812 :                       case ADDR_EXPR:
    9641         3812 :                         {
    9642         3812 :                           {
    9643         3812 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    9644         3812 :                             tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, GE_EXPR);
    9645         3812 :                             if (res) return res;
    9646              :                           }
    9647          257 :                           break;
    9648              :                         }
    9649              :                       default:;
    9650              :                       }
    9651              :                     break;
    9652              :                   }
    9653            7 :                 case ADDR_EXPR:
    9654            7 :                   {
    9655            7 :                     {
    9656            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9657            7 :                       tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, GE_EXPR);
    9658            7 :                       if (res) return res;
    9659              :                     }
    9660            0 :                     break;
    9661              :                   }
    9662              :                 default:;
    9663              :                 }
    9664              :               break;
    9665              :             }
    9666       325588 :           default:;
    9667              :           }
    9668       325588 :         if (uniform_integer_cst_p (_p1))
    9669              :           {
    9670       102211 :             {
    9671       102211 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9672       102211 :               tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, GE_EXPR);
    9673       102211 :               if (res) return res;
    9674              :             }
    9675              :           }
    9676              :         break;
    9677              :       }
    9678          787 :     case NEGATE_EXPR:
    9679          787 :       {
    9680          787 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9681          787 :         switch (TREE_CODE (_p1))
    9682              :           {
    9683            0 :           case NEGATE_EXPR:
    9684            0 :             {
    9685            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9686            0 :               {
    9687            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9688            0 :                 tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9689            0 :                 if (res) return res;
    9690              :               }
    9691            0 :               break;
    9692              :             }
    9693          787 :           default:;
    9694              :           }
    9695          787 :       if (CONSTANT_CLASS_P (_p1))
    9696              :         {
    9697          254 :           {
    9698          254 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9699          254 :             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9700          254 :             if (res) return res;
    9701              :           }
    9702              :         }
    9703              :         break;
    9704              :       }
    9705         7665 :     case ADDR_EXPR:
    9706         7665 :       {
    9707         7665 :         switch (TREE_CODE (_p1))
    9708              :           {
    9709            0 :           CASE_CONVERT:
    9710            0 :             {
    9711            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    9712            0 :               switch (TREE_CODE (_q30))
    9713              :                 {
    9714            0 :                 case ADDR_EXPR:
    9715            0 :                   {
    9716            0 :                     {
    9717            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    9718            0 :                       tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, GE_EXPR);
    9719            0 :                       if (res) return res;
    9720              :                     }
    9721            0 :                     break;
    9722              :                   }
    9723              :                 default:;
    9724              :                 }
    9725              :               break;
    9726              :             }
    9727         7267 :           case ADDR_EXPR:
    9728         7267 :             {
    9729         7267 :               {
    9730         7267 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9731         7267 :                 tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, GE_EXPR);
    9732         7267 :                 if (res) return res;
    9733              :               }
    9734          116 :               break;
    9735              :             }
    9736              :           default:;
    9737              :           }
    9738              :         break;
    9739              :       }
    9740       245533 :     case CALL_EXPR:
    9741       245533 :       switch (get_call_combined_fn (_p0))
    9742              :         {
    9743            2 :         case CFN_BUILT_IN_SQRTF:
    9744            2 :           if (call_expr_nargs (_p0) == 1)
    9745              :     {
    9746            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9747            2 :               switch (TREE_CODE (_p1))
    9748              :                 {
    9749            2 :                 case REAL_CST:
    9750            2 :                   {
    9751            2 :                     {
    9752            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9753            2 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
    9754            2 :                       if (res) return res;
    9755              :                     }
    9756            0 :                     break;
    9757              :                   }
    9758            0 :                 case CALL_EXPR:
    9759            0 :                   switch (get_call_combined_fn (_p1))
    9760              :                     {
    9761            0 :                     case CFN_BUILT_IN_SQRTF:
    9762            0 :                       if (call_expr_nargs (_p1) == 1)
    9763              :     {
    9764            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9765            0 :                           {
    9766            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9767            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
    9768            0 :                             if (res) return res;
    9769              :                           }
    9770              :                         }
    9771              :                       break;
    9772              :                     default:;
    9773              :                     }
    9774              :                   break;
    9775              :                 default:;
    9776              :                 }
    9777              :             }
    9778              :           break;
    9779            0 :         case CFN_BUILT_IN_SQRTL:
    9780            0 :           if (call_expr_nargs (_p0) == 1)
    9781              :     {
    9782            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9783            0 :               switch (TREE_CODE (_p1))
    9784              :                 {
    9785            0 :                 case REAL_CST:
    9786            0 :                   {
    9787            0 :                     {
    9788            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9789            0 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
    9790            0 :                       if (res) return res;
    9791              :                     }
    9792            0 :                     break;
    9793              :                   }
    9794            0 :                 case CALL_EXPR:
    9795            0 :                   switch (get_call_combined_fn (_p1))
    9796              :                     {
    9797            0 :                     case CFN_BUILT_IN_SQRTL:
    9798            0 :                       if (call_expr_nargs (_p1) == 1)
    9799              :     {
    9800            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9801            0 :                           {
    9802            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9803            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
    9804            0 :                             if (res) return res;
    9805              :                           }
    9806              :                         }
    9807              :                       break;
    9808              :                     default:;
    9809              :                     }
    9810              :                   break;
    9811              :                 default:;
    9812              :                 }
    9813              :             }
    9814              :           break;
    9815            1 :         case CFN_BUILT_IN_SQRT:
    9816            1 :           if (call_expr_nargs (_p0) == 1)
    9817              :     {
    9818            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9819            1 :               switch (TREE_CODE (_p1))
    9820              :                 {
    9821            1 :                 case REAL_CST:
    9822            1 :                   {
    9823            1 :                     {
    9824            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9825            1 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
    9826            1 :                       if (res) return res;
    9827              :                     }
    9828            1 :                     break;
    9829              :                   }
    9830            0 :                 case CALL_EXPR:
    9831            0 :                   switch (get_call_combined_fn (_p1))
    9832              :                     {
    9833            0 :                     case CFN_BUILT_IN_SQRT:
    9834            0 :                       if (call_expr_nargs (_p1) == 1)
    9835              :     {
    9836            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9837            0 :                           {
    9838            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9839            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
    9840            0 :                             if (res) return res;
    9841              :                           }
    9842              :                         }
    9843              :                       break;
    9844              :                     default:;
    9845              :                     }
    9846              :                   break;
    9847              :                 default:;
    9848              :                 }
    9849              :             }
    9850              :           break;
    9851            0 :         case CFN_SQRT:
    9852            0 :           if (call_expr_nargs (_p0) == 1)
    9853              :     {
    9854            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9855            0 :               switch (TREE_CODE (_p1))
    9856              :                 {
    9857            0 :                 case REAL_CST:
    9858            0 :                   {
    9859            0 :                     {
    9860            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9861            0 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
    9862            0 :                       if (res) return res;
    9863              :                     }
    9864            0 :                     break;
    9865              :                   }
    9866            0 :                 case CALL_EXPR:
    9867            0 :                   switch (get_call_combined_fn (_p1))
    9868              :                     {
    9869            0 :                     case CFN_SQRT:
    9870            0 :                       if (call_expr_nargs (_p1) == 1)
    9871              :     {
    9872            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9873            0 :                           {
    9874            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9875            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
    9876            0 :                             if (res) return res;
    9877              :                           }
    9878              :                         }
    9879              :                       break;
    9880              :                     default:;
    9881              :                     }
    9882              :                   break;
    9883              :                 default:;
    9884              :                 }
    9885              :             }
    9886              :           break;
    9887              :         default:;
    9888              :         }
    9889              :       break;
    9890      4822933 :     default:;
    9891              :     }
    9892      4822933 :   if (uniform_integer_cst_p (_p1))
    9893              :     {
    9894      1600428 :       {
    9895      1600428 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9896      1600428 :         tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, GE_EXPR);
    9897      1600428 :         if (res) return res;
    9898              :       }
    9899              :     }
    9900      4514820 :   switch (TREE_CODE (_p0))
    9901              :     {
    9902       314231 :     CASE_CONVERT:
    9903       314231 :       {
    9904       314231 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9905       314231 :         switch (TREE_CODE (_q20))
    9906              :           {
    9907        30329 :           case PLUS_EXPR:
    9908        30329 :             {
    9909        30329 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9910        30329 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9911        30329 :               switch (TREE_CODE (_q30))
    9912              :                 {
    9913        21537 :                 CASE_CONVERT:
    9914        21537 :                   {
    9915        21537 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9916        21537 :                     switch (TREE_CODE (_q31))
    9917              :                       {
    9918        21536 :                       case INTEGER_CST:
    9919        21536 :                         {
    9920        21536 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    9921              :                             {
    9922          154 :                               {
    9923          154 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    9924          154 :                                 tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9925          154 :                                 if (res) return res;
    9926              :                               }
    9927              :                             }
    9928              :                           break;
    9929              :                         }
    9930              :                       default:;
    9931              :                       }
    9932              :                     break;
    9933              :                   }
    9934              :                 default:;
    9935              :                 }
    9936              :               break;
    9937              :             }
    9938              :           default:;
    9939              :           }
    9940              :         break;
    9941              :       }
    9942      4514748 :     default:;
    9943              :     }
    9944      4514748 :   switch (TREE_CODE (_p1))
    9945              :     {
    9946       227725 :     CASE_CONVERT:
    9947       227725 :       {
    9948       227725 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9949       227725 :         switch (TREE_CODE (_q30))
    9950              :           {
    9951          315 :           case PLUS_EXPR:
    9952          315 :             {
    9953          315 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9954          315 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9955          315 :               switch (TREE_CODE (_q40))
    9956              :                 {
    9957          219 :                 CASE_CONVERT:
    9958          219 :                   {
    9959          219 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9960          219 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    9961              :                       {
    9962            0 :                         switch (TREE_CODE (_q41))
    9963              :                           {
    9964            0 :                           case INTEGER_CST:
    9965            0 :                             {
    9966            0 :                               {
    9967            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    9968            0 :                                 tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    9969            0 :                                 if (res) return res;
    9970              :                               }
    9971            0 :                               break;
    9972              :                             }
    9973              :                           default:;
    9974              :                           }
    9975              :                       }
    9976              :                     break;
    9977              :                   }
    9978              :                 default:;
    9979              :                 }
    9980              :               break;
    9981              :             }
    9982              :           default:;
    9983              :           }
    9984              :         break;
    9985              :       }
    9986        58978 :     case PLUS_EXPR:
    9987        58978 :       {
    9988        58978 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9989        58978 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9990        58978 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9991              :           {
    9992            0 :             switch (TREE_CODE (_q31))
    9993              :               {
    9994            0 :               case INTEGER_CST:
    9995            0 :                 {
    9996            0 :                   {
    9997            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    9998            0 :                     tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    9999            0 :                     if (res) return res;
   10000              :                   }
   10001            0 :                   break;
   10002              :                 }
   10003              :               default:;
   10004              :               }
   10005              :           }
   10006              :         break;
   10007              :       }
   10008         2568 :     case MINUS_EXPR:
   10009         2568 :       {
   10010         2568 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10011         2568 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10012         2568 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10013              :           {
   10014            0 :             {
   10015            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
   10016            0 :               tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LE_EXPR);
   10017            0 :               if (res) return res;
   10018              :             }
   10019              :           }
   10020              :         break;
   10021              :       }
   10022      4514748 :     default:;
   10023              :     }
   10024      4514748 :   switch (TREE_CODE (_p0))
   10025              :     {
   10026       585696 :     case PLUS_EXPR:
   10027       585696 :       {
   10028       585696 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10029       585696 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10030       585696 :         switch (TREE_CODE (_q20))
   10031              :           {
   10032          141 :           case MINUS_EXPR:
   10033          141 :             {
   10034          141 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10035          141 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10036          141 :               if (integer_minus_onep (_q21))
   10037              :                 {
   10038            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10039              :                     {
   10040            1 :                       {
   10041            1 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10042            1 :                         tree res = generic_simplify_422 (loc, type, _p0, _p1, captures, GE_EXPR);
   10043            1 :                         if (res) return res;
   10044              :                       }
   10045              :                     }
   10046              :                 }
   10047              :               break;
   10048              :             }
   10049              :           default:;
   10050              :           }
   10051              :         break;
   10052              :       }
   10053      4514747 :     default:;
   10054              :     }
   10055      4514747 :   switch (TREE_CODE (_p1))
   10056              :     {
   10057            0 :     case REALPART_EXPR:
   10058            0 :       {
   10059            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10060            0 :         switch (TREE_CODE (_q30))
   10061              :           {
   10062            0 :           case CALL_EXPR:
   10063            0 :             switch (get_call_combined_fn (_q30))
   10064              :               {
   10065            0 :               case CFN_SUB_OVERFLOW:
   10066            0 :                 if (call_expr_nargs (_q30) == 2)
   10067              :     {
   10068            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   10069            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   10070            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10071              :                       {
   10072            0 :                         {
   10073            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
   10074            0 :                           tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   10075            0 :                           if (res) return res;
   10076              :                         }
   10077              :                       }
   10078              :                   }
   10079              :                 break;
   10080              :               default:;
   10081              :               }
   10082              :             break;
   10083              :           default:;
   10084              :           }
   10085              :         break;
   10086              :       }
   10087      4514747 :     default:;
   10088              :     }
   10089      4514747 :   switch (TREE_CODE (_p0))
   10090              :     {
   10091            0 :     case REALPART_EXPR:
   10092            0 :       {
   10093            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10094            0 :         switch (TREE_CODE (_q20))
   10095              :           {
   10096            0 :           case CALL_EXPR:
   10097            0 :             switch (get_call_combined_fn (_q20))
   10098              :               {
   10099            0 :               case CFN_ADD_OVERFLOW:
   10100            0 :                 if (call_expr_nargs (_q20) == 2)
   10101              :     {
   10102            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   10103            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
   10104            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10105              :                       {
   10106            0 :                         {
   10107            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   10108            0 :                           tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   10109            0 :                           if (res) return res;
   10110              :                         }
   10111              :                       }
   10112            0 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
   10113              :                       {
   10114            0 :                         {
   10115            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
   10116            0 :                           tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   10117            0 :                           if (res) return res;
   10118              :                         }
   10119              :                       }
   10120              :                   }
   10121              :                 break;
   10122              :               default:;
   10123              :               }
   10124              :             break;
   10125              :           default:;
   10126              :           }
   10127              :         break;
   10128              :       }
   10129         1455 :     case TRUNC_DIV_EXPR:
   10130         1455 :       {
   10131         1455 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10132         1455 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10133         1455 :         if (integer_all_onesp (_q20))
   10134              :           {
   10135           33 :             {
   10136           33 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
   10137           33 :               tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   10138           33 :               if (res) return res;
   10139              :             }
   10140              :           }
   10141              :         break;
   10142              :       }
   10143        22178 :     case MULT_EXPR:
   10144        22178 :       {
   10145        22178 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10146        22178 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10147        22178 :         switch (TREE_CODE (_q21))
   10148              :           {
   10149          305 :           case REAL_CST:
   10150          305 :             {
   10151          305 :               switch (TREE_CODE (_p1))
   10152              :                 {
   10153           43 :                 case REAL_CST:
   10154           43 :                   {
   10155           43 :                     {
   10156           43 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10157           43 :                       tree res = generic_simplify_426 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   10158           43 :                       if (res) return res;
   10159              :                     }
   10160           43 :                     break;
   10161              :                   }
   10162              :                 default:;
   10163              :                 }
   10164              :               break;
   10165              :             }
   10166              :           default:;
   10167              :           }
   10168              :         break;
   10169              :       }
   10170          151 :     case REAL_CST:
   10171          151 :       {
   10172          151 :         switch (TREE_CODE (_p1))
   10173              :           {
   10174            0 :           case CALL_EXPR:
   10175            0 :             switch (get_call_combined_fn (_p1))
   10176              :               {
   10177            0 :               case CFN_BUILT_IN_EXP:
   10178            0 :                 if (call_expr_nargs (_p1) == 1)
   10179              :     {
   10180            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10181            0 :                     {
   10182            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10183            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
   10184            0 :                       if (res) return res;
   10185              :                     }
   10186              :                   }
   10187              :                 break;
   10188            0 :               case CFN_BUILT_IN_LOG:
   10189            0 :                 if (call_expr_nargs (_p1) == 1)
   10190              :     {
   10191            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10192            0 :                     {
   10193            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10194            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
   10195            0 :                       if (res) return res;
   10196              :                     }
   10197              :                   }
   10198              :                 break;
   10199            0 :               case CFN_BUILT_IN_EXP10F:
   10200            0 :                 if (call_expr_nargs (_p1) == 1)
   10201              :     {
   10202            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10203            0 :                     {
   10204            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10205            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
   10206            0 :                       if (res) return res;
   10207              :                     }
   10208              :                   }
   10209              :                 break;
   10210            0 :               case CFN_BUILT_IN_EXP10L:
   10211            0 :                 if (call_expr_nargs (_p1) == 1)
   10212              :     {
   10213            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10214            0 :                     {
   10215            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10216            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
   10217            0 :                       if (res) return res;
   10218              :                     }
   10219              :                   }
   10220              :                 break;
   10221            0 :               case CFN_BUILT_IN_EXP2:
   10222            0 :                 if (call_expr_nargs (_p1) == 1)
   10223              :     {
   10224            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10225            0 :                     {
   10226            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10227            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
   10228            0 :                       if (res) return res;
   10229              :                     }
   10230              :                   }
   10231              :                 break;
   10232            0 :               case CFN_BUILT_IN_EXPF:
   10233            0 :                 if (call_expr_nargs (_p1) == 1)
   10234              :     {
   10235            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10236            0 :                     {
   10237            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10238            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
   10239            0 :                       if (res) return res;
   10240              :                     }
   10241              :                   }
   10242              :                 break;
   10243            0 :               case CFN_BUILT_IN_EXPL:
   10244            0 :                 if (call_expr_nargs (_p1) == 1)
   10245              :     {
   10246            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10247            0 :                     {
   10248            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10249            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
   10250            0 :                       if (res) return res;
   10251              :                     }
   10252              :                   }
   10253              :                 break;
   10254            0 :               case CFN_BUILT_IN_LOG2:
   10255            0 :                 if (call_expr_nargs (_p1) == 1)
   10256              :     {
   10257            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10258            0 :                     {
   10259            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10260            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
   10261            0 :                       if (res) return res;
   10262              :                     }
   10263              :                   }
   10264              :                 break;
   10265            0 :               case CFN_BUILT_IN_LOGF:
   10266            0 :                 if (call_expr_nargs (_p1) == 1)
   10267              :     {
   10268            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10269            0 :                     {
   10270            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10271            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
   10272            0 :                       if (res) return res;
   10273              :                     }
   10274              :                   }
   10275              :                 break;
   10276            0 :               case CFN_BUILT_IN_LOGL:
   10277            0 :                 if (call_expr_nargs (_p1) == 1)
   10278              :     {
   10279            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10280            0 :                     {
   10281            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10282            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
   10283            0 :                       if (res) return res;
   10284              :                     }
   10285              :                   }
   10286              :                 break;
   10287            0 :               case CFN_BUILT_IN_LOG10F:
   10288            0 :                 if (call_expr_nargs (_p1) == 1)
   10289              :     {
   10290            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10291            0 :                     {
   10292            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10293            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
   10294            0 :                       if (res) return res;
   10295              :                     }
   10296              :                   }
   10297              :                 break;
   10298            0 :               case CFN_BUILT_IN_LOG10L:
   10299            0 :                 if (call_expr_nargs (_p1) == 1)
   10300              :     {
   10301            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10302            0 :                     {
   10303            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10304            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
   10305            0 :                       if (res) return res;
   10306              :                     }
   10307              :                   }
   10308              :                 break;
   10309            0 :               case CFN_EXP:
   10310            0 :                 if (call_expr_nargs (_p1) == 1)
   10311              :     {
   10312            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10313            0 :                     {
   10314            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10315            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
   10316            0 :                       if (res) return res;
   10317              :                     }
   10318              :                   }
   10319              :                 break;
   10320            0 :               case CFN_LOG:
   10321            0 :                 if (call_expr_nargs (_p1) == 1)
   10322              :     {
   10323            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10324            0 :                     {
   10325            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10326            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
   10327            0 :                       if (res) return res;
   10328              :                     }
   10329              :                   }
   10330              :                 break;
   10331            0 :               case CFN_EXP2:
   10332            0 :                 if (call_expr_nargs (_p1) == 1)
   10333              :     {
   10334            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10335            0 :                     {
   10336            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10337            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
   10338            0 :                       if (res) return res;
   10339              :                     }
   10340              :                   }
   10341              :                 break;
   10342            0 :               case CFN_LOG2:
   10343            0 :                 if (call_expr_nargs (_p1) == 1)
   10344              :     {
   10345            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10346            0 :                     {
   10347            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10348            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
   10349            0 :                       if (res) return res;
   10350              :                     }
   10351              :                   }
   10352              :                 break;
   10353            0 :               case CFN_EXP10:
   10354            0 :                 if (call_expr_nargs (_p1) == 1)
   10355              :     {
   10356            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10357            0 :                     {
   10358            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10359            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
   10360            0 :                       if (res) return res;
   10361              :                     }
   10362              :                   }
   10363              :                 break;
   10364            0 :               case CFN_LOG10:
   10365            0 :                 if (call_expr_nargs (_p1) == 1)
   10366              :     {
   10367            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10368            0 :                     {
   10369            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10370            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
   10371            0 :                       if (res) return res;
   10372              :                     }
   10373              :                   }
   10374              :                 break;
   10375            0 :               case CFN_BUILT_IN_EXP10:
   10376            0 :                 if (call_expr_nargs (_p1) == 1)
   10377              :     {
   10378            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10379            0 :                     {
   10380            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10381            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
   10382            0 :                       if (res) return res;
   10383              :                     }
   10384              :                   }
   10385              :                 break;
   10386            0 :               case CFN_BUILT_IN_EXP2F:
   10387            0 :                 if (call_expr_nargs (_p1) == 1)
   10388              :     {
   10389            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10390            0 :                     {
   10391            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10392            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
   10393            0 :                       if (res) return res;
   10394              :                     }
   10395              :                   }
   10396              :                 break;
   10397            0 :               case CFN_BUILT_IN_EXP2L:
   10398            0 :                 if (call_expr_nargs (_p1) == 1)
   10399              :     {
   10400            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10401            0 :                     {
   10402            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10403            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
   10404            0 :                       if (res) return res;
   10405              :                     }
   10406              :                   }
   10407              :                 break;
   10408            0 :               case CFN_BUILT_IN_LOG10:
   10409            0 :                 if (call_expr_nargs (_p1) == 1)
   10410              :     {
   10411            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10412            0 :                     {
   10413            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10414            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
   10415            0 :                       if (res) return res;
   10416              :                     }
   10417              :                   }
   10418              :                 break;
   10419            0 :               case CFN_BUILT_IN_LOG2F:
   10420            0 :                 if (call_expr_nargs (_p1) == 1)
   10421              :     {
   10422            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10423            0 :                     {
   10424            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10425            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
   10426            0 :                       if (res) return res;
   10427              :                     }
   10428              :                   }
   10429              :                 break;
   10430            0 :               case CFN_BUILT_IN_LOG2L:
   10431            0 :                 if (call_expr_nargs (_p1) == 1)
   10432              :     {
   10433            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
   10434            0 :                     {
   10435            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   10436            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
   10437            0 :                       if (res) return res;
   10438              :                     }
   10439              :                   }
   10440              :                 break;
   10441              :               default:;
   10442              :               }
   10443              :             break;
   10444              :           default:;
   10445              :           }
   10446              :         break;
   10447              :       }
   10448       585695 :     case PLUS_EXPR:
   10449       585695 :       {
   10450       585695 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10451       585695 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10452       585695 :         switch (TREE_CODE (_q21))
   10453              :           {
   10454       476152 :           case INTEGER_CST:
   10455       476152 :             {
   10456       476152 :               switch (TREE_CODE (_p1))
   10457              :                 {
   10458       118494 :                 case INTEGER_CST:
   10459       118494 :                   {
   10460       118494 :                     {
   10461       118494 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10462       118494 :                       tree res = generic_simplify_427 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GE_EXPR, LE_EXPR);
   10463       118494 :                       if (res) return res;
   10464              :                     }
   10465        56085 :                     break;
   10466              :                   }
   10467              :                 default:;
   10468              :                 }
   10469              :               break;
   10470              :             }
   10471              :           default:;
   10472              :           }
   10473              :         break;
   10474              :       }
   10475        58237 :     case MINUS_EXPR:
   10476        58237 :       {
   10477        58237 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10478        58237 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10479        58237 :         switch (TREE_CODE (_q21))
   10480              :           {
   10481            7 :           case INTEGER_CST:
   10482            7 :             {
   10483            7 :               switch (TREE_CODE (_p1))
   10484              :                 {
   10485            7 :                 case INTEGER_CST:
   10486            7 :                   {
   10487            7 :                     {
   10488            7 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10489            7 :                       tree res = generic_simplify_427 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GE_EXPR, LE_EXPR);
   10490            7 :                       if (res) return res;
   10491              :                     }
   10492            0 :                     break;
   10493              :                   }
   10494              :                 default:;
   10495              :                 }
   10496              :               break;
   10497              :             }
   10498        58230 :           default:;
   10499              :           }
   10500        58230 :         switch (TREE_CODE (_q20))
   10501              :           {
   10502         1580 :           case INTEGER_CST:
   10503         1580 :             {
   10504         1580 :               switch (TREE_CODE (_p1))
   10505              :                 {
   10506          543 :                 case INTEGER_CST:
   10507          543 :                   {
   10508          543 :                     {
   10509          543 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10510          543 :                       tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   10511          543 :                       if (res) return res;
   10512              :                     }
   10513            0 :                     break;
   10514              :                   }
   10515              :                 default:;
   10516              :                 }
   10517              :               break;
   10518              :             }
   10519              :           default:;
   10520              :           }
   10521              :         break;
   10522              :       }
   10523       245143 :     case CALL_EXPR:
   10524       245143 :       switch (get_call_combined_fn (_p0))
   10525              :         {
   10526            1 :         case CFN_BUILT_IN_CTZ:
   10527            1 :           if (call_expr_nargs (_p0) == 1)
   10528              :     {
   10529            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10530            1 :               switch (TREE_CODE (_p1))
   10531              :                 {
   10532            1 :                 case INTEGER_CST:
   10533            1 :                   {
   10534            1 :                     {
   10535            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10536            1 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
   10537            1 :                       if (res) return res;
   10538              :                     }
   10539            0 :                     break;
   10540              :                   }
   10541              :                 default:;
   10542              :                 }
   10543              :             }
   10544              :           break;
   10545            1 :         case CFN_BUILT_IN_EXP:
   10546            1 :           if (call_expr_nargs (_p0) == 1)
   10547              :     {
   10548            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10549            1 :               switch (TREE_CODE (_p1))
   10550              :                 {
   10551            1 :                 case REAL_CST:
   10552            1 :                   {
   10553            1 :                     {
   10554            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10555            1 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
   10556            1 :                       if (res) return res;
   10557              :                     }
   10558            1 :                     break;
   10559              :                   }
   10560              :                 default:;
   10561              :                 }
   10562              :             }
   10563              :           break;
   10564            1 :         case CFN_BUILT_IN_LOG:
   10565            1 :           if (call_expr_nargs (_p0) == 1)
   10566              :     {
   10567            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10568            1 :               switch (TREE_CODE (_p1))
   10569              :                 {
   10570            0 :                 case REAL_CST:
   10571            0 :                   {
   10572            0 :                     {
   10573            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10574            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
   10575            0 :                       if (res) return res;
   10576              :                     }
   10577            0 :                     break;
   10578              :                   }
   10579              :                 default:;
   10580              :                 }
   10581              :             }
   10582              :           break;
   10583            0 :         case CFN_BUILT_IN_EXP10F:
   10584            0 :           if (call_expr_nargs (_p0) == 1)
   10585              :     {
   10586            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10587            0 :               switch (TREE_CODE (_p1))
   10588              :                 {
   10589            0 :                 case REAL_CST:
   10590            0 :                   {
   10591            0 :                     {
   10592            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10593            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
   10594            0 :                       if (res) return res;
   10595              :                     }
   10596            0 :                     break;
   10597              :                   }
   10598              :                 default:;
   10599              :                 }
   10600              :             }
   10601              :           break;
   10602            0 :         case CFN_BUILT_IN_EXP10L:
   10603            0 :           if (call_expr_nargs (_p0) == 1)
   10604              :     {
   10605            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10606            0 :               switch (TREE_CODE (_p1))
   10607              :                 {
   10608            0 :                 case REAL_CST:
   10609            0 :                   {
   10610            0 :                     {
   10611            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10612            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
   10613            0 :                       if (res) return res;
   10614              :                     }
   10615            0 :                     break;
   10616              :                   }
   10617              :                 default:;
   10618              :                 }
   10619              :             }
   10620              :           break;
   10621            0 :         case CFN_BUILT_IN_CTZL:
   10622            0 :           if (call_expr_nargs (_p0) == 1)
   10623              :     {
   10624            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10625            0 :               switch (TREE_CODE (_p1))
   10626              :                 {
   10627            0 :                 case INTEGER_CST:
   10628            0 :                   {
   10629            0 :                     {
   10630            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10631            0 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
   10632            0 :                       if (res) return res;
   10633              :                     }
   10634            0 :                     break;
   10635              :                   }
   10636              :                 default:;
   10637              :                 }
   10638              :             }
   10639              :           break;
   10640            0 :         case CFN_BUILT_IN_EXP2:
   10641            0 :           if (call_expr_nargs (_p0) == 1)
   10642              :     {
   10643            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10644            0 :               switch (TREE_CODE (_p1))
   10645              :                 {
   10646            0 :                 case REAL_CST:
   10647            0 :                   {
   10648            0 :                     {
   10649            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10650            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
   10651            0 :                       if (res) return res;
   10652              :                     }
   10653            0 :                     break;
   10654              :                   }
   10655              :                 default:;
   10656              :                 }
   10657              :             }
   10658              :           break;
   10659            0 :         case CFN_BUILT_IN_EXPF:
   10660            0 :           if (call_expr_nargs (_p0) == 1)
   10661              :     {
   10662            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10663            0 :               switch (TREE_CODE (_p1))
   10664              :                 {
   10665            0 :                 case REAL_CST:
   10666            0 :                   {
   10667            0 :                     {
   10668            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10669            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
   10670            0 :                       if (res) return res;
   10671              :                     }
   10672            0 :                     break;
   10673              :                   }
   10674              :                 default:;
   10675              :                 }
   10676              :             }
   10677              :           break;
   10678            0 :         case CFN_BUILT_IN_EXPL:
   10679            0 :           if (call_expr_nargs (_p0) == 1)
   10680              :     {
   10681            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10682            0 :               switch (TREE_CODE (_p1))
   10683              :                 {
   10684            0 :                 case REAL_CST:
   10685            0 :                   {
   10686            0 :                     {
   10687            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10688            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
   10689            0 :                       if (res) return res;
   10690              :                     }
   10691            0 :                     break;
   10692              :                   }
   10693              :                 default:;
   10694              :                 }
   10695              :             }
   10696              :           break;
   10697            0 :         case CFN_BUILT_IN_LOG2:
   10698            0 :           if (call_expr_nargs (_p0) == 1)
   10699              :     {
   10700            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10701            0 :               switch (TREE_CODE (_p1))
   10702              :                 {
   10703            0 :                 case REAL_CST:
   10704            0 :                   {
   10705            0 :                     {
   10706            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10707            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
   10708            0 :                       if (res) return res;
   10709              :                     }
   10710            0 :                     break;
   10711              :                   }
   10712              :                 default:;
   10713              :                 }
   10714              :             }
   10715              :           break;
   10716            0 :         case CFN_BUILT_IN_LOGF:
   10717            0 :           if (call_expr_nargs (_p0) == 1)
   10718              :     {
   10719            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10720            0 :               switch (TREE_CODE (_p1))
   10721              :                 {
   10722            0 :                 case REAL_CST:
   10723            0 :                   {
   10724            0 :                     {
   10725            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10726            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
   10727            0 :                       if (res) return res;
   10728              :                     }
   10729            0 :                     break;
   10730              :                   }
   10731              :                 default:;
   10732              :                 }
   10733              :             }
   10734              :           break;
   10735            0 :         case CFN_BUILT_IN_LOGL:
   10736            0 :           if (call_expr_nargs (_p0) == 1)
   10737              :     {
   10738            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10739            0 :               switch (TREE_CODE (_p1))
   10740              :                 {
   10741            0 :                 case REAL_CST:
   10742            0 :                   {
   10743            0 :                     {
   10744            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10745            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
   10746            0 :                       if (res) return res;
   10747              :                     }
   10748            0 :                     break;
   10749              :                   }
   10750              :                 default:;
   10751              :                 }
   10752              :             }
   10753              :           break;
   10754            0 :         case CFN_BUILT_IN_LOG10F:
   10755            0 :           if (call_expr_nargs (_p0) == 1)
   10756              :     {
   10757            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10758            0 :               switch (TREE_CODE (_p1))
   10759              :                 {
   10760            0 :                 case REAL_CST:
   10761            0 :                   {
   10762            0 :                     {
   10763            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10764            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
   10765            0 :                       if (res) return res;
   10766              :                     }
   10767            0 :                     break;
   10768              :                   }
   10769              :                 default:;
   10770              :                 }
   10771              :             }
   10772              :           break;
   10773            0 :         case CFN_BUILT_IN_LOG10L:
   10774            0 :           if (call_expr_nargs (_p0) == 1)
   10775              :     {
   10776            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10777            0 :               switch (TREE_CODE (_p1))
   10778              :                 {
   10779            0 :                 case REAL_CST:
   10780            0 :                   {
   10781            0 :                     {
   10782            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10783            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
   10784            0 :                       if (res) return res;
   10785              :                     }
   10786            0 :                     break;
   10787              :                   }
   10788              :                 default:;
   10789              :                 }
   10790              :             }
   10791              :           break;
   10792            0 :         case CFN_BUILT_IN_CTZIMAX:
   10793            0 :           if (call_expr_nargs (_p0) == 1)
   10794              :     {
   10795            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10796            0 :               switch (TREE_CODE (_p1))
   10797              :                 {
   10798            0 :                 case INTEGER_CST:
   10799            0 :                   {
   10800            0 :                     {
   10801            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10802            0 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
   10803            0 :                       if (res) return res;
   10804              :                     }
   10805            0 :                     break;
   10806              :                   }
   10807              :                 default:;
   10808              :                 }
   10809              :             }
   10810              :           break;
   10811            0 :         case CFN_CTZ:
   10812            0 :           if (call_expr_nargs (_p0) == 2)
   10813              :     {
   10814            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10815            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10816            0 :               switch (TREE_CODE (_p1))
   10817              :                 {
   10818            0 :                 case INTEGER_CST:
   10819            0 :                   {
   10820            0 :                     {
   10821            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10822            0 :                       tree res = generic_simplify_429 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   10823            0 :                       if (res) return res;
   10824              :                     }
   10825            0 :                     break;
   10826              :                   }
   10827              :                 default:;
   10828              :                 }
   10829              :             }
   10830            0 :           if (call_expr_nargs (_p0) == 1)
   10831              :     {
   10832            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10833            0 :               switch (TREE_CODE (_p1))
   10834              :                 {
   10835            0 :                 case INTEGER_CST:
   10836            0 :                   {
   10837            0 :                     {
   10838            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10839            0 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_CTZ);
   10840            0 :                       if (res) return res;
   10841              :                     }
   10842            0 :                     break;
   10843              :                   }
   10844              :                 default:;
   10845              :                 }
   10846              :             }
   10847              :           break;
   10848            0 :         case CFN_EXP:
   10849            0 :           if (call_expr_nargs (_p0) == 1)
   10850              :     {
   10851            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10852            0 :               switch (TREE_CODE (_p1))
   10853              :                 {
   10854            0 :                 case REAL_CST:
   10855            0 :                   {
   10856            0 :                     {
   10857            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10858            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
   10859            0 :                       if (res) return res;
   10860              :                     }
   10861            0 :                     break;
   10862              :                   }
   10863              :                 default:;
   10864              :                 }
   10865              :             }
   10866              :           break;
   10867            0 :         case CFN_LOG:
   10868            0 :           if (call_expr_nargs (_p0) == 1)
   10869              :     {
   10870            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10871            0 :               switch (TREE_CODE (_p1))
   10872              :                 {
   10873            0 :                 case REAL_CST:
   10874            0 :                   {
   10875            0 :                     {
   10876            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10877            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
   10878            0 :                       if (res) return res;
   10879              :                     }
   10880            0 :                     break;
   10881              :                   }
   10882              :                 default:;
   10883              :                 }
   10884              :             }
   10885              :           break;
   10886            0 :         case CFN_EXP2:
   10887            0 :           if (call_expr_nargs (_p0) == 1)
   10888              :     {
   10889            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10890            0 :               switch (TREE_CODE (_p1))
   10891              :                 {
   10892            0 :                 case REAL_CST:
   10893            0 :                   {
   10894            0 :                     {
   10895            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10896            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
   10897            0 :                       if (res) return res;
   10898              :                     }
   10899            0 :                     break;
   10900              :                   }
   10901              :                 default:;
   10902              :                 }
   10903              :             }
   10904              :           break;
   10905            0 :         case CFN_LOG2:
   10906            0 :           if (call_expr_nargs (_p0) == 1)
   10907              :     {
   10908            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10909            0 :               switch (TREE_CODE (_p1))
   10910              :                 {
   10911            0 :                 case REAL_CST:
   10912            0 :                   {
   10913            0 :                     {
   10914            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10915            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
   10916            0 :                       if (res) return res;
   10917              :                     }
   10918            0 :                     break;
   10919              :                   }
   10920              :                 default:;
   10921              :                 }
   10922              :             }
   10923              :           break;
   10924            0 :         case CFN_EXP10:
   10925            0 :           if (call_expr_nargs (_p0) == 1)
   10926              :     {
   10927            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10928            0 :               switch (TREE_CODE (_p1))
   10929              :                 {
   10930            0 :                 case REAL_CST:
   10931            0 :                   {
   10932            0 :                     {
   10933            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10934            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
   10935            0 :                       if (res) return res;
   10936              :                     }
   10937            0 :                     break;
   10938              :                   }
   10939              :                 default:;
   10940              :                 }
   10941              :             }
   10942              :           break;
   10943            0 :         case CFN_BUILT_IN_CTZLL:
   10944            0 :           if (call_expr_nargs (_p0) == 1)
   10945              :     {
   10946            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10947            0 :               switch (TREE_CODE (_p1))
   10948              :                 {
   10949            0 :                 case INTEGER_CST:
   10950            0 :                   {
   10951            0 :                     {
   10952            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10953            0 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   10954            0 :                       if (res) return res;
   10955              :                     }
   10956            0 :                     break;
   10957              :                   }
   10958              :                 default:;
   10959              :                 }
   10960              :             }
   10961              :           break;
   10962            0 :         case CFN_LOG10:
   10963            0 :           if (call_expr_nargs (_p0) == 1)
   10964              :     {
   10965            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10966            0 :               switch (TREE_CODE (_p1))
   10967              :                 {
   10968            0 :                 case REAL_CST:
   10969            0 :                   {
   10970            0 :                     {
   10971            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10972            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
   10973            0 :                       if (res) return res;
   10974              :                     }
   10975            0 :                     break;
   10976              :                   }
   10977              :                 default:;
   10978              :                 }
   10979              :             }
   10980              :           break;
   10981            0 :         case CFN_BUILT_IN_EXP10:
   10982            0 :           if (call_expr_nargs (_p0) == 1)
   10983              :     {
   10984            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10985            0 :               switch (TREE_CODE (_p1))
   10986              :                 {
   10987            0 :                 case REAL_CST:
   10988            0 :                   {
   10989            0 :                     {
   10990            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10991            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
   10992            0 :                       if (res) return res;
   10993              :                     }
   10994            0 :                     break;
   10995              :                   }
   10996              :                 default:;
   10997              :                 }
   10998              :             }
   10999              :           break;
   11000            0 :         case CFN_BUILT_IN_EXP2F:
   11001            0 :           if (call_expr_nargs (_p0) == 1)
   11002              :     {
   11003            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11004            0 :               switch (TREE_CODE (_p1))
   11005              :                 {
   11006            0 :                 case REAL_CST:
   11007            0 :                   {
   11008            0 :                     {
   11009            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11010            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
   11011            0 :                       if (res) return res;
   11012              :                     }
   11013            0 :                     break;
   11014              :                   }
   11015              :                 default:;
   11016              :                 }
   11017              :             }
   11018              :           break;
   11019            0 :         case CFN_BUILT_IN_EXP2L:
   11020            0 :           if (call_expr_nargs (_p0) == 1)
   11021              :     {
   11022            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11023            0 :               switch (TREE_CODE (_p1))
   11024              :                 {
   11025            0 :                 case REAL_CST:
   11026            0 :                   {
   11027            0 :                     {
   11028            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11029            0 :                       tree res = generic_simplify_440 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
   11030            0 :                       if (res) return res;
   11031              :                     }
   11032            0 :                     break;
   11033              :                   }
   11034              :                 default:;
   11035              :                 }
   11036              :             }
   11037              :           break;
   11038            0 :         case CFN_BUILT_IN_LOG10:
   11039            0 :           if (call_expr_nargs (_p0) == 1)
   11040              :     {
   11041            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11042            0 :               switch (TREE_CODE (_p1))
   11043              :                 {
   11044            0 :                 case REAL_CST:
   11045            0 :                   {
   11046            0 :                     {
   11047            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11048            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
   11049            0 :                       if (res) return res;
   11050              :                     }
   11051            0 :                     break;
   11052              :                   }
   11053              :                 default:;
   11054              :                 }
   11055              :             }
   11056              :           break;
   11057            0 :         case CFN_BUILT_IN_LOG2F:
   11058            0 :           if (call_expr_nargs (_p0) == 1)
   11059              :     {
   11060            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11061            0 :               switch (TREE_CODE (_p1))
   11062              :                 {
   11063            0 :                 case REAL_CST:
   11064            0 :                   {
   11065            0 :                     {
   11066            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11067            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
   11068            0 :                       if (res) return res;
   11069              :                     }
   11070            0 :                     break;
   11071              :                   }
   11072              :                 default:;
   11073              :                 }
   11074              :             }
   11075              :           break;
   11076            0 :         case CFN_BUILT_IN_LOG2L:
   11077            0 :           if (call_expr_nargs (_p0) == 1)
   11078              :     {
   11079            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11080            0 :               switch (TREE_CODE (_p1))
   11081              :                 {
   11082            0 :                 case REAL_CST:
   11083            0 :                   {
   11084            0 :                     {
   11085            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11086            0 :                       tree res = generic_simplify_439 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
   11087            0 :                       if (res) return res;
   11088              :                     }
   11089            0 :                     break;
   11090              :                   }
   11091              :                 default:;
   11092              :                 }
   11093              :             }
   11094              :           break;
   11095              :         default:;
   11096              :         }
   11097              :       break;
   11098              :     default:;
   11099              :     }
   11100              :   return NULL_TREE;
   11101              : }
   11102              : 
   11103              : tree
   11104       393609 : generic_simplify_MAX_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11105              : {
   11106       393609 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11107       393609 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11108              :     {
   11109            0 :       {
   11110            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11111            0 :         tree res = generic_simplify_546 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11112            0 :         if (res) return res;
   11113              :       }
   11114              :     }
   11115       393609 :   switch (TREE_CODE (_p0))
   11116              :     {
   11117          112 :     case MAX_EXPR:
   11118          112 :       {
   11119          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11120          112 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11121          112 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11122              :           {
   11123            0 :             {
   11124            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   11125            0 :               tree res = generic_simplify_547 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11126            0 :               if (res) return res;
   11127              :             }
   11128              :           }
   11129          112 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   11130              :           {
   11131            0 :             {
   11132            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   11133            0 :               tree res = generic_simplify_547 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11134            0 :               if (res) return res;
   11135              :             }
   11136              :           }
   11137              :         break;
   11138              :       }
   11139       393609 :     default:;
   11140              :     }
   11141       393609 :   switch (TREE_CODE (_p1))
   11142              :     {
   11143            0 :     case MAX_EXPR:
   11144            0 :       {
   11145            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11146            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11147            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11148              :           {
   11149            0 :             {
   11150            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
   11151            0 :               tree res = generic_simplify_548 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11152            0 :               if (res) return res;
   11153              :             }
   11154              :           }
   11155            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   11156              :           {
   11157            0 :             {
   11158            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q30 };
   11159            0 :               tree res = generic_simplify_548 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11160            0 :               if (res) return res;
   11161              :             }
   11162              :           }
   11163              :         break;
   11164              :       }
   11165       393609 :     default:;
   11166              :     }
   11167       393609 :   switch (TREE_CODE (_p0))
   11168              :     {
   11169         3553 :     case MIN_EXPR:
   11170         3553 :       {
   11171         3553 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11172         3553 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11173         3553 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   11174              :           {
   11175            1 :             {
   11176            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   11177            1 :               tree res = generic_simplify_549 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11178            1 :               if (res) return res;
   11179              :             }
   11180              :           }
   11181         3552 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11182              :           {
   11183            1 :             {
   11184            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   11185            1 :               tree res = generic_simplify_549 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11186            1 :               if (res) return res;
   11187              :             }
   11188              :           }
   11189              :         break;
   11190              :       }
   11191       393607 :     default:;
   11192              :     }
   11193       393607 :   switch (TREE_CODE (_p1))
   11194              :     {
   11195            0 :     case MIN_EXPR:
   11196            0 :       {
   11197            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11198            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11199            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   11200              :           {
   11201            0 :             {
   11202            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
   11203            0 :               tree res = generic_simplify_549 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11204            0 :               if (res) return res;
   11205              :             }
   11206              :           }
   11207            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11208              :           {
   11209            0 :             {
   11210            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
   11211            0 :               tree res = generic_simplify_549 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11212            0 :               if (res) return res;
   11213              :             }
   11214              :           }
   11215              :         break;
   11216              :       }
   11217            0 :     case NEGATE_EXPR:
   11218            0 :       {
   11219            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11220            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11221              :           {
   11222            0 :             {
   11223            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11224            0 :               tree res = generic_simplify_565 (loc, type, _p0, _p1, captures);
   11225            0 :               if (res) return res;
   11226              :             }
   11227              :           }
   11228              :         break;
   11229              :       }
   11230       393607 :     default:;
   11231              :     }
   11232       393607 :   switch (TREE_CODE (_p0))
   11233              :     {
   11234           76 :     case NEGATE_EXPR:
   11235           76 :       {
   11236           76 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11237           76 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11238              :           {
   11239            2 :             {
   11240            2 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11241            2 :               tree res = generic_simplify_565 (loc, type, _p0, _p1, captures);
   11242            2 :               if (res) return res;
   11243              :             }
   11244              :           }
   11245              :         break;
   11246              :       }
   11247       393605 :     default:;
   11248              :     }
   11249       393605 :   {
   11250       393605 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11251       393605 :     if (INTEGRAL_TYPE_P (type)
   11252       391649 :  && TYPE_MAX_VALUE (type)
   11253       785254 :  && operand_equal_p (captures[1], TYPE_MAX_VALUE (type), OEP_ONLY_CONST)
   11254              : )
   11255              :       {
   11256            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1850;
   11257            0 :         {
   11258            0 :           tree _r;
   11259            0 :           _r = captures[1];
   11260            0 :           if (TREE_SIDE_EFFECTS (captures[0]))
   11261            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11262            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   11263              :           return _r;
   11264              :         }
   11265            0 : next_after_fail1850:;
   11266              :       }
   11267              :     else
   11268              :       {
   11269       393605 :         if (INTEGRAL_TYPE_P (type)
   11270       391649 :  && TYPE_MIN_VALUE (type)
   11271       785254 :  && operand_equal_p (captures[1], TYPE_MIN_VALUE (type), OEP_ONLY_CONST)
   11272              : )
   11273              :           {
   11274        31734 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1851;
   11275        31734 :             {
   11276        31734 :               tree _r;
   11277        31734 :               _r = captures[0];
   11278        31734 :               if (TREE_SIDE_EFFECTS (captures[1]))
   11279            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11280        31734 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   11281              :               return _r;
   11282              :             }
   11283            0 : next_after_fail1851:;
   11284              :           }
   11285              :       }
   11286              :   }
   11287       361871 :   switch (TREE_CODE (_p0))
   11288              :     {
   11289        23611 :     case PLUS_EXPR:
   11290        23611 :       {
   11291        23611 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11292        23611 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11293        23611 :         switch (TREE_CODE (_p1))
   11294              :           {
   11295           14 :           case PLUS_EXPR:
   11296           14 :             {
   11297           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11298           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11299           14 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11300              :                 {
   11301            0 :                   {
   11302            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   11303            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, captures, MAX_EXPR);
   11304            0 :                     if (res) return res;
   11305              :                   }
   11306            0 :                   {
   11307            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
   11308            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, captures, MAX_EXPR);
   11309            0 :                     if (res) return res;
   11310              :                   }
   11311              :                 }
   11312           14 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11313              :                 {
   11314            0 :                   {
   11315            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   11316            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, captures, MAX_EXPR);
   11317            0 :                     if (res) return res;
   11318              :                   }
   11319              :                 }
   11320           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11321              :                 {
   11322            0 :                   {
   11323            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
   11324            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, captures, MAX_EXPR);
   11325            0 :                     if (res) return res;
   11326              :                   }
   11327              :                 }
   11328              :               break;
   11329              :             }
   11330        23611 :           default:;
   11331              :           }
   11332        23611 :         switch (TREE_CODE (_q21))
   11333              :           {
   11334        23573 :           case INTEGER_CST:
   11335        23573 :             {
   11336        23573 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11337              :                 {
   11338           11 :                   {
   11339           11 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   11340           11 :                     if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
   11341              : )
   11342              :                       {
   11343            0 :                         if (tree_int_cst_sgn (captures[2]) > 0
   11344              : )
   11345              :                           {
   11346            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1852;
   11347            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1852;
   11348            0 :                             {
   11349            0 :                               tree _r;
   11350            0 :                               _r = captures[1];
   11351            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   11352              :                               return _r;
   11353              :                             }
   11354       361871 : next_after_fail1852:;
   11355              :                           }
   11356              :                         else
   11357              :                           {
   11358            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1853;
   11359            0 :                             {
   11360            0 :                               tree _r;
   11361            0 :                               _r = captures[0];
   11362            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   11363            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11364            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   11365              :                               return _r;
   11366              :                             }
   11367            0 : next_after_fail1853:;
   11368              :                           }
   11369              :                       }
   11370              :                   }
   11371              :                 }
   11372              :               break;
   11373              :             }
   11374              :           default:;
   11375              :           }
   11376              :         break;
   11377              :       }
   11378         8248 :     case MINUS_EXPR:
   11379         8248 :       {
   11380         8248 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11381         8248 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11382         8248 :         switch (TREE_CODE (_p1))
   11383              :           {
   11384            0 :           case MINUS_EXPR:
   11385            0 :             {
   11386            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11387            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11388            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11389              :                 {
   11390            0 :                   {
   11391            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   11392            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, captures, MAX_EXPR);
   11393            0 :                     if (res) return res;
   11394              :                   }
   11395            0 :                   {
   11396            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
   11397            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, captures, MAX_EXPR);
   11398            0 :                     if (res) return res;
   11399              :                   }
   11400              :                 }
   11401              :               break;
   11402              :             }
   11403              :           default:;
   11404              :           }
   11405              :         break;
   11406              :       }
   11407        34675 :     CASE_CONVERT:
   11408        34675 :       {
   11409        34675 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11410        34675 :         switch (TREE_CODE (_p1))
   11411              :           {
   11412            0 :           CASE_CONVERT:
   11413            0 :             {
   11414            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11415            0 :               {
   11416            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11417            0 :                 tree res = generic_simplify_553 (loc, type, _p0, _p1, captures, MAX_EXPR, MAX_EXPR);
   11418            0 :                 if (res) return res;
   11419              :               }
   11420            0 :               break;
   11421              :             }
   11422              :           default:;
   11423              :           }
   11424              :         break;
   11425              :       }
   11426       361871 :     default:;
   11427              :     }
   11428       361871 :   switch (TREE_CODE (_p1))
   11429              :     {
   11430          110 :     case PLUS_EXPR:
   11431          110 :       {
   11432          110 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11433          110 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11434          110 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11435              :           {
   11436            0 :             switch (TREE_CODE (_q31))
   11437              :               {
   11438            0 :               case INTEGER_CST:
   11439            0 :                 {
   11440            0 :                   {
   11441            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   11442            0 :                     if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
   11443              : )
   11444              :                       {
   11445            0 :                         if (tree_int_cst_sgn (captures[2]) > 0
   11446              : )
   11447              :                           {
   11448            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1854;
   11449            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1854;
   11450            0 :                             {
   11451            0 :                               tree _r;
   11452            0 :                               _r = captures[1];
   11453            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   11454              :                               return _r;
   11455              :                             }
   11456       361871 : next_after_fail1854:;
   11457              :                           }
   11458              :                         else
   11459              :                           {
   11460            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1855;
   11461            0 :                             {
   11462            0 :                               tree _r;
   11463            0 :                               _r = captures[0];
   11464            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   11465            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11466            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   11467              :                               return _r;
   11468              :                             }
   11469            0 : next_after_fail1855:;
   11470              :                           }
   11471              :                       }
   11472              :                   }
   11473              :                   break;
   11474              :                 }
   11475              :               default:;
   11476              :               }
   11477              :           }
   11478              :         break;
   11479              :       }
   11480       361871 :     default:;
   11481              :     }
   11482       361871 :   switch (TREE_CODE (_p0))
   11483              :     {
   11484         3551 :     case MIN_EXPR:
   11485         3551 :       {
   11486         3551 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11487         3551 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11488         3551 :         switch (TREE_CODE (_q21))
   11489              :           {
   11490            0 :           case PLUS_EXPR:
   11491            0 :             {
   11492            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   11493            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   11494            0 :               switch (TREE_CODE (_q41))
   11495              :                 {
   11496            0 :                 case INTEGER_CST:
   11497            0 :                   {
   11498            0 :                     if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
   11499              :                       {
   11500            0 :                         {
   11501            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
   11502            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11503            0 :                           if (res) return res;
   11504              :                         }
   11505              :                       }
   11506              :                     break;
   11507              :                   }
   11508              :                 default:;
   11509              :                 }
   11510              :               break;
   11511              :             }
   11512         3551 :           default:;
   11513              :           }
   11514         3551 :         switch (TREE_CODE (_q20))
   11515              :           {
   11516            0 :           case PLUS_EXPR:
   11517            0 :             {
   11518            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11519            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11520            0 :               switch (TREE_CODE (_q31))
   11521              :                 {
   11522            0 :                 case INTEGER_CST:
   11523            0 :                   {
   11524            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   11525              :                       {
   11526            0 :                         {
   11527            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _q31 };
   11528            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11529            0 :                           if (res) return res;
   11530              :                         }
   11531              :                       }
   11532              :                     break;
   11533              :                   }
   11534              :                 default:;
   11535              :                 }
   11536              :               break;
   11537              :             }
   11538         3551 :           default:;
   11539              :           }
   11540         3551 :         switch (TREE_CODE (_p1))
   11541              :           {
   11542            0 :           case MAX_EXPR:
   11543            0 :             {
   11544            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11545            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11546            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11547              :                 {
   11548            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11549              :                     {
   11550            0 :                       {
   11551            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   11552            0 :                         if (!HONOR_NANS (captures[0])
   11553              : )
   11554              :                           {
   11555            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1856;
   11556            0 :                             {
   11557            0 :                               tree res_op0;
   11558            0 :                               res_op0 = captures[0];
   11559            0 :                               tree res_op1;
   11560            0 :                               res_op1 = captures[1];
   11561            0 :                               tree _r;
   11562            0 :                               _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   11563            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
   11564              :                               return _r;
   11565              :                             }
   11566            0 : next_after_fail1856:;
   11567              :                           }
   11568              :                       }
   11569              :                     }
   11570              :                 }
   11571            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11572              :                 {
   11573            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11574              :                     {
   11575            0 :                       {
   11576            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   11577            0 :                         if (!HONOR_NANS (captures[0])
   11578              : )
   11579              :                           {
   11580            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1857;
   11581            0 :                             {
   11582            0 :                               tree res_op0;
   11583            0 :                               res_op0 = captures[0];
   11584            0 :                               tree res_op1;
   11585            0 :                               res_op1 = captures[1];
   11586            0 :                               tree _r;
   11587            0 :                               _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   11588            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
   11589              :                               return _r;
   11590              :                             }
   11591            0 : next_after_fail1857:;
   11592              :                           }
   11593              :                       }
   11594              :                     }
   11595              :                 }
   11596              :               break;
   11597              :             }
   11598              :           default:;
   11599              :           }
   11600              :         break;
   11601              :       }
   11602       361871 :     default:;
   11603              :     }
   11604       361871 :   switch (TREE_CODE (_p1))
   11605              :     {
   11606            0 :     case MIN_EXPR:
   11607            0 :       {
   11608            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11609            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11610            0 :         switch (TREE_CODE (_q31))
   11611              :           {
   11612            0 :           case PLUS_EXPR:
   11613            0 :             {
   11614            0 :               tree _q50 = TREE_OPERAND (_q31, 0);
   11615            0 :               tree _q51 = TREE_OPERAND (_q31, 1);
   11616            0 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
   11617              :                 {
   11618            0 :                   switch (TREE_CODE (_q51))
   11619              :                     {
   11620            0 :                     case INTEGER_CST:
   11621            0 :                       {
   11622            0 :                         {
   11623            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q51 };
   11624            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11625            0 :                           if (res) return res;
   11626              :                         }
   11627            0 :                         break;
   11628              :                       }
   11629              :                     default:;
   11630              :                     }
   11631              :                 }
   11632              :               break;
   11633              :             }
   11634            0 :           default:;
   11635              :           }
   11636            0 :         switch (TREE_CODE (_q30))
   11637              :           {
   11638            0 :           case PLUS_EXPR:
   11639            0 :             {
   11640            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   11641            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   11642            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   11643              :                 {
   11644            0 :                   switch (TREE_CODE (_q41))
   11645              :                     {
   11646            0 :                     case INTEGER_CST:
   11647            0 :                       {
   11648            0 :                         {
   11649            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q41 };
   11650            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11651            0 :                           if (res) return res;
   11652              :                         }
   11653            0 :                         break;
   11654              :                       }
   11655              :                     default:;
   11656              :                     }
   11657              :                 }
   11658              :               break;
   11659              :             }
   11660              :           default:;
   11661              :           }
   11662              :         break;
   11663              :       }
   11664       361871 :     default:;
   11665              :     }
   11666       361871 :   switch (TREE_CODE (_p0))
   11667              :     {
   11668          112 :     case MAX_EXPR:
   11669          112 :       {
   11670          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11671          112 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11672          112 :         switch (TREE_CODE (_p1))
   11673              :           {
   11674            0 :           case MIN_EXPR:
   11675            0 :             {
   11676            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11677            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11678            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11679              :                 {
   11680            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11681              :                     {
   11682            0 :                       {
   11683            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   11684            0 :                         if (!HONOR_NANS (captures[0])
   11685              : )
   11686              :                           {
   11687            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1858;
   11688            0 :                             {
   11689            0 :                               tree res_op0;
   11690            0 :                               res_op0 = captures[0];
   11691            0 :                               tree res_op1;
   11692            0 :                               res_op1 = captures[1];
   11693            0 :                               tree _r;
   11694            0 :                               _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   11695            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
   11696              :                               return _r;
   11697              :                             }
   11698            0 : next_after_fail1858:;
   11699              :                           }
   11700              :                       }
   11701              :                     }
   11702              :                 }
   11703            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11704              :                 {
   11705            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11706              :                     {
   11707            0 :                       {
   11708            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   11709            0 :                         if (!HONOR_NANS (captures[0])
   11710              : )
   11711              :                           {
   11712            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1859;
   11713            0 :                             {
   11714            0 :                               tree res_op0;
   11715            0 :                               res_op0 = captures[0];
   11716            0 :                               tree res_op1;
   11717            0 :                               res_op1 = captures[1];
   11718            0 :                               tree _r;
   11719            0 :                               _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   11720            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
   11721              :                               return _r;
   11722              :                             }
   11723            0 : next_after_fail1859:;
   11724              :                           }
   11725              :                       }
   11726              :                     }
   11727              :                 }
   11728              :               break;
   11729              :             }
   11730              :           default:;
   11731              :           }
   11732              :         break;
   11733              :       }
   11734            0 :     case BIT_AND_EXPR:
   11735            0 :       {
   11736            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11737            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11738            0 :         switch (TREE_CODE (_q21))
   11739              :           {
   11740            0 :           case INTEGER_CST:
   11741            0 :             {
   11742            0 :               switch (TREE_CODE (_p1))
   11743              :                 {
   11744            0 :                 case BIT_AND_EXPR:
   11745            0 :                   {
   11746            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11747            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   11748            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11749              :                       {
   11750            0 :                         switch (TREE_CODE (_q51))
   11751              :                           {
   11752            0 :                           case INTEGER_CST:
   11753            0 :                             {
   11754            0 :                               {
   11755            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   11756            0 :                                 tree res = generic_simplify_555 (loc, type, _p0, _p1, captures, MAX_EXPR);
   11757            0 :                                 if (res) return res;
   11758              :                               }
   11759            0 :                               break;
   11760              :                             }
   11761              :                           default:;
   11762              :                           }
   11763              :                       }
   11764              :                     break;
   11765              :                   }
   11766              :                 default:;
   11767              :                 }
   11768              :               break;
   11769              :             }
   11770              :           default:;
   11771              :           }
   11772              :         break;
   11773              :       }
   11774       361871 :     default:;
   11775              :     }
   11776       361871 :   switch (TREE_CODE (_p1))
   11777              :     {
   11778            0 :     case BIT_AND_EXPR:
   11779            0 :       {
   11780            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11781            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11782            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11783              :           {
   11784            0 :             switch (TREE_CODE (_q31))
   11785              :               {
   11786            0 :               case INTEGER_CST:
   11787            0 :                 {
   11788            0 :                   {
   11789            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   11790            0 :                     tree res = generic_simplify_556 (loc, type, _p0, _p1, captures, MAX_EXPR);
   11791            0 :                     if (res) return res;
   11792              :                   }
   11793            0 :                   break;
   11794              :                 }
   11795              :               default:;
   11796              :               }
   11797              :           }
   11798              :         break;
   11799              :       }
   11800       361871 :     default:;
   11801              :     }
   11802       361871 :   switch (TREE_CODE (_p0))
   11803              :     {
   11804        34675 :     CASE_CONVERT:
   11805        34675 :       {
   11806        34675 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11807        34675 :         switch (TREE_CODE (_q20))
   11808              :           {
   11809           30 :           case ADDR_EXPR:
   11810           30 :             {
   11811           30 :               switch (TREE_CODE (_p1))
   11812              :                 {
   11813            0 :                 CASE_CONVERT:
   11814            0 :                   {
   11815            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   11816            0 :                     switch (TREE_CODE (_q40))
   11817              :                       {
   11818            0 :                       case ADDR_EXPR:
   11819            0 :                         {
   11820            0 :                           {
   11821            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11822            0 :                             tree res = generic_simplify_557 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
   11823            0 :                             if (res) return res;
   11824              :                           }
   11825            0 :                           break;
   11826              :                         }
   11827              :                       default:;
   11828              :                       }
   11829              :                     break;
   11830              :                   }
   11831            0 :                 case ADDR_EXPR:
   11832            0 :                   {
   11833            0 :                     {
   11834            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
   11835            0 :                       tree res = generic_simplify_558 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
   11836            0 :                       if (res) return res;
   11837              :                     }
   11838            0 :                     break;
   11839              :                   }
   11840              :                 default:;
   11841              :                 }
   11842              :               break;
   11843              :             }
   11844              :           default:;
   11845              :           }
   11846              :         break;
   11847              :       }
   11848           10 :     case ADDR_EXPR:
   11849           10 :       {
   11850           10 :         switch (TREE_CODE (_p1))
   11851              :           {
   11852            0 :           CASE_CONVERT:
   11853            0 :             {
   11854            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
   11855            0 :               switch (TREE_CODE (_q30))
   11856              :                 {
   11857            0 :                 case ADDR_EXPR:
   11858            0 :                   {
   11859            0 :                     {
   11860            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
   11861            0 :                       tree res = generic_simplify_559 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
   11862            0 :                       if (res) return res;
   11863              :                     }
   11864            0 :                     break;
   11865              :                   }
   11866              :                 default:;
   11867              :                 }
   11868              :               break;
   11869              :             }
   11870           10 :           case ADDR_EXPR:
   11871           10 :             {
   11872           10 :               {
   11873           10 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
   11874           10 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
   11875           10 :                 if (res) return res;
   11876              :               }
   11877           10 :               break;
   11878              :             }
   11879              :           default:;
   11880              :           }
   11881              :         break;
   11882              :       }
   11883           74 :     case NEGATE_EXPR:
   11884           74 :       {
   11885           74 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11886           74 :         switch (TREE_CODE (_p1))
   11887              :           {
   11888            0 :           case NEGATE_EXPR:
   11889            0 :             {
   11890            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11891            0 :               {
   11892            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11893            0 :                 if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
   11894            0 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   11895            0 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
   11896              : )
   11897              :                   {
   11898            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1860;
   11899            0 :                     {
   11900            0 :                       tree res_op0;
   11901            0 :                       {
   11902            0 :                         tree _o1[2], _r1;
   11903            0 :                         _o1[0] = captures[1];
   11904            0 :                         _o1[1] = captures[3];
   11905            0 :                         _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11906            0 :                         res_op0 = _r1;
   11907              :                       }
   11908            0 :                       tree _r;
   11909            0 :                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   11910            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   11911              :                       return _r;
   11912              :                     }
   11913            0 : next_after_fail1860:;
   11914              :                   }
   11915              :               }
   11916              :               break;
   11917              :             }
   11918              :           default:;
   11919              :           }
   11920              :         break;
   11921              :       }
   11922            0 :     case BIT_NOT_EXPR:
   11923            0 :       {
   11924            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11925            0 :         switch (TREE_CODE (_p1))
   11926              :           {
   11927            0 :           case BIT_NOT_EXPR:
   11928            0 :             {
   11929            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11930            0 :               {
   11931            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11932            0 :                 tree res = generic_simplify_561 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11933            0 :                 if (res) return res;
   11934              :               }
   11935            0 :               break;
   11936              :             }
   11937              :           default:;
   11938              :           }
   11939              :         break;
   11940              :       }
   11941            0 :     case VEC_COND_EXPR:
   11942            0 :       {
   11943            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11944            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11945            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11946            0 :         switch (TREE_CODE (_p1))
   11947              :           {
   11948            0 :           case VEC_COND_EXPR:
   11949            0 :             {
   11950            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11951            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11952            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11953            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11954              :                 {
   11955            0 :                   {
   11956            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11957            0 :                     if (VECTOR_TYPE_P (type)
   11958              :  && (TREE_CODE_CLASS (MAX_EXPR) != tcc_comparison
   11959              :  || types_match (type, TREE_TYPE (captures[2]))
   11960              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11961              :  || (optimize_vectors_before_lowering_p ()
   11962              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11963              : )
   11964              :                       {
   11965            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1861;
   11966            0 :                         {
   11967            0 :                           tree res_op0;
   11968            0 :                           res_op0 = captures[1];
   11969            0 :                           tree res_op1;
   11970            0 :                           {
   11971            0 :                             tree _o1[2], _r1;
   11972            0 :                             _o1[0] = captures[2];
   11973            0 :                             _o1[1] = captures[5];
   11974            0 :                             _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   11975            0 :                             if (EXPR_P (_r1))
   11976            0 :                               goto next_after_fail1861;
   11977            0 :                             res_op1 = _r1;
   11978              :                           }
   11979            0 :                           tree res_op2;
   11980            0 :                           {
   11981            0 :                             tree _o1[2], _r1;
   11982            0 :                             _o1[0] = captures[3];
   11983            0 :                             _o1[1] = captures[6];
   11984            0 :                             _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   11985            0 :                             if (EXPR_P (_r1))
   11986            0 :                               goto next_after_fail1861;
   11987            0 :                             res_op2 = _r1;
   11988              :                           }
   11989            0 :                           tree _r;
   11990            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11991            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
   11992              :                           return _r;
   11993              :                         }
   11994            0 : next_after_fail1861:;
   11995              :                       }
   11996              :                   }
   11997              :                 }
   11998              :               break;
   11999              :             }
   12000            0 :           default:;
   12001              :           }
   12002            0 :         {
   12003            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   12004            0 :           if (VECTOR_TYPE_P (type)
   12005              :  && (TREE_CODE_CLASS (MAX_EXPR) != tcc_comparison
   12006              :  || types_match (type, TREE_TYPE (captures[2]))
   12007              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   12008              :  || (optimize_vectors_before_lowering_p ()
   12009              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   12010              : )
   12011              :             {
   12012            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1862;
   12013            0 :               {
   12014            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1862;
   12015            0 :                 tree res_op0;
   12016            0 :                 res_op0 = captures[1];
   12017            0 :                 tree res_op1;
   12018            0 :                 {
   12019            0 :                   tree _o1[2], _r1;
   12020            0 :                   _o1[0] = captures[2];
   12021            0 :                   _o1[1] = unshare_expr (captures[4]);
   12022            0 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   12023            0 :                   if (EXPR_P (_r1))
   12024            0 :                     goto next_after_fail1862;
   12025            0 :                   res_op1 = _r1;
   12026              :                 }
   12027            0 :                 tree res_op2;
   12028            0 :                 {
   12029            0 :                   tree _o1[2], _r1;
   12030            0 :                   _o1[0] = captures[3];
   12031            0 :                   _o1[1] = captures[4];
   12032            0 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   12033            0 :                   if (EXPR_P (_r1))
   12034            0 :                     goto next_after_fail1862;
   12035            0 :                   res_op2 = _r1;
   12036              :                 }
   12037            0 :                 tree _r;
   12038            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12039            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   12040              :                 return _r;
   12041              :               }
   12042       361871 : next_after_fail1862:;
   12043              :             }
   12044              :         }
   12045              :         break;
   12046              :       }
   12047       361871 :     default:;
   12048              :     }
   12049       361871 :   switch (TREE_CODE (_p1))
   12050              :     {
   12051            0 :     case VEC_COND_EXPR:
   12052            0 :       {
   12053            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12054            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12055            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12056            0 :         {
   12057            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   12058            0 :           if (VECTOR_TYPE_P (type)
   12059              :  && (TREE_CODE_CLASS (MAX_EXPR) != tcc_comparison
   12060              :  || types_match (type, TREE_TYPE (captures[3]))
   12061              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   12062              :  || (optimize_vectors_before_lowering_p ()
   12063              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   12064              : )
   12065              :             {
   12066            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1863;
   12067            0 :               {
   12068            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1863;
   12069            0 :                 tree res_op0;
   12070            0 :                 res_op0 = captures[2];
   12071            0 :                 tree res_op1;
   12072            0 :                 {
   12073            0 :                   tree _o1[2], _r1;
   12074            0 :                   _o1[0] = unshare_expr (captures[0]);
   12075            0 :                   _o1[1] = captures[3];
   12076            0 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   12077            0 :                   if (EXPR_P (_r1))
   12078            0 :                     goto next_after_fail1863;
   12079            0 :                   res_op1 = _r1;
   12080              :                 }
   12081            0 :                 tree res_op2;
   12082            0 :                 {
   12083            0 :                   tree _o1[2], _r1;
   12084            0 :                   _o1[0] = captures[0];
   12085            0 :                   _o1[1] = captures[4];
   12086            0 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   12087            0 :                   if (EXPR_P (_r1))
   12088            0 :                     goto next_after_fail1863;
   12089            0 :                   res_op2 = _r1;
   12090              :                 }
   12091            0 :                 tree _r;
   12092            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12093            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   12094              :                 return _r;
   12095              :               }
   12096       361871 : next_after_fail1863:;
   12097              :             }
   12098              :         }
   12099              :         break;
   12100              :       }
   12101       361871 :     default:;
   12102              :     }
   12103       361871 :   switch (TREE_CODE (_p0))
   12104              :     {
   12105            0 :     case CALL_EXPR:
   12106            0 :       switch (get_call_combined_fn (_p0))
   12107              :         {
   12108            0 :         case CFN_REDUC_MAX:
   12109            0 :           if (call_expr_nargs (_p0) == 1)
   12110              :     {
   12111            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   12112            0 :               switch (TREE_CODE (_p1))
   12113              :                 {
   12114            0 :                 case CALL_EXPR:
   12115            0 :                   switch (get_call_combined_fn (_p1))
   12116              :                     {
   12117            0 :                     case CFN_REDUC_MAX:
   12118            0 :                       if (call_expr_nargs (_p1) == 1)
   12119              :     {
   12120            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   12121            0 :                           {
   12122            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   12123            0 :                             tree res = generic_simplify_50 (loc, type, _p0, _p1, captures, CFN_REDUC_MAX, MAX_EXPR);
   12124            0 :                             if (res) return res;
   12125              :                           }
   12126              :                         }
   12127              :                       break;
   12128              :                     default:;
   12129              :                     }
   12130              :                   break;
   12131              :                 default:;
   12132              :                 }
   12133              :             }
   12134              :           break;
   12135              :         default:;
   12136              :         }
   12137              :       break;
   12138       361871 :     default:;
   12139              :     }
   12140       361871 : if (tree_zero_one_valued_p (_p0))
   12141              :   {
   12142           10 :     if (tree_zero_one_valued_p (_p1))
   12143              :       {
   12144            0 :         {
   12145            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12146            0 :           tree res = generic_simplify_562 (loc, type, _p0, _p1, captures, MAX_EXPR, BIT_IOR_EXPR);
   12147            0 :           if (res) return res;
   12148              :         }
   12149              :       }
   12150              :   }
   12151              :   return NULL_TREE;
   12152              : }
   12153              : 
   12154              : tree
   12155      1650331 : generic_simplify_UNLE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   12156              : {
   12157      1650331 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   12158      1650331 :   switch (TREE_CODE (_p0))
   12159              :     {
   12160            0 :     case VEC_COND_EXPR:
   12161            0 :       {
   12162            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12163            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12164            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   12165            0 :         switch (TREE_CODE (_p1))
   12166              :           {
   12167            0 :           case VEC_COND_EXPR:
   12168            0 :             {
   12169            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   12170            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   12171            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   12172            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12173              :                 {
   12174            0 :                   {
   12175            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   12176            0 :                     if (VECTOR_TYPE_P (type)
   12177            0 :  && (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
   12178            0 :  || types_match (type, TREE_TYPE (captures[2]))
   12179            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   12180              :  || (optimize_vectors_before_lowering_p ()
   12181            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   12182              : )
   12183              :                       {
   12184            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1879;
   12185            0 :                         {
   12186            0 :                           tree res_op0;
   12187            0 :                           res_op0 = captures[1];
   12188            0 :                           tree res_op1;
   12189            0 :                           {
   12190            0 :                             tree _o1[2], _r1;
   12191            0 :                             _o1[0] = captures[2];
   12192            0 :                             _o1[1] = captures[5];
   12193            0 :                             _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   12194            0 :                             if (EXPR_P (_r1))
   12195            0 :                               goto next_after_fail1879;
   12196            0 :                             res_op1 = _r1;
   12197              :                           }
   12198            0 :                           tree res_op2;
   12199            0 :                           {
   12200            0 :                             tree _o1[2], _r1;
   12201            0 :                             _o1[0] = captures[3];
   12202            0 :                             _o1[1] = captures[6];
   12203            0 :                             _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   12204            0 :                             if (EXPR_P (_r1))
   12205            0 :                               goto next_after_fail1879;
   12206            0 :                             res_op2 = _r1;
   12207              :                           }
   12208            0 :                           tree _r;
   12209            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12210            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
   12211              :                           return _r;
   12212              :                         }
   12213            0 : next_after_fail1879:;
   12214              :                       }
   12215              :                   }
   12216              :                 }
   12217              :               break;
   12218              :             }
   12219            0 :           default:;
   12220              :           }
   12221            0 :         {
   12222            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   12223            0 :           if (VECTOR_TYPE_P (type)
   12224            0 :  && (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
   12225            0 :  || types_match (type, TREE_TYPE (captures[2]))
   12226            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   12227              :  || (optimize_vectors_before_lowering_p ()
   12228            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   12229              : )
   12230              :             {
   12231            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1880;
   12232            0 :               {
   12233            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1880;
   12234            0 :                 tree res_op0;
   12235            0 :                 res_op0 = captures[1];
   12236            0 :                 tree res_op1;
   12237            0 :                 {
   12238            0 :                   tree _o1[2], _r1;
   12239            0 :                   _o1[0] = captures[2];
   12240            0 :                   _o1[1] = unshare_expr (captures[4]);
   12241            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   12242            0 :                   if (EXPR_P (_r1))
   12243            0 :                     goto next_after_fail1880;
   12244            0 :                   res_op1 = _r1;
   12245              :                 }
   12246            0 :                 tree res_op2;
   12247            0 :                 {
   12248            0 :                   tree _o1[2], _r1;
   12249            0 :                   _o1[0] = captures[3];
   12250            0 :                   _o1[1] = captures[4];
   12251            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   12252            0 :                   if (EXPR_P (_r1))
   12253            0 :                     goto next_after_fail1880;
   12254            0 :                   res_op2 = _r1;
   12255              :                 }
   12256            0 :                 tree _r;
   12257            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12258            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   12259              :                 return _r;
   12260              :               }
   12261      1650331 : next_after_fail1880:;
   12262              :             }
   12263              :         }
   12264              :         break;
   12265              :       }
   12266      1650331 :     default:;
   12267              :     }
   12268      1650331 :   switch (TREE_CODE (_p1))
   12269              :     {
   12270            0 :     case VEC_COND_EXPR:
   12271            0 :       {
   12272            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12273            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12274            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12275            0 :         {
   12276            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   12277            0 :           if (VECTOR_TYPE_P (type)
   12278            0 :  && (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
   12279            0 :  || types_match (type, TREE_TYPE (captures[3]))
   12280            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   12281              :  || (optimize_vectors_before_lowering_p ()
   12282            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   12283              : )
   12284              :             {
   12285            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1881;
   12286            0 :               {
   12287            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1881;
   12288            0 :                 tree res_op0;
   12289            0 :                 res_op0 = captures[2];
   12290            0 :                 tree res_op1;
   12291            0 :                 {
   12292            0 :                   tree _o1[2], _r1;
   12293            0 :                   _o1[0] = unshare_expr (captures[0]);
   12294            0 :                   _o1[1] = captures[3];
   12295            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   12296            0 :                   if (EXPR_P (_r1))
   12297            0 :                     goto next_after_fail1881;
   12298            0 :                   res_op1 = _r1;
   12299              :                 }
   12300            0 :                 tree res_op2;
   12301            0 :                 {
   12302            0 :                   tree _o1[2], _r1;
   12303            0 :                   _o1[0] = captures[0];
   12304            0 :                   _o1[1] = captures[4];
   12305            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   12306            0 :                   if (EXPR_P (_r1))
   12307            0 :                     goto next_after_fail1881;
   12308            0 :                   res_op2 = _r1;
   12309              :                 }
   12310            0 :                 tree _r;
   12311            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12312            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   12313              :                 return _r;
   12314              :               }
   12315      1650331 : next_after_fail1881:;
   12316              :             }
   12317              :         }
   12318              :         break;
   12319              :       }
   12320      1650331 :     default:;
   12321              :     }
   12322      1650331 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   12323              :     {
   12324           30 :       {
   12325           30 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   12326           30 :         tree res = generic_simplify_593 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   12327           30 :         if (res) return res;
   12328              :       }
   12329              :     }
   12330      1650301 :   switch (TREE_CODE (_p0))
   12331              :     {
   12332           96 :     case FLOAT_EXPR:
   12333           96 :       {
   12334           96 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12335           96 :         switch (TREE_CODE (_p1))
   12336              :           {
   12337            0 :           case FLOAT_EXPR:
   12338            0 :             {
   12339            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   12340            0 :               {
   12341            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   12342            0 :                 tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, UNLE_EXPR, LE_EXPR);
   12343            0 :                 if (res) return res;
   12344              :               }
   12345            0 :               break;
   12346              :             }
   12347              :           default:;
   12348              :           }
   12349              :         break;
   12350              :       }
   12351          112 :     case NEGATE_EXPR:
   12352          112 :       {
   12353          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12354          112 :         switch (TREE_CODE (_p1))
   12355              :           {
   12356            0 :           case NEGATE_EXPR:
   12357            0 :             {
   12358            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   12359            0 :               {
   12360            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   12361            0 :                 tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, UNLE_EXPR, UNGE_EXPR);
   12362            0 :                 if (res) return res;
   12363              :               }
   12364            0 :               break;
   12365              :             }
   12366          112 :           default:;
   12367              :           }
   12368          112 :       if (CONSTANT_CLASS_P (_p1))
   12369              :         {
   12370          112 :           {
   12371          112 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12372          112 :             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, UNLE_EXPR, UNGE_EXPR);
   12373          112 :             if (res) return res;
   12374              :           }
   12375              :         }
   12376              :         break;
   12377              :       }
   12378      1650189 :     default:;
   12379              :     }
   12380      1650189 :   switch (TREE_CODE (_p1))
   12381              :     {
   12382      1269938 :     case REAL_CST:
   12383      1269938 :       {
   12384      1269938 :         {
   12385      1269938 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12386      1269938 :           tree res = generic_simplify_591 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   12387      1269938 :           if (res) return res;
   12388              :         }
   12389      1269936 :         break;
   12390              :       }
   12391              :     default:;
   12392              :     }
   12393              :   return NULL_TREE;
   12394              : }
   12395              : 
   12396              : tree
   12397      3531561 : generic_simplify_TRUTH_ORIF_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   12398              : {
   12399      3531561 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   12400      3531561 :   switch (TREE_CODE (_p0))
   12401              :     {
   12402       368180 :     case LE_EXPR:
   12403       368180 :       {
   12404       368180 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12405       368180 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12406       368180 :         switch (TREE_CODE (_q20))
   12407              :           {
   12408           90 :           case POINTER_PLUS_EXPR:
   12409           90 :             {
   12410           90 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12411           90 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12412           90 :               switch (TREE_CODE (_q31))
   12413              :                 {
   12414            2 :                 case INTEGER_CST:
   12415            2 :                   {
   12416            2 :                     switch (TREE_CODE (_p1))
   12417              :                       {
   12418            2 :                       case LE_EXPR:
   12419            2 :                         {
   12420            2 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   12421            2 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   12422            2 :                           switch (TREE_CODE (_q70))
   12423              :                             {
   12424            2 :                             case POINTER_PLUS_EXPR:
   12425            2 :                               {
   12426            2 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   12427            2 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   12428            2 :                                 if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   12429              :                                   {
   12430            2 :                                     if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
   12431              :                                       {
   12432            2 :                                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   12433              :                                           {
   12434            2 :                                             {
   12435            2 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
   12436            2 :                                               const enum tree_code cmp = LE_EXPR;
   12437            2 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   12438            1 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   12439            3 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   12440              : )
   12441              :                                                 {
   12442            1 :                                                   {
   12443            1 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   12444            1 :  offset_int rhs = off * 2;
   12445            1 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   12446              : )
   12447              :                                                         {
   12448            1 :                                                           {
   12449            1 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   12450            1 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   12451            1 :                                                               if (cmp == LT_EXPR
   12452              : )
   12453              :                                                                 {
   12454              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1895;
   12455              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1895;
   12456              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1895;
   12457              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1895;
   12458              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1895;
   12459              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1895;
   12460              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1895;
   12461              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1895;
   12462              :                                                                   {
   12463              :                                                                     tree res_op0;
   12464              :                                                                     {
   12465              :                                                                       tree _o1[1], _r1;
   12466              :                                                                       {
   12467              :                                                                         tree _o2[2], _r2;
   12468              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   12469              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12470              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12471              :                                                                         _o1[0] = _r2;
   12472              :                                                                       }
   12473              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12474              :                                                                         {
   12475              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12476              :                                                                         }
   12477              :                                                                       else
   12478              :                                                                         _r1 = _o1[0];
   12479              :                                                                       res_op0 = _r1;
   12480              :                                                                     }
   12481              :                                                                     tree res_op1;
   12482              :                                                                     res_op1 =  rhs_tree;
   12483              :                                                                     tree _r;
   12484              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12485              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   12486            1 :                                                                     return _r;
   12487              :                                                                   }
   12488              : next_after_fail1895:;
   12489              :                                                                 }
   12490              :                                                               else
   12491              :                                                                 {
   12492            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1896;
   12493            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1896;
   12494            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1896;
   12495            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1896;
   12496            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1896;
   12497            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1896;
   12498            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1896;
   12499            1 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1896;
   12500            1 :                                                                   {
   12501            1 :                                                                     tree res_op0;
   12502            1 :                                                                     {
   12503            1 :                                                                       tree _o1[1], _r1;
   12504            1 :                                                                       {
   12505            1 :                                                                         tree _o2[2], _r2;
   12506            1 :                                                                         {
   12507            1 :                                                                           tree _o3[2], _r3;
   12508            1 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   12509            1 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   12510            1 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   12511            1 :                                                                           _o2[0] = _r3;
   12512              :                                                                         }
   12513            1 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12514            1 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12515            1 :                                                                         _o1[0] = _r2;
   12516              :                                                                       }
   12517            1 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12518              :                                                                         {
   12519            1 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12520              :                                                                         }
   12521              :                                                                       else
   12522              :                                                                         _r1 = _o1[0];
   12523            1 :                                                                       res_op0 = _r1;
   12524              :                                                                     }
   12525            1 :                                                                     tree res_op1;
   12526            1 :                                                                     res_op1 =  rhs_tree;
   12527            1 :                                                                     tree _r;
   12528            1 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12529            1 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   12530            1 :                                                                     return _r;
   12531              :                                                                   }
   12532            0 : next_after_fail1896:;
   12533              :                                                                 }
   12534              :                                                           }
   12535              :                                                         }
   12536              :                                                   }
   12537              :                                                 }
   12538              :                                             }
   12539              :                                           }
   12540              :                                       }
   12541              :                                   }
   12542              :                                 break;
   12543              :                               }
   12544              :                             default:;
   12545              :                             }
   12546              :                           break;
   12547              :                         }
   12548            0 :                       case GE_EXPR:
   12549            0 :                         {
   12550            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   12551            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   12552            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   12553              :                             {
   12554            0 :                               switch (TREE_CODE (_q71))
   12555              :                                 {
   12556            0 :                                 case POINTER_PLUS_EXPR:
   12557            0 :                                   {
   12558            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   12559            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   12560            0 :                                     if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
   12561              :                                       {
   12562            0 :                                         if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   12563              :                                           {
   12564            0 :                                             {
   12565            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
   12566            0 :                                               const enum tree_code cmp = LE_EXPR;
   12567            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   12568            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   12569            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   12570              : )
   12571              :                                                 {
   12572            0 :                                                   {
   12573            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   12574            0 :  offset_int rhs = off * 2;
   12575            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   12576              : )
   12577              :                                                         {
   12578            0 :                                                           {
   12579            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   12580            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   12581            0 :                                                               if (cmp == LT_EXPR
   12582              : )
   12583              :                                                                 {
   12584              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1897;
   12585              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1897;
   12586              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1897;
   12587              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1897;
   12588              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1897;
   12589              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1897;
   12590              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1897;
   12591              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1897;
   12592              :                                                                   {
   12593              :                                                                     tree res_op0;
   12594              :                                                                     {
   12595              :                                                                       tree _o1[1], _r1;
   12596              :                                                                       {
   12597              :                                                                         tree _o2[2], _r2;
   12598              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   12599              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12600              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12601              :                                                                         _o1[0] = _r2;
   12602              :                                                                       }
   12603              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12604              :                                                                         {
   12605              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12606              :                                                                         }
   12607              :                                                                       else
   12608              :                                                                         _r1 = _o1[0];
   12609              :                                                                       res_op0 = _r1;
   12610              :                                                                     }
   12611              :                                                                     tree res_op1;
   12612              :                                                                     res_op1 =  rhs_tree;
   12613              :                                                                     tree _r;
   12614              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12615              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   12616            0 :                                                                     return _r;
   12617              :                                                                   }
   12618              : next_after_fail1897:;
   12619              :                                                                 }
   12620              :                                                               else
   12621              :                                                                 {
   12622            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1898;
   12623            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1898;
   12624            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1898;
   12625            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1898;
   12626            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1898;
   12627            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1898;
   12628            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1898;
   12629            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1898;
   12630            0 :                                                                   {
   12631            0 :                                                                     tree res_op0;
   12632            0 :                                                                     {
   12633            0 :                                                                       tree _o1[1], _r1;
   12634            0 :                                                                       {
   12635            0 :                                                                         tree _o2[2], _r2;
   12636            0 :                                                                         {
   12637            0 :                                                                           tree _o3[2], _r3;
   12638            0 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   12639            0 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   12640            0 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   12641            0 :                                                                           _o2[0] = _r3;
   12642              :                                                                         }
   12643            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12644            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12645            0 :                                                                         _o1[0] = _r2;
   12646              :                                                                       }
   12647            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12648              :                                                                         {
   12649            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12650              :                                                                         }
   12651              :                                                                       else
   12652              :                                                                         _r1 = _o1[0];
   12653            0 :                                                                       res_op0 = _r1;
   12654              :                                                                     }
   12655            0 :                                                                     tree res_op1;
   12656            0 :                                                                     res_op1 =  rhs_tree;
   12657            0 :                                                                     tree _r;
   12658            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12659            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   12660            0 :                                                                     return _r;
   12661              :                                                                   }
   12662            0 : next_after_fail1898:;
   12663              :                                                                 }
   12664              :                                                           }
   12665              :                                                         }
   12666              :                                                   }
   12667              :                                                 }
   12668              :                                             }
   12669              :                                           }
   12670              :                                       }
   12671              :                                     break;
   12672              :                                   }
   12673              :                                 default:;
   12674              :                                 }
   12675              :                             }
   12676              :                           break;
   12677              :                         }
   12678              :                       default:;
   12679              :                       }
   12680              :                     break;
   12681              :                   }
   12682              :                 default:;
   12683              :                 }
   12684              :               break;
   12685              :             }
   12686              :           default:;
   12687              :           }
   12688              :         break;
   12689              :       }
   12690       794256 :     case LT_EXPR:
   12691       794256 :       {
   12692       794256 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12693       794256 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12694       794256 :         switch (TREE_CODE (_q20))
   12695              :           {
   12696           13 :           case POINTER_PLUS_EXPR:
   12697           13 :             {
   12698           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12699           13 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12700           13 :               switch (TREE_CODE (_q31))
   12701              :                 {
   12702            7 :                 case INTEGER_CST:
   12703            7 :                   {
   12704            7 :                     switch (TREE_CODE (_p1))
   12705              :                       {
   12706            2 :                       case LT_EXPR:
   12707            2 :                         {
   12708            2 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   12709            2 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   12710            2 :                           switch (TREE_CODE (_q70))
   12711              :                             {
   12712            2 :                             case POINTER_PLUS_EXPR:
   12713            2 :                               {
   12714            2 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   12715            2 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   12716            2 :                                 if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   12717              :                                   {
   12718            2 :                                     if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
   12719              :                                       {
   12720            2 :                                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   12721              :                                           {
   12722            2 :                                             {
   12723            2 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
   12724            2 :                                               const enum tree_code cmp = LT_EXPR;
   12725            2 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   12726            1 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   12727            3 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   12728              : )
   12729              :                                                 {
   12730            1 :                                                   {
   12731            1 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   12732            1 :  offset_int rhs = off * 2;
   12733            1 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   12734              : )
   12735              :                                                         {
   12736            1 :                                                           {
   12737            1 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   12738            1 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   12739            1 :                                                               if (cmp == LT_EXPR
   12740              : )
   12741              :                                                                 {
   12742            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1899;
   12743            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1899;
   12744            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1899;
   12745            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1899;
   12746            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1899;
   12747            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1899;
   12748            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1899;
   12749            1 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1899;
   12750            1 :                                                                   {
   12751            1 :                                                                     tree res_op0;
   12752            1 :                                                                     {
   12753            1 :                                                                       tree _o1[1], _r1;
   12754            1 :                                                                       {
   12755            1 :                                                                         tree _o2[2], _r2;
   12756            1 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   12757            1 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12758            1 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12759            1 :                                                                         _o1[0] = _r2;
   12760              :                                                                       }
   12761            1 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12762              :                                                                         {
   12763            1 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12764              :                                                                         }
   12765              :                                                                       else
   12766              :                                                                         _r1 = _o1[0];
   12767            1 :                                                                       res_op0 = _r1;
   12768              :                                                                     }
   12769            1 :                                                                     tree res_op1;
   12770            1 :                                                                     res_op1 =  rhs_tree;
   12771            1 :                                                                     tree _r;
   12772            1 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12773            1 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   12774            1 :                                                                     return _r;
   12775              :                                                                   }
   12776            0 : next_after_fail1899:;
   12777              :                                                                 }
   12778              :                                                               else
   12779              :                                                                 {
   12780              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1900;
   12781              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1900;
   12782              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1900;
   12783              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1900;
   12784              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1900;
   12785              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1900;
   12786              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1900;
   12787              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1900;
   12788              :                                                                   {
   12789              :                                                                     tree res_op0;
   12790              :                                                                     {
   12791              :                                                                       tree _o1[1], _r1;
   12792              :                                                                       {
   12793              :                                                                         tree _o2[2], _r2;
   12794              :                                                                         {
   12795              :                                                                           tree _o3[2], _r3;
   12796              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   12797              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   12798              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   12799              :                                                                           _o2[0] = _r3;
   12800              :                                                                         }
   12801              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12802              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12803              :                                                                         _o1[0] = _r2;
   12804              :                                                                       }
   12805              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12806              :                                                                         {
   12807              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12808              :                                                                         }
   12809              :                                                                       else
   12810              :                                                                         _r1 = _o1[0];
   12811              :                                                                       res_op0 = _r1;
   12812              :                                                                     }
   12813              :                                                                     tree res_op1;
   12814              :                                                                     res_op1 =  rhs_tree;
   12815              :                                                                     tree _r;
   12816              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12817              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   12818              :                                                                     return _r;
   12819              :                                                                   }
   12820              : next_after_fail1900:;
   12821              :                                                                 }
   12822              :                                                           }
   12823              :                                                         }
   12824              :                                                   }
   12825              :                                                 }
   12826              :                                             }
   12827              :                                           }
   12828              :                                       }
   12829              :                                   }
   12830              :                                 break;
   12831              :                               }
   12832              :                             default:;
   12833              :                             }
   12834              :                           break;
   12835              :                         }
   12836            0 :                       case GT_EXPR:
   12837            0 :                         {
   12838            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   12839            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   12840            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   12841              :                             {
   12842            0 :                               switch (TREE_CODE (_q71))
   12843              :                                 {
   12844            0 :                                 case POINTER_PLUS_EXPR:
   12845            0 :                                   {
   12846            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   12847            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   12848            0 :                                     if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
   12849              :                                       {
   12850            0 :                                         if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   12851              :                                           {
   12852            0 :                                             {
   12853            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
   12854            0 :                                               const enum tree_code cmp = LT_EXPR;
   12855            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   12856            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   12857            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   12858              : )
   12859              :                                                 {
   12860            0 :                                                   {
   12861            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   12862            0 :  offset_int rhs = off * 2;
   12863            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   12864              : )
   12865              :                                                         {
   12866            0 :                                                           {
   12867            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   12868            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   12869            0 :                                                               if (cmp == LT_EXPR
   12870              : )
   12871              :                                                                 {
   12872            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1901;
   12873            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1901;
   12874            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1901;
   12875            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1901;
   12876            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1901;
   12877            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1901;
   12878            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1901;
   12879            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1901;
   12880            0 :                                                                   {
   12881            0 :                                                                     tree res_op0;
   12882            0 :                                                                     {
   12883            0 :                                                                       tree _o1[1], _r1;
   12884            0 :                                                                       {
   12885            0 :                                                                         tree _o2[2], _r2;
   12886            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   12887            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12888            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12889            0 :                                                                         _o1[0] = _r2;
   12890              :                                                                       }
   12891            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12892              :                                                                         {
   12893            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12894              :                                                                         }
   12895              :                                                                       else
   12896              :                                                                         _r1 = _o1[0];
   12897            0 :                                                                       res_op0 = _r1;
   12898              :                                                                     }
   12899            0 :                                                                     tree res_op1;
   12900            0 :                                                                     res_op1 =  rhs_tree;
   12901            0 :                                                                     tree _r;
   12902            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12903            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   12904            0 :                                                                     return _r;
   12905              :                                                                   }
   12906            0 : next_after_fail1901:;
   12907              :                                                                 }
   12908              :                                                               else
   12909              :                                                                 {
   12910              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1902;
   12911              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1902;
   12912              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1902;
   12913              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1902;
   12914              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1902;
   12915              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1902;
   12916              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1902;
   12917              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1902;
   12918              :                                                                   {
   12919              :                                                                     tree res_op0;
   12920              :                                                                     {
   12921              :                                                                       tree _o1[1], _r1;
   12922              :                                                                       {
   12923              :                                                                         tree _o2[2], _r2;
   12924              :                                                                         {
   12925              :                                                                           tree _o3[2], _r3;
   12926              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   12927              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   12928              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   12929              :                                                                           _o2[0] = _r3;
   12930              :                                                                         }
   12931              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12932              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12933              :                                                                         _o1[0] = _r2;
   12934              :                                                                       }
   12935              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12936              :                                                                         {
   12937              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12938              :                                                                         }
   12939              :                                                                       else
   12940              :                                                                         _r1 = _o1[0];
   12941              :                                                                       res_op0 = _r1;
   12942              :                                                                     }
   12943              :                                                                     tree res_op1;
   12944              :                                                                     res_op1 =  rhs_tree;
   12945              :                                                                     tree _r;
   12946              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12947              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   12948              :                                                                     return _r;
   12949              :                                                                   }
   12950              : next_after_fail1902:;
   12951              :                                                                 }
   12952              :                                                           }
   12953              :                                                         }
   12954              :                                                   }
   12955              :                                                 }
   12956              :                                             }
   12957              :                                           }
   12958              :                                       }
   12959              :                                     break;
   12960              :                                   }
   12961              :                                 default:;
   12962              :                                 }
   12963              :                             }
   12964              :                           break;
   12965              :                         }
   12966              :                       default:;
   12967              :                       }
   12968              :                     break;
   12969              :                   }
   12970              :                 default:;
   12971              :                 }
   12972              :               break;
   12973              :             }
   12974              :           default:;
   12975              :           }
   12976              :         break;
   12977              :       }
   12978        21015 :     case GE_EXPR:
   12979        21015 :       {
   12980        21015 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12981        21015 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12982        21015 :         switch (TREE_CODE (_q21))
   12983              :           {
   12984            0 :           case POINTER_PLUS_EXPR:
   12985            0 :             {
   12986            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   12987            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   12988            0 :               switch (TREE_CODE (_q41))
   12989              :                 {
   12990            0 :                 case INTEGER_CST:
   12991            0 :                   {
   12992            0 :                     switch (TREE_CODE (_p1))
   12993              :                       {
   12994            0 :                       case LE_EXPR:
   12995            0 :                         {
   12996            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   12997            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   12998            0 :                           switch (TREE_CODE (_q70))
   12999              :                             {
   13000            0 :                             case POINTER_PLUS_EXPR:
   13001            0 :                               {
   13002            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   13003            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   13004            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   13005              :                                   {
   13006            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
   13007              :                                       {
   13008            0 :                                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   13009              :                                           {
   13010            0 :                                             {
   13011            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
   13012            0 :                                               const enum tree_code cmp = LE_EXPR;
   13013            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   13014            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   13015            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   13016              : )
   13017              :                                                 {
   13018            0 :                                                   {
   13019            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   13020            0 :  offset_int rhs = off * 2;
   13021            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   13022              : )
   13023              :                                                         {
   13024            0 :                                                           {
   13025            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   13026            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   13027            0 :                                                               if (cmp == LT_EXPR
   13028              : )
   13029              :                                                                 {
   13030              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1903;
   13031              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1903;
   13032              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1903;
   13033              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1903;
   13034              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1903;
   13035              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1903;
   13036              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1903;
   13037              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1903;
   13038              :                                                                   {
   13039              :                                                                     tree res_op0;
   13040              :                                                                     {
   13041              :                                                                       tree _o1[1], _r1;
   13042              :                                                                       {
   13043              :                                                                         tree _o2[2], _r2;
   13044              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   13045              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   13046              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   13047              :                                                                         _o1[0] = _r2;
   13048              :                                                                       }
   13049              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   13050              :                                                                         {
   13051              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   13052              :                                                                         }
   13053              :                                                                       else
   13054              :                                                                         _r1 = _o1[0];
   13055              :                                                                       res_op0 = _r1;
   13056              :                                                                     }
   13057              :                                                                     tree res_op1;
   13058              :                                                                     res_op1 =  rhs_tree;
   13059              :                                                                     tree _r;
   13060              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   13061              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   13062            0 :                                                                     return _r;
   13063              :                                                                   }
   13064              : next_after_fail1903:;
   13065              :                                                                 }
   13066              :                                                               else
   13067              :                                                                 {
   13068            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1904;
   13069            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1904;
   13070            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1904;
   13071            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1904;
   13072            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1904;
   13073            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1904;
   13074            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1904;
   13075            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1904;
   13076            0 :                                                                   {
   13077            0 :                                                                     tree res_op0;
   13078            0 :                                                                     {
   13079            0 :                                                                       tree _o1[1], _r1;
   13080            0 :                                                                       {
   13081            0 :                                                                         tree _o2[2], _r2;
   13082            0 :                                                                         {
   13083            0 :                                                                           tree _o3[2], _r3;
   13084            0 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   13085            0 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   13086            0 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   13087            0 :                                                                           _o2[0] = _r3;
   13088              :                                                                         }
   13089            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   13090            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   13091            0 :                                                                         _o1[0] = _r2;
   13092              :                                                                       }
   13093            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   13094              :                                                                         {
   13095            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   13096              :                                                                         }
   13097              :                                                                       else
   13098              :                                                                         _r1 = _o1[0];
   13099            0 :                                                                       res_op0 = _r1;
   13100              :                                                                     }
   13101            0 :                                                                     tree res_op1;
   13102            0 :                                                                     res_op1 =  rhs_tree;
   13103            0 :                                                                     tree _r;
   13104            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   13105            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   13106            0 :                                                                     return _r;
   13107              :                                                                   }
   13108            0 : next_after_fail1904:;
   13109              :                                                                 }
   13110              :                                                           }
   13111              :                                                         }
   13112              :                                                   }
   13113              :                                                 }
   13114              :                                             }
   13115              :                                           }
   13116              :                                       }
   13117              :                                   }
   13118              :                                 break;
   13119              :                               }
   13120              :                             default:;
   13121              :                             }
   13122              :                           break;
   13123              :                         }
   13124            0 :                       case GE_EXPR:
   13125            0 :                         {
   13126            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   13127            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   13128            0 :                           if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   13129              :                             {
   13130            0 :                               switch (TREE_CODE (_q71))
   13131              :                                 {
   13132            0 :                                 case POINTER_PLUS_EXPR:
   13133            0 :                                   {
   13134            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   13135            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   13136            0 :                                     if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
   13137              :                                       {
   13138            0 :                                         if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
   13139              :                                           {
   13140            0 :                                             {
   13141            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
   13142            0 :                                               const enum tree_code cmp = LE_EXPR;
   13143            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   13144            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   13145            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   13146              : )
   13147              :                                                 {
   13148            0 :                                                   {
   13149            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   13150            0 :  offset_int rhs = off * 2;
   13151            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   13152              : )
   13153              :                                                         {
   13154            0 :                                                           {
   13155            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   13156            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   13157            0 :                                                               if (cmp == LT_EXPR
   13158              : )
   13159              :                                                                 {
   13160              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1905;
   13161              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1905;
   13162              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1905;
   13163              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1905;
   13164              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1905;
   13165              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1905;
   13166              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1905;
   13167              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1905;
   13168              :                                                                   {
   13169              :                                                                     tree res_op0;
   13170              :                                                                     {
   13171              :                                                                       tree _o1[1], _r1;
   13172              :                                                                       {
   13173              :                                                                         tree _o2[2], _r2;
   13174              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   13175              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   13176              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   13177              :                                                                         _o1[0] = _r2;
   13178              :                                                                       }
   13179              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   13180              :                                                                         {
   13181              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   13182              :                                                                         }
   13183              :                                                                       else
   13184              :                                                                         _r1 = _o1[0];
   13185              :                                                                       res_op0 = _r1;
   13186              :                                                                     }
   13187              :                                                                     tree res_op1;
   13188              :                                                                     res_op1 =  rhs_tree;
   13189              :                                                                     tree _r;
   13190              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   13191              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   13192            0 :                                                                     return _r;
   13193              :                                                                   }
   13194              : next_after_fail1905:;
   13195              :                                                                 }
   13196              :                                                               else
   13197              :                                                                 {
   13198            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1906;
   13199            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1906;
   13200            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1906;
   13201            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1906;
   13202            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1906;
   13203            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1906;
   13204            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1906;
   13205            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1906;
   13206            0 :                                                                   {
   13207            0 :                                                                     tree res_op0;
   13208            0 :                                                                     {
   13209            0 :                                                                       tree _o1[1], _r1;
   13210            0 :                                                                       {
   13211            0 :                                                                         tree _o2[2], _r2;
   13212            0 :                                                                         {
   13213            0 :                                                                           tree _o3[2], _r3;
   13214            0 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   13215            0 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   13216            0 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   13217            0 :                                                                           _o2[0] = _r3;
   13218              :                                                                         }
   13219            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   13220            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   13221            0 :                                                                         _o1[0] = _r2;
   13222              :                                                                       }
   13223            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   13224              :                                                                         {
   13225            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   13226              :                                                                         }
   13227              :                                                                       else
   13228              :                                                                         _r1 = _o1[0];
   13229            0 :                                                                       res_op0 = _r1;
   13230              :                                                                     }
   13231            0 :                                                                     tree res_op1;
   13232            0 :                                                                     res_op1 =  rhs_tree;
   13233            0 :                                                                     tree _r;
   13234            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   13235            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   13236            0 :                                                                     return _r;
   13237              :                                                                   }
   13238            0 : next_after_fail1906:;
   13239              :                                                                 }
   13240              :                                                           }
   13241              :                                                         }
   13242              :                                                   }
   13243              :                                                 }
   13244              :                                             }
   13245              :                                           }
   13246              :                                       }
   13247              :                                     break;
   13248              :                                   }
   13249              :                                 default:;
   13250              :                                 }
   13251              :                             }
   13252              :                           break;
   13253              :                         }
   13254              :                       default:;
   13255              :                       }
   13256              :                     break;
   13257              :                   }
   13258              :                 default:;
   13259              :                 }
   13260              :               break;
   13261              :             }
   13262              :           default:;
   13263              :           }
   13264              :         break;
   13265              :       }
   13266       125058 :     case GT_EXPR:
   13267       125058 :       {
   13268       125058 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13269       125058 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13270       125058 :         switch (TREE_CODE (_q21))
   13271              :           {
   13272            0 :           case POINTER_PLUS_EXPR:
   13273            0 :             {
   13274            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   13275            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   13276            0 :               switch (TREE_CODE (_q41))
   13277              :                 {
   13278            0 :                 case INTEGER_CST:
   13279            0 :                   {
   13280            0 :                     switch (TREE_CODE (_p1))
   13281              :                       {
   13282            0 :                       case LT_EXPR:
   13283            0 :                         {
   13284            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   13285            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   13286            0 :                           switch (TREE_CODE (_q70))
   13287              :                             {
   13288            0 :                             case POINTER_PLUS_EXPR:
   13289            0 :                               {
   13290            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   13291            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   13292            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   13293              :                                   {
   13294            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
   13295              :                                       {
   13296            0 :                                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   13297              :                                           {
   13298            0 :                                             {
   13299            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
   13300            0 :                                               const enum tree_code cmp = LT_EXPR;
   13301            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   13302            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   13303            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   13304              : )
   13305              :                                                 {
   13306            0 :                                                   {
   13307            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   13308            0 :  offset_int rhs = off * 2;
   13309            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   13310              : )
   13311              :                                                         {
   13312            0 :                                                           {
   13313            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   13314            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   13315            0 :                                                               if (cmp == LT_EXPR
   13316              : )
   13317              :                                                                 {
   13318            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1907;
   13319            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1907;
   13320            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1907;
   13321            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1907;
   13322            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1907;
   13323            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1907;
   13324            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1907;
   13325            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1907;
   13326            0 :                                                                   {
   13327            0 :                                                                     tree res_op0;
   13328            0 :                                                                     {
   13329            0 :                                                                       tree _o1[1], _r1;
   13330            0 :                                                                       {
   13331            0 :                                                                         tree _o2[2], _r2;
   13332            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   13333            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   13334            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   13335            0 :                                                                         _o1[0] = _r2;
   13336              :                                                                       }
   13337            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   13338              :                                                                         {
   13339            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   13340              :                                                                         }
   13341              :                                                                       else
   13342              :                                                                         _r1 = _o1[0];
   13343            0 :                                                                       res_op0 = _r1;
   13344              :                                                                     }
   13345            0 :                                                                     tree res_op1;
   13346            0 :                                                                     res_op1 =  rhs_tree;
   13347            0 :                                                                     tree _r;
   13348            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   13349            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   13350            0 :                                                                     return _r;
   13351              :                                                                   }
   13352            0 : next_after_fail1907:;
   13353              :                                                                 }
   13354              :                                                               else
   13355              :                                                                 {
   13356              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1908;
   13357              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1908;
   13358              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1908;
   13359              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1908;
   13360              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1908;
   13361              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1908;
   13362              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1908;
   13363              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1908;
   13364              :                                                                   {
   13365              :                                                                     tree res_op0;
   13366              :                                                                     {
   13367              :                                                                       tree _o1[1], _r1;
   13368              :                                                                       {
   13369              :                                                                         tree _o2[2], _r2;
   13370              :                                                                         {
   13371              :                                                                           tree _o3[2], _r3;
   13372              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   13373              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   13374              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   13375              :                                                                           _o2[0] = _r3;
   13376              :                                                                         }
   13377              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   13378              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   13379              :                                                                         _o1[0] = _r2;
   13380              :                                                                       }
   13381              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   13382              :                                                                         {
   13383              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   13384              :                                                                         }
   13385              :                                                                       else
   13386              :                                                                         _r1 = _o1[0];
   13387              :                                                                       res_op0 = _r1;
   13388              :                                                                     }
   13389              :                                                                     tree res_op1;
   13390              :                                                                     res_op1 =  rhs_tree;
   13391              :                                                                     tree _r;
   13392              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   13393              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   13394              :                                                                     return _r;
   13395              :                                                                   }
   13396              : next_after_fail1908:;
   13397              :                                                                 }
   13398              :                                                           }
   13399              :                                                         }
   13400              :                                                   }
   13401              :                                                 }
   13402              :                                             }
   13403              :                                           }
   13404              :                                       }
   13405              :                                   }
   13406              :                                 break;
   13407              :                               }
   13408              :                             default:;
   13409              :                             }
   13410              :                           break;
   13411              :                         }
   13412            0 :                       case GT_EXPR:
   13413            0 :                         {
   13414            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   13415            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   13416            0 :                           if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   13417              :                             {
   13418            0 :                               switch (TREE_CODE (_q71))
   13419              :                                 {
   13420            0 :                                 case POINTER_PLUS_EXPR:
   13421            0 :                                   {
   13422            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   13423            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   13424            0 :                                     if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
   13425              :                                       {
   13426            0 :                                         if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
   13427              :                                           {
   13428            0 :                                             {
   13429            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
   13430            0 :                                               const enum tree_code cmp = LT_EXPR;
   13431            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   13432            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   13433            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   13434              : )
   13435              :                                                 {
   13436            0 :                                                   {
   13437            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   13438            0 :  offset_int rhs = off * 2;
   13439            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   13440              : )
   13441              :                                                         {
   13442            0 :                                                           {
   13443            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   13444            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   13445            0 :                                                               if (cmp == LT_EXPR
   13446              : )
   13447              :                                                                 {
   13448            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1909;
   13449            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1909;
   13450            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1909;
   13451            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1909;
   13452            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1909;
   13453            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1909;
   13454            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1909;
   13455            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1909;
   13456            0 :                                                                   {
   13457            0 :                                                                     tree res_op0;
   13458            0 :                                                                     {
   13459            0 :                                                                       tree _o1[1], _r1;
   13460            0 :                                                                       {
   13461            0 :                                                                         tree _o2[2], _r2;
   13462            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   13463            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   13464            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   13465            0 :                                                                         _o1[0] = _r2;
   13466              :                                                                       }
   13467            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   13468              :                                                                         {
   13469            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   13470              :                                                                         }
   13471              :                                                                       else
   13472              :                                                                         _r1 = _o1[0];
   13473            0 :                                                                       res_op0 = _r1;
   13474              :                                                                     }
   13475            0 :                                                                     tree res_op1;
   13476            0 :                                                                     res_op1 =  rhs_tree;
   13477            0 :                                                                     tree _r;
   13478            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   13479            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   13480            0 :                                                                     return _r;
   13481              :                                                                   }
   13482            0 : next_after_fail1909:;
   13483              :                                                                 }
   13484              :                                                               else
   13485              :                                                                 {
   13486              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1910;
   13487              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1910;
   13488              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1910;
   13489              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1910;
   13490              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1910;
   13491              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1910;
   13492              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1910;
   13493              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1910;
   13494              :                                                                   {
   13495              :                                                                     tree res_op0;
   13496              :                                                                     {
   13497              :                                                                       tree _o1[1], _r1;
   13498              :                                                                       {
   13499              :                                                                         tree _o2[2], _r2;
   13500              :                                                                         {
   13501              :                                                                           tree _o3[2], _r3;
   13502              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   13503              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   13504              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   13505              :                                                                           _o2[0] = _r3;
   13506              :                                                                         }
   13507              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   13508              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   13509              :                                                                         _o1[0] = _r2;
   13510              :                                                                       }
   13511              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   13512              :                                                                         {
   13513              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   13514              :                                                                         }
   13515              :                                                                       else
   13516              :                                                                         _r1 = _o1[0];
   13517              :                                                                       res_op0 = _r1;
   13518              :                                                                     }
   13519              :                                                                     tree res_op1;
   13520              :                                                                     res_op1 =  rhs_tree;
   13521              :                                                                     tree _r;
   13522              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   13523              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   13524              :                                                                     return _r;
   13525              :                                                                   }
   13526              : next_after_fail1910:;
   13527              :                                                                 }
   13528              :                                                           }
   13529              :                                                         }
   13530              :                                                   }
   13531              :                                                 }
   13532              :                                             }
   13533              :                                           }
   13534              :                                       }
   13535              :                                     break;
   13536              :                                   }
   13537              :                                 default:;
   13538              :                                 }
   13539              :                             }
   13540              :                           break;
   13541              :                         }
   13542              :                       default:;
   13543              :                       }
   13544              :                     break;
   13545              :                   }
   13546              :                 default:;
   13547              :                 }
   13548              :               break;
   13549              :             }
   13550              :           default:;
   13551              :           }
   13552              :         break;
   13553              :       }
   13554              :     default:;
   13555              :     }
   13556              :   return NULL_TREE;
   13557              : }
   13558              : #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.