LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-1.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 41.5 % 6439 2671
Test Date: 2026-05-30 15:37:04 Functions: 65.5 % 84 55
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     97074983 : tree_zero_one_valued_p (tree t)
      11              : {
      12     97074983 :   const tree type = TREE_TYPE (t);
      13     97074983 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14     97074983 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15     91674333 :   {
      16     91674333 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
      17    183348666 :     if (INTEGRAL_TYPE_P (type)
      18     66568213 :  && (TYPE_UNSIGNED (type)
      19     12200047 :  || TYPE_PRECISION (type) > 1)
      20    224810709 :  && wi::leu_p (tree_nonzero_bits (captures[0]), 1)
      21              : )
      22              :       {
      23       469449 :         {
      24       469449 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 28, __FILE__, __LINE__, false);
      25       469449 :           return true;
      26              :         }
      27              :       }
      28              :   }
      29     91204884 :   switch (TREE_CODE (t))
      30              :     {
      31       238168 :     case BIT_AND_EXPR:
      32       238168 :       {
      33       238168 :         tree _p0 = TREE_OPERAND (t, 0);
      34       238168 :         tree _p1 = TREE_OPERAND (t, 1);
      35       238168 :         if (integer_onep (_p1))
      36              :           {
      37            0 :             {
      38            0 :               tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      39            0 :               if (INTEGRAL_TYPE_P (type)
      40              : )
      41              :                 {
      42            0 :                   {
      43            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 29, __FILE__, __LINE__, false);
      44            0 :                     return true;
      45              :                   }
      46              :                 }
      47              :             }
      48              :           }
      49       238168 :         if (integer_onep (_p0))
      50              :           {
      51            0 :             {
      52            0 :               tree captures[2] ATTRIBUTE_UNUSED = { t, _p1 };
      53            0 :               if (INTEGRAL_TYPE_P (type)
      54              : )
      55              :                 {
      56            0 :                   {
      57            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 29, __FILE__, __LINE__, false);
      58            0 :                     return true;
      59              :                   }
      60              :                 }
      61              :             }
      62              :           }
      63              :         break;
      64              :       }
      65     44065488 :     CASE_CONVERT:
      66     44065488 :       {
      67     44065488 :         tree _p0 = TREE_OPERAND (t, 0);
      68     44065488 :         {
      69     44065488 :           tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      70     88123923 :           if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
      71     39604928 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
      72     35178997 :  || TYPE_PRECISION (TREE_TYPE (captures[1])) > 1)
      73     39604920 :  && INTEGRAL_TYPE_P (type)
      74     39604906 :  && (TYPE_UNSIGNED (type)
      75      1842946 :  || TYPE_PRECISION (type) > 1)
      76    127735882 :  && wi::leu_p (tree_nonzero_bits (captures[1]), 1)
      77              : )
      78              :             {
      79            0 :               {
      80            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 30, __FILE__, __LINE__, false);
      81            0 :                 return true;
      82              :               }
      83              :             }
      84              :         }
      85              :         break;
      86              :       }
      87     91204884 :     default:;
      88              :     }
      89     91204884 : if (tree_truth_valued_p (t))
      90              :   {
      91       160118 :     {
      92       160118 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      93       160118 :       if (INTEGRAL_TYPE_P (type)
      94       160118 :  && (TYPE_UNSIGNED (type)
      95       160052 :  || TYPE_PRECISION (type) > 1)
      96              : )
      97              :         {
      98       160068 :           {
      99       160068 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 31, __FILE__, __LINE__, false);
     100       160068 :             return true;
     101              :           }
     102              :         }
     103              :     }
     104              :   }
     105              :   return false;
     106              : }
     107              : 
     108              : tree
     109            1 : generic_simplify_2 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     110              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
     111              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     112              : {
     113            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     114            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail73;
     115            1 :   {
     116            1 :     tree res_op0;
     117            1 :     res_op0 = captures[0];
     118            1 :     tree _r;
     119            1 :     _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     120            1 :     if (TREE_SIDE_EFFECTS (captures[1]))
     121            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     122            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 50, __FILE__, __LINE__, true);
     123              :     return _r;
     124              :   }
     125            0 : next_after_fail73:;
     126            0 :   return NULL_TREE;
     127              : }
     128              : 
     129              : tree
     130            0 : generic_simplify_9 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     131              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     132              :  const enum tree_code ARG_UNUSED (bit_op))
     133              : {
     134            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     135            0 :   if (bit_op == BIT_AND_EXPR
     136              : )
     137              :     {
     138            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail81;
     139            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail81;
     140            0 :       {
     141            0 :         tree _r;
     142            0 :         _r =  build_zero_cst (type);
     143            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 56, __FILE__, __LINE__, true);
     144            0 :         return _r;
     145              :       }
     146              : next_after_fail81:;
     147              :     }
     148              :   else
     149              :     {
     150            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail82;
     151            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail82;
     152            0 :       {
     153            0 :         tree _r;
     154            0 :         _r =  build_minus_one_cst (type);
     155            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 57, __FILE__, __LINE__, true);
     156            0 :         return _r;
     157              :       }
     158              : next_after_fail82:;
     159              :     }
     160              :   return NULL_TREE;
     161              : }
     162              : 
     163              : tree
     164            1 : generic_simplify_18 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     165              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     166              : {
     167            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     168            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail93;
     169            1 :   {
     170            1 :     tree res_op0;
     171            1 :     res_op0 = captures[1];
     172            1 :     tree res_op1;
     173            1 :     {
     174            1 :       tree _o1[1], _r1;
     175            1 :       _o1[0] = captures[2];
     176            1 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     177            1 :       res_op1 = _r1;
     178              :     }
     179            1 :     tree _r;
     180            1 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     181            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 66, __FILE__, __LINE__, true);
     182              :     return _r;
     183              :   }
     184            0 : next_after_fail93:;
     185            0 :   return NULL_TREE;
     186              : }
     187              : 
     188              : tree
     189          731 : generic_simplify_28 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     190              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     191              : {
     192          731 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     193          731 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     194              : )
     195              :     {
     196          731 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail103;
     197          731 :       {
     198          731 :         tree res_op0;
     199          731 :         {
     200          731 :           tree _o1[2], _r1;
     201          731 :           {
     202          731 :             tree _o2[1], _r2;
     203          731 :             _o2[0] = captures[2];
     204          731 :             if (TREE_TYPE (_o2[0]) != type)
     205              :               {
     206            0 :                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     207              :               }
     208              :             else
     209              :               _r2 = _o2[0];
     210          731 :             _o1[0] = _r2;
     211              :           }
     212          731 :           _o1[1] = captures[3];
     213          731 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     214          731 :           res_op0 = _r1;
     215              :         }
     216          731 :         tree _r;
     217          731 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     218          731 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 76, __FILE__, __LINE__, true);
     219          731 :         return _r;
     220              :       }
     221            0 : next_after_fail103:;
     222              :     }
     223              :   return NULL_TREE;
     224              : }
     225              : 
     226              : tree
     227            7 : generic_simplify_36 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     228              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     229              :  const enum tree_code ARG_UNUSED (op))
     230              : {
     231            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     232            7 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail113;
     233            7 :   {
     234            7 :     tree _r;
     235            7 :     _r =  constant_boolean_node (true, type);
     236            7 :     if (TREE_SIDE_EFFECTS (captures[0]))
     237            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     238            7 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 85, __FILE__, __LINE__, true);
     239              :     return _r;
     240              :   }
     241            0 : next_after_fail113:;
     242            0 :   return NULL_TREE;
     243              : }
     244              : 
     245              : tree
     246           24 : generic_simplify_39 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     247              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     248              : {
     249           24 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     250           24 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     251              : )
     252              :     {
     253           24 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail116;
     254           24 :       {
     255           24 :         tree res_op0;
     256           24 :         {
     257           24 :           tree _o1[2], _r1;
     258           24 :           {
     259           24 :             tree _o2[1], _r2;
     260           24 :             _o2[0] = captures[2];
     261           24 :             if (TREE_TYPE (_o2[0]) != type)
     262              :               {
     263           24 :                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     264              :               }
     265              :             else
     266              :               _r2 = _o2[0];
     267           24 :             _o1[0] = _r2;
     268              :           }
     269           24 :           _o1[1] = captures[3];
     270           24 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     271           24 :           res_op0 = _r1;
     272              :         }
     273           24 :         tree _r;
     274           24 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     275           24 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 76, __FILE__, __LINE__, true);
     276           24 :         return _r;
     277              :       }
     278            0 : next_after_fail116:;
     279              :     }
     280              :   return NULL_TREE;
     281              : }
     282              : 
     283              : tree
     284            7 : generic_simplify_48 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     285              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     286              :  const enum tree_code ARG_UNUSED (op))
     287              : {
     288            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     289           14 :   if (INTEGRAL_TYPE_P (type)
     290            7 :  && tree_int_cst_sgn (captures[2]) > 0
     291            7 :  && tree_int_cst_sgn (captures[4]) > 0
     292           28 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[3])) == 0
     293              : )
     294              :     {
     295            4 :       {
     296            4 :  tree t = type;
     297            4 :  if (!TYPE_OVERFLOW_WRAPS (t))
     298            4 :  t = unsigned_type_for (t);
     299            4 :  wide_int wone = wi::one (TYPE_PRECISION (t));
     300            8 :  wide_int c = wi::add (wi::lshift (wone, wi::to_wide (captures[2])),
     301            8 :  wi::lshift (wone, wi::to_wide (captures[4])));
     302            4 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail126;
     303            4 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail126;
     304            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail126;
     305            4 :           {
     306            4 :             tree res_op0;
     307            4 :             {
     308            4 :               tree _o1[2], _r1;
     309            4 :               {
     310            4 :                 tree _o2[1], _r2;
     311            4 :                 _o2[0] = captures[1];
     312            4 :                 if (TREE_TYPE (_o2[0]) != t)
     313              :                   {
     314            4 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     315              :                   }
     316              :                 else
     317              :                   _r2 = _o2[0];
     318            4 :                 _o1[0] = _r2;
     319              :               }
     320            4 :               _o1[1] =  wide_int_to_tree (t,c);
     321            4 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     322            4 :               res_op0 = _r1;
     323              :             }
     324            4 :             tree _r;
     325            4 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     326            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 94, __FILE__, __LINE__, true);
     327            4 :             return _r;
     328              :           }
     329            0 : next_after_fail126:;
     330            4 :       }
     331              :     }
     332              :   return NULL_TREE;
     333              : }
     334              : 
     335              : tree
     336           45 : generic_simplify_58 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     337              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     338              : {
     339           45 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     340           45 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail139;
     341           45 :   {
     342           45 :     if (! tree_invariant_p (captures[2])) goto next_after_fail139;
     343           45 :     tree res_op0;
     344           45 :     {
     345           45 :       tree _o1[2], _r1;
     346           45 :       _o1[0] = captures[0];
     347           45 :       _o1[1] = unshare_expr (captures[2]);
     348           45 :       _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     349           45 :       res_op0 = _r1;
     350              :     }
     351           45 :     tree res_op1;
     352           45 :     {
     353           45 :       tree _o1[1], _r1;
     354           45 :       _o1[0] = captures[2];
     355           45 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     356           45 :       res_op1 = _r1;
     357              :     }
     358           45 :     tree _r;
     359           45 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     360           45 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 107, __FILE__, __LINE__, true);
     361              :     return _r;
     362              :   }
     363              : next_after_fail139:;
     364              :   return NULL_TREE;
     365              : }
     366              : 
     367              : tree
     368            7 : generic_simplify_67 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     369              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     370              : {
     371            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     372            7 :   if (!TYPE_SATURATING (type)
     373              : )
     374              :     {
     375            7 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     376           14 :  && !FIXED_POINT_TYPE_P (type)
     377              : )
     378              :         {
     379            7 :           if (TYPE_OVERFLOW_UNDEFINED (type)
     380           14 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
     381              : )
     382              :             {
     383            7 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail156;
     384            7 :               {
     385            7 :                 tree res_op0;
     386            7 :                 res_op0 = captures[2];
     387            7 :                 tree res_op1;
     388            7 :                 res_op1 = captures[1];
     389            7 :                 tree _r;
     390            7 :                 _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
     391            7 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     392            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     393            7 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 124, __FILE__, __LINE__, true);
     394            7 :                 return _r;
     395              :               }
     396            0 : next_after_fail156:;
     397              :             }
     398              :         }
     399              :     }
     400              :   return NULL_TREE;
     401              : }
     402              : 
     403              : tree
     404            9 : generic_simplify_75 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     405              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     406              : {
     407            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     408            9 :   if (INTEGRAL_TYPE_P (type)
     409            9 :  && (
     410              : 
     411            9 :  || !TREE_SIDE_EFFECTS (captures[1]))
     412              : )
     413              :     {
     414            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail165;
     415            2 :       {
     416            2 :         tree res_op0;
     417            2 :         {
     418            2 :           tree _o1[1], _r1;
     419            2 :           _o1[0] = captures[2];
     420            2 :           if (TREE_TYPE (_o1[0]) != boolean_type_node)
     421              :             {
     422            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
     423              :             }
     424              :           else
     425              :             _r1 = _o1[0];
     426            2 :           res_op0 = _r1;
     427              :         }
     428            2 :         tree res_op1;
     429            2 :         res_op1 = captures[1];
     430            2 :         tree res_op2;
     431            2 :         res_op2 = captures[0];
     432            2 :         tree _r;
     433            2 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     434            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 133, __FILE__, __LINE__, true);
     435            2 :         return _r;
     436              :       }
     437            0 : next_after_fail165:;
     438              :     }
     439              :   return NULL_TREE;
     440              : }
     441              : 
     442              : tree
     443            1 : generic_simplify_80 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     444              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     445              :  const combined_fn ARG_UNUSED (logs))
     446              : {
     447            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     448            1 :   if (flag_unsafe_math_optimizations
     449              : )
     450              :     {
     451            1 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
     452            1 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
     453            1 :  && ! flag_trapping_math
     454            2 :  && ! flag_errno_math
     455              : )
     456              :         {
     457            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail171;
     458            1 :           {
     459            1 :             tree res_op0;
     460            1 :             {
     461            1 :               tree _o1[2], _r1;
     462            1 :               _o1[0] = captures[1];
     463            1 :               _o1[1] = captures[3];
     464            1 :               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     465            1 :               res_op0 = _r1;
     466              :             }
     467            1 :             tree _r;
     468            1 :             _r = maybe_build_call_expr_loc (loc, logs, type, 1, res_op0);
     469            1 :             if (!_r)
     470            0 :               goto next_after_fail171;
     471            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 139, __FILE__, __LINE__, true);
     472            1 :             return _r;
     473              :           }
     474              : next_after_fail171:;
     475              :         }
     476              :     }
     477              :   return NULL_TREE;
     478              : }
     479              : 
     480              : tree
     481           21 : generic_simplify_88 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     482              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     483              : {
     484           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     485           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail179;
     486           21 :   {
     487           21 :     tree res_op0;
     488           21 :     {
     489           21 :       tree _o1[2], _r1;
     490           21 :       _o1[0] = captures[1];
     491           21 :       _o1[1] = unshare_expr (captures[2]);
     492           21 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     493           21 :       res_op0 = _r1;
     494              :     }
     495           21 :     tree res_op1;
     496           21 :     res_op1 = captures[2];
     497           21 :     tree _r;
     498           21 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     499           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 147, __FILE__, __LINE__, true);
     500              :     return _r;
     501              :   }
     502            0 : next_after_fail179:;
     503            0 :   return NULL_TREE;
     504              : }
     505              : 
     506              : tree
     507        56006 : generic_simplify_96 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     508              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     509              : {
     510        56006 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     511        56006 :   if (!TYPE_SATURATING (type)
     512              : )
     513              :     {
     514        56006 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     515       112001 :  && !FIXED_POINT_TYPE_P (type)
     516              : )
     517              :         {
     518        55995 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail187;
     519        55995 :           {
     520        55995 :             tree res_op0;
     521        55995 :             res_op0 = captures[1];
     522        55995 :             tree _r;
     523        55995 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     524        55995 :             if (TREE_SIDE_EFFECTS (captures[0]))
     525           15 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     526        55995 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 154, __FILE__, __LINE__, true);
     527        55995 :             return _r;
     528              :           }
     529            0 : next_after_fail187:;
     530              :         }
     531              :     }
     532              :   return NULL_TREE;
     533              : }
     534              : 
     535              : tree
     536           41 : generic_simplify_102 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     537              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     538              : {
     539           41 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     540           41 :   if (!TYPE_SATURATING (type)
     541              : )
     542              :     {
     543           41 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     544           82 :  && !FIXED_POINT_TYPE_P (type)
     545              : )
     546              :         {
     547           82 :           if (!TYPE_OVERFLOW_TRAPS (type)
     548           41 :  && TREE_CODE (type) != COMPLEX_TYPE
     549           81 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     550              : )
     551              :             {
     552           40 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail197;
     553           40 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail197;
     554           40 :               {
     555           40 :                 tree res_op0;
     556           40 :                 {
     557           40 :                   tree _o1[1], _r1;
     558           40 :                   _o1[0] = captures[0];
     559           40 :                   if (TREE_TYPE (_o1[0]) != type)
     560              :                     {
     561            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     562              :                     }
     563              :                   else
     564              :                     _r1 = _o1[0];
     565           40 :                   res_op0 = _r1;
     566              :                 }
     567           40 :                 tree _r;
     568           40 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     569           40 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 164, __FILE__, __LINE__, true);
     570           40 :                 return _r;
     571              :               }
     572              : next_after_fail197:;
     573              :             }
     574              :         }
     575              :     }
     576              :   return NULL_TREE;
     577              : }
     578              : 
     579              : tree
     580            0 : generic_simplify_110 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     581              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     582              : {
     583            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     584            0 :   if (TREE_CODE (captures[1]) == SSA_NAME && num_imm_uses (captures[1]) == 2
     585              : )
     586              :     {
     587            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail207;
     588            0 :       {
     589            0 :         if (! tree_invariant_p (captures[2])) goto next_after_fail207;
     590            0 :         tree res_op0;
     591            0 :         {
     592            0 :           tree _o1[2], _r1;
     593            0 :           {
     594            0 :             tree _o2[3], _r2;
     595            0 :             _o2[0] = unshare_expr (captures[2]);
     596            0 :             _o2[1] = captures[2];
     597            0 :             _o2[2] = captures[4];
     598            0 :             _r2 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1], _o2[2]);
     599            0 :             _o1[0] = _r2;
     600              :           }
     601            0 :           _o1[1] = captures[3];
     602            0 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     603            0 :           res_op0 = _r1;
     604              :         }
     605            0 :         tree res_op1;
     606            0 :         res_op1 = captures[5];
     607            0 :         tree _r;
     608            0 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     609            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 174, __FILE__, __LINE__, true);
     610            0 :         return _r;
     611              :       }
     612              : next_after_fail207:;
     613              :     }
     614              :   return NULL_TREE;
     615              : }
     616              : 
     617              : tree
     618            0 : generic_simplify_116 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     619              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     620              : {
     621            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     622            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail213;
     623            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail213;
     624            0 :   {
     625            0 :     tree _r;
     626            0 :     _r = captures[2];
     627            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 178, __FILE__, __LINE__, true);
     628              :     return _r;
     629              :   }
     630              : next_after_fail213:;
     631              :   return NULL_TREE;
     632              : }
     633              : 
     634              : tree
     635            0 : generic_simplify_122 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     636              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     637              : {
     638            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     639            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail219;
     640            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail219;
     641            0 :   {
     642            0 :     tree _r;
     643            0 :     _r = captures[2];
     644            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 184, __FILE__, __LINE__, true);
     645              :     return _r;
     646              :   }
     647              : next_after_fail219:;
     648              :   return NULL_TREE;
     649              : }
     650              : 
     651              : tree
     652           15 : generic_simplify_129 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     653              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     654              :  const enum tree_code ARG_UNUSED (bitop))
     655              : {
     656           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     657           15 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail226;
     658           15 :   {
     659           15 :     tree res_op0;
     660           15 :     res_op0 = captures[0];
     661           15 :     tree res_op1;
     662           15 :     {
     663           15 :       tree _o1[1], _r1;
     664           15 :       _o1[0] = captures[2];
     665           15 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     666           15 :       res_op1 = _r1;
     667              :     }
     668           15 :     tree _r;
     669           15 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     670           15 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 188, __FILE__, __LINE__, true);
     671              :     return _r;
     672              :   }
     673            0 : next_after_fail226:;
     674            0 :   return NULL_TREE;
     675              : }
     676              : 
     677              : tree
     678            0 : generic_simplify_140 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     679              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     680              :  const enum tree_code ARG_UNUSED (op))
     681              : {
     682            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     683            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     684            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     685              : )
     686              :     {
     687            0 :       if (single_use (captures[4]) && single_use (captures[5])
     688              : )
     689              :         {
     690            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail240;
     691            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail240;
     692            0 :           {
     693            0 :             tree res_op0;
     694            0 :             res_op0 = captures[0];
     695            0 :             tree res_op1;
     696            0 :             {
     697            0 :               tree _o1[1], _r1;
     698            0 :               _o1[0] = captures[6];
     699            0 :               if (TREE_TYPE (_o1[0]) != type)
     700              :                 {
     701            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     702              :                 }
     703              :               else
     704              :                 _r1 = _o1[0];
     705            0 :               res_op1 = _r1;
     706              :             }
     707            0 :             tree _r;
     708            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     709            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 194, __FILE__, __LINE__, true);
     710            0 :             return _r;
     711              :           }
     712              : next_after_fail240:;
     713              :         }
     714              :       else
     715              :         {
     716              :           if (single_use (captures[0]) && single_use (captures[1])
     717              : )
     718              :             {
     719              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail241;
     720              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail241;
     721              :               {
     722              :                 tree res_op0;
     723              :                 {
     724              :                   tree _o1[1], _r1;
     725              :                   _o1[0] = captures[3];
     726              :                   if (TREE_TYPE (_o1[0]) != type)
     727              :                     {
     728              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     729              :                     }
     730              :                   else
     731              :                     _r1 = _o1[0];
     732              :                   res_op0 = _r1;
     733              :                 }
     734              :                 tree res_op1;
     735              :                 res_op1 = captures[4];
     736              :                 tree _r;
     737              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     738              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 195, __FILE__, __LINE__, true);
     739              :                 return _r;
     740              :               }
     741              : next_after_fail241:;
     742              :             }
     743              :         }
     744              :     }
     745              :   return NULL_TREE;
     746              : }
     747              : 
     748              : tree
     749            4 : generic_simplify_155 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     750              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     751              : {
     752            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     753            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail260;
     754            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail260;
     755            4 :   {
     756            4 :     tree _r;
     757            4 :     _r = captures[2];
     758            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     759            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     760            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 209, __FILE__, __LINE__, true);
     761              :     return _r;
     762              :   }
     763              : next_after_fail260:;
     764              :   return NULL_TREE;
     765              : }
     766              : 
     767              : tree
     768            0 : generic_simplify_161 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     769              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     770              :  const enum tree_code ARG_UNUSED (cmp))
     771              : {
     772            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     773            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail284;
     774            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail284;
     775            0 :   {
     776            0 :     tree res_op0;
     777            0 :     {
     778            0 :       tree _o1[2], _r1;
     779            0 :       _o1[0] =  build_zero_cst (TREE_TYPE (captures[0]));
     780            0 :       _o1[1] = captures[2];
     781            0 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
     782            0 :       res_op0 = _r1;
     783              :     }
     784            0 :     tree res_op1;
     785            0 :     res_op1 = captures[3];
     786            0 :     tree _r;
     787            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     788            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 226, __FILE__, __LINE__, true);
     789              :     return _r;
     790              :   }
     791              : next_after_fail284:;
     792              :   return NULL_TREE;
     793              : }
     794              : 
     795              : tree
     796            8 : generic_simplify_169 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     797              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     798              :  const enum tree_code ARG_UNUSED (eqne))
     799              : {
     800            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     801            8 :   if (eqne == EQ_EXPR
     802              : )
     803              :     {
     804            4 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail305;
     805            4 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail305;
     806            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail305;
     807            4 :       {
     808            4 :         tree _r;
     809            4 :         _r = captures[0];
     810            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 228, __FILE__, __LINE__, true);
     811            4 :         return _r;
     812              :       }
     813              : next_after_fail305:;
     814              :     }
     815              :   else
     816              :     {
     817            4 :       if (eqne == NE_EXPR
     818              : )
     819              :         {
     820            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail306;
     821            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail306;
     822            4 :           {
     823            4 :             tree _r;
     824            4 :             _r =  constant_boolean_node (true, type);
     825            4 :             if (TREE_SIDE_EFFECTS (captures[2]))
     826            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     827            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 229, __FILE__, __LINE__, true);
     828            4 :             return _r;
     829              :           }
     830              : next_after_fail306:;
     831              :         }
     832              :     }
     833              :   return NULL_TREE;
     834              : }
     835              : 
     836              : tree
     837           46 : generic_simplify_174 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     838              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     839              :  const enum tree_code ARG_UNUSED (logic),
     840              :  const enum tree_code ARG_UNUSED (op),
     841              :  const enum tree_code ARG_UNUSED (ext))
     842              : {
     843           46 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     844           92 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     845           92 :  && TREE_CODE (captures[1]) != INTEGER_CST
     846              : )
     847              :     {
     848            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail311;
     849            0 :       {
     850            0 :         tree res_op0;
     851            0 :         res_op0 = captures[1];
     852            0 :         tree res_op1;
     853            0 :         {
     854            0 :           tree _o1[2], _r1;
     855            0 :           _o1[0] = captures[2];
     856            0 :           _o1[1] = captures[4];
     857            0 :           _r1 = fold_build2_loc (loc, ext, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     858            0 :           res_op1 = _r1;
     859              :         }
     860            0 :         tree _r;
     861            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     862            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 232, __FILE__, __LINE__, true);
     863            0 :         return _r;
     864              :       }
     865            0 : next_after_fail311:;
     866              :     }
     867              :   return NULL_TREE;
     868              : }
     869              : 
     870              : tree
     871            0 : generic_simplify_179 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     872              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     873              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     874              : {
     875            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     876            0 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     877              : )
     878              :     {
     879            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail316;
     880            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail316;
     881            0 :       {
     882            0 :         tree res_op0;
     883            0 :         {
     884            0 :           tree _o1[1], _r1;
     885            0 :           _o1[0] = captures[0];
     886            0 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     887            0 :           res_op0 = _r1;
     888              :         }
     889            0 :         tree _r;
     890            0 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     891            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 236, __FILE__, __LINE__, true);
     892            0 :         return _r;
     893              :       }
     894              : next_after_fail316:;
     895              :     }
     896              :   return NULL_TREE;
     897              : }
     898              : 
     899              : tree
     900            0 : generic_simplify_185 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     901              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     902              : {
     903            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     904            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail322;
     905            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail322;
     906            0 :   {
     907            0 :     tree _r;
     908            0 :     _r =  build_zero_cst (type);
     909            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 240, __FILE__, __LINE__, true);
     910              :     return _r;
     911              :   }
     912              : next_after_fail322:;
     913              :   return NULL_TREE;
     914              : }
     915              : 
     916              : tree
     917            0 : generic_simplify_190 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     918              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     919              :  const enum tree_code ARG_UNUSED (cmp))
     920              : {
     921            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     922            0 :   if (fold_before_rtl_expansion_p ()
     923              : )
     924              :     {
     925            0 :       if (INTEGRAL_TYPE_P (type)
     926            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     927              : )
     928              :         {
     929            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail329;
     930            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail329;
     931            0 :           {
     932            0 :             tree res_op0;
     933            0 :             res_op0 = captures[0];
     934            0 :             tree res_op1;
     935            0 :             res_op1 = captures[3];
     936            0 :             tree res_op2;
     937            0 :             res_op2 =  build_zero_cst (type);
     938            0 :             tree _r;
     939            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     940            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 244, __FILE__, __LINE__, true);
     941            0 :             return _r;
     942              :           }
     943              : next_after_fail329:;
     944              :         }
     945              :     }
     946              :   return NULL_TREE;
     947              : }
     948              : 
     949              : tree
     950         5156 : generic_simplify_194 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     951              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     952              :  const enum tree_code ARG_UNUSED (op))
     953              : {
     954         5156 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     955         5156 :   {
     956         5156 :  poly_widest_int factor;
     957         5156 :       if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     958         5125 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
     959        10281 :  && multiple_p (wi::to_poly_widest (captures[3]), wi::to_widest (captures[1]), &factor)
     960              : )
     961              :         {
     962         5079 :           {
     963         5079 :  wi::overflow_type overflow;
     964         5079 :  wide_int mul;
     965         5079 :               if (types_match (type, TREE_TYPE (captures[2]))
     966         5033 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
     967            0 :  && TREE_CODE (captures[2]) == INTEGER_CST
     968            0 :  && TREE_CODE (captures[3]) == INTEGER_CST
     969         5079 :  && (mul = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[3]),
     970            0 :  TYPE_SIGN (type), &overflow),
     971            0 :  !overflow)
     972         5079 :  && (TYPE_UNSIGNED (type)
     973         5079 :  || known_eq (factor, 1)
     974            0 :  || (get_range_pos_neg (captures[0])
     975            0 :  | (((op == PLUS_EXPR) ^ (tree_int_cst_sgn (captures[2]) < 0))
     976            0 :  ? 1 : 2)) != 3)
     977              : )
     978              :                 {
     979            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail333;
     980            0 :                   {
     981            0 :                     tree res_op0;
     982            0 :                     {
     983            0 :                       tree _o1[2], _r1;
     984            0 :                       _o1[0] = captures[0];
     985            0 :                       _o1[1] =  wide_int_to_tree (type, factor);
     986            0 :                       _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     987            0 :                       res_op0 = _r1;
     988              :                     }
     989            0 :                     tree res_op1;
     990            0 :                     res_op1 =  wide_int_to_tree (type, mul);
     991            0 :                     tree _r;
     992            0 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     993            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
     994            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     995            0 :                     if (TREE_SIDE_EFFECTS (captures[2]))
     996            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     997            0 :                     if (TREE_SIDE_EFFECTS (captures[3]))
     998            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
     999            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 248, __FILE__, __LINE__, true);
    1000            0 :                     return _r;
    1001              :                   }
    1002            0 : next_after_fail333:;
    1003              :                 }
    1004              :               else
    1005              :                 {
    1006         5079 :                   {
    1007         5079 :  tree utype = unsigned_type_for (type);
    1008         5079 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail334;
    1009         5079 :                       {
    1010         5079 :                         tree res_op0;
    1011         5079 :                         {
    1012         5079 :                           tree _o1[2], _r1;
    1013         5079 :                           {
    1014         5079 :                             tree _o2[2], _r2;
    1015         5079 :                             {
    1016         5079 :                               tree _o3[1], _r3;
    1017         5079 :                               _o3[0] = captures[0];
    1018         5079 :                               if (TREE_TYPE (_o3[0]) != utype)
    1019              :                                 {
    1020         5079 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1021              :                                 }
    1022              :                               else
    1023              :                                 _r3 = _o3[0];
    1024         5079 :                               _o2[0] = _r3;
    1025              :                             }
    1026         5079 :                             _o2[1] =  wide_int_to_tree (utype, factor);
    1027         5079 :                             _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1028         5079 :                             _o1[0] = _r2;
    1029              :                           }
    1030         5079 :                           {
    1031         5079 :                             tree _o2[2], _r2;
    1032         5079 :                             {
    1033         5079 :                               tree _o3[1], _r3;
    1034         5079 :                               _o3[0] = captures[3];
    1035         5079 :                               if (TREE_TYPE (_o3[0]) != utype)
    1036              :                                 {
    1037           14 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1038              :                                 }
    1039              :                               else
    1040              :                                 _r3 = _o3[0];
    1041         5079 :                               _o2[0] = _r3;
    1042              :                             }
    1043         5079 :                             {
    1044         5079 :                               tree _o3[1], _r3;
    1045         5079 :                               _o3[0] = captures[2];
    1046         5079 :                               if (TREE_TYPE (_o3[0]) != utype)
    1047              :                                 {
    1048           46 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    1049              :                                 }
    1050              :                               else
    1051              :                                 _r3 = _o3[0];
    1052         5079 :                               _o2[1] = _r3;
    1053              :                             }
    1054         5079 :                             _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1055         5079 :                             _o1[1] = _r2;
    1056              :                           }
    1057         5079 :                           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1058         5079 :                           res_op0 = _r1;
    1059              :                         }
    1060         5079 :                         tree _r;
    1061         5079 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1062         5079 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1063            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1064         5079 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 249, __FILE__, __LINE__, true);
    1065         5079 :                         return _r;
    1066              :                       }
    1067            0 : next_after_fail334:;
    1068              :                   }
    1069              :                 }
    1070            0 :           }
    1071              :         }
    1072         5156 :   }
    1073           77 :   return NULL_TREE;
    1074              : }
    1075              : 
    1076              : tree
    1077            0 : generic_simplify_222 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1078              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1079              :  const enum tree_code ARG_UNUSED (op))
    1080              : {
    1081            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1082            0 :   if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1083            0 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1084            0 :  && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
    1085              : )
    1086              :     {
    1087            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail378;
    1088            0 :       {
    1089            0 :         tree res_op0;
    1090            0 :         res_op0 = captures[3];
    1091            0 :         tree res_op1;
    1092            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
    1093            0 :         tree _r;
    1094            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1095            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1096            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1097            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 288, __FILE__, __LINE__, true);
    1098            0 :         return _r;
    1099              :       }
    1100            0 : next_after_fail378:;
    1101              :     }
    1102              :   return NULL_TREE;
    1103              : }
    1104              : 
    1105              : tree
    1106            0 : generic_simplify_230 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1107              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1108              :  const enum tree_code ARG_UNUSED (cmp))
    1109              : {
    1110            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1111            0 :   if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1112            0 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1113              : )
    1114              :     {
    1115            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail386;
    1116            0 :       {
    1117            0 :         tree _r;
    1118            0 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1119            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1120            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1121            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1122            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1123            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1124            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1125            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 299, __FILE__, __LINE__, true);
    1126            0 :         return _r;
    1127              :       }
    1128            0 : next_after_fail386:;
    1129              :     }
    1130              :   else
    1131              :     {
    1132            0 :       if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1133            0 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1134              : )
    1135              :         {
    1136            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail387;
    1137            0 :           {
    1138            0 :             tree res_op0;
    1139            0 :             res_op0 = captures[0];
    1140            0 :             tree res_op1;
    1141            0 :             res_op1 = captures[2];
    1142            0 :             tree _r;
    1143            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1144            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1145            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1146            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 300, __FILE__, __LINE__, true);
    1147            0 :             return _r;
    1148              :           }
    1149            0 : next_after_fail387:;
    1150              :         }
    1151              :     }
    1152              :   return NULL_TREE;
    1153              : }
    1154              : 
    1155              : tree
    1156          391 : generic_simplify_241 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1157              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1158              :  const enum tree_code ARG_UNUSED (rotate),
    1159              :  const enum tree_code ARG_UNUSED (invrot),
    1160              :  const enum tree_code ARG_UNUSED (cmp))
    1161              : {
    1162          391 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1163          391 :   if (integer_zerop (captures[2]) || integer_all_onesp (captures[2])
    1164              : )
    1165              :     {
    1166            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail409;
    1167            0 :       {
    1168            0 :         tree res_op0;
    1169            0 :         res_op0 = captures[0];
    1170            0 :         tree res_op1;
    1171            0 :         res_op1 = captures[2];
    1172            0 :         tree _r;
    1173            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1174            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1175            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1176            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 322, __FILE__, __LINE__, true);
    1177            0 :         return _r;
    1178              :       }
    1179            0 : next_after_fail409:;
    1180              :     }
    1181              :   return NULL_TREE;
    1182              : }
    1183              : 
    1184              : tree
    1185        14261 : generic_simplify_248 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1186              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1187              :  const enum tree_code ARG_UNUSED (cmp))
    1188              : {
    1189        14261 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1190        14261 :   if (single_use (captures[0])
    1191              : )
    1192              :     {
    1193        14261 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail417;
    1194        14261 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail417;
    1195        14261 :       {
    1196        14261 :         tree res_op0;
    1197        14261 :         res_op0 = captures[1];
    1198        14261 :         tree res_op1;
    1199        14261 :         res_op1 = captures[2];
    1200        14261 :         tree _r;
    1201        14261 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1202        14261 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 329, __FILE__, __LINE__, true);
    1203        14261 :         return _r;
    1204              :       }
    1205              : next_after_fail417:;
    1206              :     }
    1207              :   return NULL_TREE;
    1208              : }
    1209              : 
    1210              : tree
    1211           20 : generic_simplify_255 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1212              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1213              :  const enum tree_code ARG_UNUSED (cmp))
    1214              : {
    1215           20 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1216           20 :   if (single_use (captures[1]) && single_use (captures[3])
    1217              : )
    1218              :     {
    1219           20 :       {
    1220           20 :  tree otype = TREE_TYPE (captures[0]);
    1221           20 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail429;
    1222           20 :           {
    1223           20 :             tree res_op0;
    1224           20 :             {
    1225           20 :               tree _o1[1], _r1;
    1226           20 :               _o1[0] = captures[4];
    1227           20 :               if (TREE_TYPE (_o1[0]) != otype)
    1228              :                 {
    1229            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1230              :                 }
    1231              :               else
    1232              :                 _r1 = _o1[0];
    1233           20 :               res_op0 = _r1;
    1234              :             }
    1235           20 :             tree res_op1;
    1236           20 :             {
    1237           20 :               tree _o1[1], _r1;
    1238           20 :               _o1[0] = captures[2];
    1239           20 :               if (TREE_TYPE (_o1[0]) != otype)
    1240              :                 {
    1241            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1242              :                 }
    1243              :               else
    1244              :                 _r1 = _o1[0];
    1245           20 :               res_op1 = _r1;
    1246              :             }
    1247           20 :             tree _r;
    1248           20 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1249           20 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 339, __FILE__, __LINE__, true);
    1250           20 :             return _r;
    1251              :           }
    1252            0 : next_after_fail429:;
    1253              :       }
    1254              :     }
    1255            0 :   return NULL_TREE;
    1256              : }
    1257              : 
    1258              : tree
    1259            6 : generic_simplify_260 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1260              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1261              :  const combined_fn ARG_UNUSED (sq),
    1262              :  const enum tree_code ARG_UNUSED (cmp))
    1263              : {
    1264            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1265            6 :   if (flag_unsafe_math_optimizations && ! flag_errno_math
    1266              : )
    1267              :     {
    1268            0 :       if (! HONOR_NANS (captures[0])
    1269              : )
    1270              :         {
    1271            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail466;
    1272            0 :           {
    1273            0 :             tree res_op0;
    1274            0 :             res_op0 = captures[0];
    1275            0 :             tree res_op1;
    1276            0 :             res_op1 = captures[1];
    1277            0 :             tree _r;
    1278            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1279            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 377, __FILE__, __LINE__, true);
    1280            0 :             return _r;
    1281              :           }
    1282            0 : next_after_fail466:;
    1283              :         }
    1284              :     }
    1285              :   return NULL_TREE;
    1286              : }
    1287              : 
    1288              : tree
    1289         2733 : generic_simplify_265 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1290              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1291              :  const enum tree_code ARG_UNUSED (cmp),
    1292              :  const enum tree_code ARG_UNUSED (scmp))
    1293              : {
    1294         2733 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1295         5096 :   if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1296         5096 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1297         2363 :  && (cmp == EQ_EXPR
    1298         2363 :  || cmp == NE_EXPR
    1299         1588 :  || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    1300              : )
    1301              :     {
    1302         1579 :       {
    1303         1579 :  tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (captures[0]), captures[1]);
    1304         1579 :           if (tem && !TREE_OVERFLOW (tem)
    1305              : )
    1306              :             {
    1307         1551 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail480;
    1308         1551 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail480;
    1309         1551 :               {
    1310         1551 :                 tree res_op0;
    1311         1551 :                 res_op0 = captures[0];
    1312         1551 :                 tree res_op1;
    1313         1551 :                 res_op1 =  tem;
    1314         1551 :                 tree _r;
    1315         1551 :                 _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1316         1551 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 391, __FILE__, __LINE__, true);
    1317         1551 :                 return _r;
    1318              :               }
    1319              : next_after_fail480:;
    1320              :             }
    1321              :       }
    1322              :     }
    1323              :   return NULL_TREE;
    1324              : }
    1325              : 
    1326              : tree
    1327          697 : generic_simplify_268 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1328              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1329              :  const enum tree_code ARG_UNUSED (cmp))
    1330              : {
    1331          697 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1332          697 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1333         1394 :  && wi::bit_and_not (wi::to_wide (captures[2]), wi::to_wide (captures[3])) != 0
    1334              : )
    1335              :     {
    1336            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail497;
    1337            0 :       {
    1338            0 :         tree _r;
    1339            0 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1340            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1341            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1342            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1343            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1344            0 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1345            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1346            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 400, __FILE__, __LINE__, true);
    1347            0 :         return _r;
    1348              :       }
    1349            0 : next_after_fail497:;
    1350              :     }
    1351              :   return NULL_TREE;
    1352              : }
    1353              : 
    1354              : tree
    1355           62 : generic_simplify_271 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1356              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1357              :  const enum tree_code ARG_UNUSED (cmp))
    1358              : {
    1359           62 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1360           62 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail503;
    1361           62 :   {
    1362           62 :     tree res_op0;
    1363           62 :     res_op0 = captures[1];
    1364           62 :     tree res_op1;
    1365           62 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1366           62 :     tree _r;
    1367           62 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1368           62 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1369            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1370           62 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 406, __FILE__, __LINE__, true);
    1371              :     return _r;
    1372              :   }
    1373            0 : next_after_fail503:;
    1374            0 :   return NULL_TREE;
    1375              : }
    1376              : 
    1377              : tree
    1378           26 : generic_simplify_275 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1379              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1380              :  const enum tree_code ARG_UNUSED (cmp))
    1381              : {
    1382           26 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1383           26 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1384              : )
    1385              :     {
    1386           26 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail507;
    1387           26 :       {
    1388           26 :         tree res_op0;
    1389           26 :         res_op0 = captures[1];
    1390           26 :         tree res_op1;
    1391           26 :         {
    1392           26 :           tree _o1[2], _r1;
    1393           26 :           _o1[0] = captures[2];
    1394           26 :           {
    1395           26 :             tree _o2[1], _r2;
    1396           26 :             _o2[0] = captures[3];
    1397           26 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
    1398              :               {
    1399            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
    1400              :               }
    1401              :             else
    1402              :               _r2 = _o2[0];
    1403           26 :             _o1[1] = _r2;
    1404              :           }
    1405           26 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1406           26 :           res_op1 = _r1;
    1407              :         }
    1408           26 :         tree _r;
    1409           26 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1410           26 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 410, __FILE__, __LINE__, true);
    1411           26 :         return _r;
    1412              :       }
    1413            0 : next_after_fail507:;
    1414              :     }
    1415              :   return NULL_TREE;
    1416              : }
    1417              : 
    1418              : tree
    1419       105533 : generic_simplify_279 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1420              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1421              :  const enum tree_code ARG_UNUSED (cmp),
    1422              :  const enum tree_code ARG_UNUSED (ncmp))
    1423              : {
    1424       105533 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1425       210647 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1426        58949 :  && type_has_mode_precision_p (TREE_TYPE (captures[1]))
    1427        58016 :  && element_precision (captures[0]) >= element_precision (captures[1])
    1428       211066 :  && wi::only_sign_bit_p (wi::to_wide (captures[2]), element_precision (captures[1]))
    1429              : )
    1430              :     {
    1431         4907 :       {
    1432         4907 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1433         4907 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail511;
    1434         4907 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail511;
    1435         4907 :           {
    1436         4907 :             tree res_op0;
    1437         4907 :             {
    1438         4907 :               tree _o1[1], _r1;
    1439         4907 :               _o1[0] = captures[1];
    1440         4907 :               if (TREE_TYPE (_o1[0]) != stype)
    1441              :                 {
    1442         4255 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1443              :                 }
    1444              :               else
    1445              :                 _r1 = _o1[0];
    1446         4907 :               res_op0 = _r1;
    1447              :             }
    1448         4907 :             tree res_op1;
    1449         4907 :             res_op1 =  build_zero_cst (stype);
    1450         4907 :             tree _r;
    1451         4907 :             _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1452         4907 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1453            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1454         4907 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 414, __FILE__, __LINE__, true);
    1455         4907 :             return _r;
    1456              :           }
    1457              : next_after_fail511:;
    1458              :       }
    1459              :     }
    1460              :   return NULL_TREE;
    1461              : }
    1462              : 
    1463              : tree
    1464      3019639 : generic_simplify_285 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1465              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1466              :  const enum tree_code ARG_UNUSED (cmp))
    1467              : {
    1468      3019639 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1469      3019639 :   {
    1470      3019639 :  poly_int64 off0, off1;
    1471      3019639 :  tree base0, base1;
    1472      3019639 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[2], base0, base1,
    1473              :  off0, off1,
    1474              : 1
    1475              : );
    1476      3019639 :       if (equal == 1
    1477              : )
    1478              :         {
    1479      2984935 :           if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
    1480              : )
    1481              :             {
    1482       194163 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail517;
    1483       194163 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail517;
    1484       194163 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail517;
    1485       194163 :               {
    1486       194163 :                 tree _r;
    1487       194163 :                 _r =  constant_boolean_node (known_eq (off0, off1), type);
    1488       194163 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 418, __FILE__, __LINE__, true);
    1489      3002851 :                 return _r;
    1490              :               }
    1491        16788 : next_after_fail517:;
    1492              :             }
    1493              :           else
    1494              :             {
    1495      2733220 :               if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
    1496              : )
    1497              :                 {
    1498      2733220 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail518;
    1499      2733220 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail518;
    1500      2733220 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail518;
    1501      2733220 :                   {
    1502      2733220 :                     tree _r;
    1503      2733220 :                     _r =  constant_boolean_node (known_ne (off0, off1), type);
    1504      2733220 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 419, __FILE__, __LINE__, true);
    1505      2733220 :                     return _r;
    1506              :                   }
    1507        16788 : next_after_fail518:;
    1508              :                 }
    1509              :               else
    1510              :                 {
    1511        50513 :                   if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
    1512              : )
    1513              :                     {
    1514        50513 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail519;
    1515        50513 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail519;
    1516        50513 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail519;
    1517        50513 :                       {
    1518        50513 :                         tree _r;
    1519        50513 :                         _r =  constant_boolean_node (known_lt (off0, off1), type);
    1520        50513 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 420, __FILE__, __LINE__, true);
    1521        50513 :                         return _r;
    1522              :                       }
    1523        16788 : next_after_fail519:;
    1524              :                     }
    1525              :                   else
    1526              :                     {
    1527         5332 :                       if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
    1528              : )
    1529              :                         {
    1530         5332 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail520;
    1531         5332 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail520;
    1532         5332 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail520;
    1533         5332 :                           {
    1534         5332 :                             tree _r;
    1535         5332 :                             _r =  constant_boolean_node (known_le (off0, off1), type);
    1536         5332 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 421, __FILE__, __LINE__, true);
    1537         5332 :                             return _r;
    1538              :                           }
    1539        16788 : next_after_fail520:;
    1540              :                         }
    1541              :                       else
    1542              :                         {
    1543         1207 :                           if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
    1544              : )
    1545              :                             {
    1546         1207 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail521;
    1547         1207 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail521;
    1548         1207 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail521;
    1549         1207 :                               {
    1550         1207 :                                 tree _r;
    1551         1207 :                                 _r =  constant_boolean_node (known_ge (off0, off1), type);
    1552         1207 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 422, __FILE__, __LINE__, true);
    1553         1207 :                                 return _r;
    1554              :                               }
    1555        16788 : next_after_fail521:;
    1556              :                             }
    1557              :                           else
    1558              :                             {
    1559          500 :                               if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
    1560              : )
    1561              :                                 {
    1562          500 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail522;
    1563          500 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail522;
    1564          500 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail522;
    1565          500 :                                   {
    1566          500 :                                     tree _r;
    1567          500 :                                     _r =  constant_boolean_node (known_gt (off0, off1), type);
    1568          500 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 423, __FILE__, __LINE__, true);
    1569          500 :                                     return _r;
    1570              :                                   }
    1571        16788 : next_after_fail522:;
    1572              :                                 }
    1573              :                             }
    1574              :                         }
    1575              :                     }
    1576              :                 }
    1577              :             }
    1578              :         }
    1579              :       else
    1580              :         {
    1581        34704 :           if (equal == 0
    1582              : )
    1583              :             {
    1584        17916 :               if (cmp == EQ_EXPR
    1585              : )
    1586              :                 {
    1587        11875 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail523;
    1588        11875 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail523;
    1589        11875 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail523;
    1590        11875 :                   {
    1591        11875 :                     tree _r;
    1592        11875 :                     _r =  constant_boolean_node (false, type);
    1593        11875 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 424, __FILE__, __LINE__, true);
    1594        11875 :                     return _r;
    1595              :                   }
    1596        16788 : next_after_fail523:;
    1597              :                 }
    1598              :               else
    1599              :                 {
    1600         6041 :                   if (cmp == NE_EXPR
    1601              : )
    1602              :                     {
    1603         6041 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail524;
    1604         6041 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail524;
    1605         6041 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail524;
    1606         6041 :                       {
    1607         6041 :                         tree _r;
    1608         6041 :                         _r =  constant_boolean_node (true, type);
    1609         6041 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 425, __FILE__, __LINE__, true);
    1610         6041 :                         return _r;
    1611              :                       }
    1612        16788 : next_after_fail524:;
    1613              :                     }
    1614              :                 }
    1615              :             }
    1616              :         }
    1617              :   }
    1618        16788 :   return NULL_TREE;
    1619              : }
    1620              : 
    1621              : tree
    1622       285054 : generic_simplify_300 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1623              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1624              :  const enum tree_code ARG_UNUSED (cmp),
    1625              :  const enum tree_code ARG_UNUSED (icmp),
    1626              :  const enum tree_code ARG_UNUSED (ncmp))
    1627              : {
    1628       285054 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1629       285054 :   if (types_match (type, TREE_TYPE (captures[0]))
    1630              : )
    1631              :     {
    1632        46737 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail565;
    1633        46737 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail565;
    1634        46737 :       {
    1635        46737 :         tree res_op0;
    1636        46737 :         res_op0 = captures[1];
    1637        46737 :         tree res_op1;
    1638        46737 :         res_op1 = captures[2];
    1639        46737 :         tree _r;
    1640        46737 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1641        46737 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 458, __FILE__, __LINE__, true);
    1642        46737 :         return _r;
    1643              :       }
    1644              : next_after_fail565:;
    1645              :     }
    1646              :   return NULL_TREE;
    1647              : }
    1648              : 
    1649              : tree
    1650            0 : generic_simplify_305 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1651              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1652              :  const combined_fn ARG_UNUSED (copysigns))
    1653              : {
    1654            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1655            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail571;
    1656            0 :   {
    1657            0 :     tree res_op0;
    1658            0 :     res_op0 = captures[0];
    1659            0 :     tree res_op1;
    1660            0 :     res_op1 = captures[2];
    1661            0 :     tree _r;
    1662            0 :     _r = maybe_build_call_expr_loc (loc, copysigns, type, 2, res_op0, res_op1);
    1663            0 :     if (!_r)
    1664            0 :       goto next_after_fail571;
    1665            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1666            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1667            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 464, __FILE__, __LINE__, true);
    1668              :     return _r;
    1669              :   }
    1670              : next_after_fail571:;
    1671              :   return NULL_TREE;
    1672              : }
    1673              : 
    1674              : tree
    1675         2749 : generic_simplify_312 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1676              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1677              :  const enum tree_code ARG_UNUSED (div))
    1678              : {
    1679         2749 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1680         2749 :   if (!TYPE_UNSIGNED (type)
    1681              : )
    1682              :     {
    1683         1683 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail580;
    1684         1683 :       {
    1685         1683 :         tree res_op0;
    1686         1683 :         res_op0 = captures[0];
    1687         1683 :         tree _r;
    1688         1683 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    1689         1683 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1690            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1691         1683 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 471, __FILE__, __LINE__, true);
    1692         1683 :         return _r;
    1693              :       }
    1694            0 : next_after_fail580:;
    1695              :     }
    1696              :   return NULL_TREE;
    1697              : }
    1698              : 
    1699              : tree
    1700        45672 : generic_simplify_318 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1701              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1702              :  const enum tree_code ARG_UNUSED (div))
    1703              : {
    1704        45672 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1705        45672 :   if (integer_pow2p (captures[2])
    1706        36610 :  && tree_int_cst_sgn (captures[2]) > 0
    1707        36610 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    1708        91344 :  && wi::to_wide (captures[2]) + wi::to_wide (captures[1]) == 0
    1709              : )
    1710              :     {
    1711            1 :       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail587;
    1712            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail587;
    1713            1 :       {
    1714            1 :         tree res_op0;
    1715            1 :         {
    1716            1 :           tree _o1[1], _r1;
    1717            1 :           _o1[0] = captures[0];
    1718            1 :           if (TREE_TYPE (_o1[0]) != type)
    1719              :             {
    1720            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1721              :             }
    1722              :           else
    1723              :             _r1 = _o1[0];
    1724            1 :           res_op0 = _r1;
    1725              :         }
    1726            1 :         tree res_op1;
    1727            1 :         res_op1 =  build_int_cst (integer_type_node,
    1728            1 :  wi::exact_log2 (wi::to_wide (captures[2])));
    1729            1 :         tree _r;
    1730            1 :         _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    1731            1 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1732            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1733            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 478, __FILE__, __LINE__, true);
    1734            1 :         return _r;
    1735              :       }
    1736              : next_after_fail587:;
    1737              :     }
    1738              :   return NULL_TREE;
    1739              : }
    1740              : 
    1741              : tree
    1742          529 : generic_simplify_325 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1743              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1744              :  const enum tree_code ARG_UNUSED (mod))
    1745              : {
    1746          529 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1747          529 :   if (!TYPE_UNSIGNED (type)
    1748              : )
    1749              :     {
    1750           20 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail594;
    1751           20 :       {
    1752           20 :         tree _r;
    1753           20 :         _r =  build_zero_cst (type);
    1754           20 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1755            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1756           20 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1757            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1758           20 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 485, __FILE__, __LINE__, true);
    1759           20 :         return _r;
    1760              :       }
    1761            0 : next_after_fail594:;
    1762              :     }
    1763              :   return NULL_TREE;
    1764              : }
    1765              : 
    1766              : tree
    1767            6 : generic_simplify_337 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1768              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1769              :  const combined_fn ARG_UNUSED (COS),
    1770              :  const combined_fn ARG_UNUSED (SIN),
    1771              :  const combined_fn ARG_UNUSED (TAN))
    1772              : {
    1773            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1774            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1775              : )
    1776              :     {
    1777            6 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail608;
    1778            6 :       {
    1779            6 :         tree res_op0;
    1780            6 :         res_op0 =  build_one_cst (type);
    1781            6 :         tree res_op1;
    1782            6 :         {
    1783            6 :           tree _o1[1], _r1;
    1784            6 :           _o1[0] = captures[1];
    1785            6 :           _r1 = maybe_build_call_expr_loc (loc, TAN, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1786            6 :           if (!_r1)
    1787            0 :             goto next_after_fail608;
    1788            6 :           res_op1 = _r1;
    1789              :         }
    1790            6 :         tree _r;
    1791            6 :         _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1792            6 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 499, __FILE__, __LINE__, true);
    1793            6 :         return _r;
    1794              :       }
    1795              : next_after_fail608:;
    1796              :     }
    1797              :   return NULL_TREE;
    1798              : }
    1799              : 
    1800              : tree
    1801            2 : generic_simplify_345 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1802              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1803              :  const enum tree_code ARG_UNUSED (cmp),
    1804              :  const enum tree_code ARG_UNUSED (minmax))
    1805              : {
    1806            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1807            2 :   {
    1808            2 :  tree_code code = minmax_from_comparison (cmp, captures[0], captures[3], captures[0], captures[1]);
    1809            2 :       if (code == MIN_EXPR
    1810              : )
    1811              :         {
    1812            0 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail619;
    1813            0 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail619;
    1814            0 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail619;
    1815            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail619;
    1816            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail619;
    1817            0 :           {
    1818            0 :             tree res_op0;
    1819            0 :             {
    1820            0 :               tree _o1[2], _r1;
    1821            0 :               _o1[0] = captures[0];
    1822            0 :               _o1[1] = captures[3];
    1823            0 :               _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1824            0 :               res_op0 = _r1;
    1825              :             }
    1826            0 :             tree res_op1;
    1827            0 :             res_op1 = captures[2];
    1828            0 :             tree _r;
    1829            0 :             _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    1830            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 510, __FILE__, __LINE__, true);
    1831            0 :             return _r;
    1832              :           }
    1833              : next_after_fail619:;
    1834              :         }
    1835              :       else
    1836              :         {
    1837            2 :           if (code == MAX_EXPR
    1838              : )
    1839              :             {
    1840            2 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail620;
    1841            2 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail620;
    1842            2 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail620;
    1843            2 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail620;
    1844            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail620;
    1845            2 :               {
    1846            2 :                 tree res_op0;
    1847            2 :                 {
    1848            2 :                   tree _o1[2], _r1;
    1849            2 :                   _o1[0] = captures[0];
    1850            2 :                   _o1[1] = captures[3];
    1851            2 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1852            2 :                   res_op0 = _r1;
    1853              :                 }
    1854            2 :                 tree res_op1;
    1855            2 :                 res_op1 = captures[2];
    1856            2 :                 tree _r;
    1857            2 :                 _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    1858            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 511, __FILE__, __LINE__, true);
    1859            2 :                 return _r;
    1860              :               }
    1861              : next_after_fail620:;
    1862              :             }
    1863              :         }
    1864              :   }
    1865              :   return NULL_TREE;
    1866              : }
    1867              : 
    1868              : tree
    1869           15 : generic_simplify_358 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1870              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1871              :  const enum tree_code ARG_UNUSED (op))
    1872              : {
    1873           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1874           15 :   if (INTEGRAL_TYPE_P (type)
    1875           15 :  && TYPE_PRECISION (type) > 1
    1876           15 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1877           30 :  && expr_no_side_effects_p (captures[1])
    1878              : )
    1879              :     {
    1880            8 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail635;
    1881            8 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail635;
    1882            8 :       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail635;
    1883            8 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail635;
    1884            8 :       {
    1885            8 :         tree res_op0;
    1886            8 :         {
    1887            8 :           tree _o1[2], _r1;
    1888            8 :           {
    1889            8 :             tree _o2[1], _r2;
    1890            8 :             _o2[0] = captures[0];
    1891            8 :             if (TREE_TYPE (_o2[0]) != type)
    1892              :               {
    1893            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1894              :               }
    1895              :             else
    1896              :               _r2 = _o2[0];
    1897            8 :             _o1[0] = _r2;
    1898              :           }
    1899            8 :           _o1[1] = captures[1];
    1900            8 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1901            8 :           res_op0 = _r1;
    1902              :         }
    1903            8 :         tree res_op1;
    1904            8 :         res_op1 = captures[2];
    1905            8 :         tree _r;
    1906            8 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1907            8 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 526, __FILE__, __LINE__, true);
    1908            8 :         return _r;
    1909              :       }
    1910              : next_after_fail635:;
    1911              :     }
    1912              :   return NULL_TREE;
    1913              : }
    1914              : 
    1915              : tree
    1916           22 : generic_simplify_373 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1917              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1918              :  const enum tree_code ARG_UNUSED (cmp))
    1919              : {
    1920           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1921           22 :   if (INTEGRAL_TYPE_P (type)
    1922           22 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1923           22 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1924           44 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
    1925              : )
    1926              :     {
    1927           22 :       {
    1928           22 :  tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
    1929           22 :           if (cmp == LT_EXPR
    1930              : )
    1931              :             {
    1932           13 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail651;
    1933           13 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail651;
    1934           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail651;
    1935           13 :               {
    1936           13 :                 tree res_op0;
    1937           13 :                 {
    1938           13 :                   tree _o1[1], _r1;
    1939           13 :                   {
    1940           13 :                     tree _o2[2], _r2;
    1941           13 :                     _o2[0] = captures[0];
    1942           13 :                     _o2[1] = shifter;
    1943           13 :                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1944           13 :                     _o1[0] = _r2;
    1945              :                   }
    1946           13 :                   if (TREE_TYPE (_o1[0]) != type)
    1947              :                     {
    1948            1 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1949              :                     }
    1950              :                   else
    1951              :                     _r1 = _o1[0];
    1952           13 :                   res_op0 = _r1;
    1953              :                 }
    1954           13 :                 tree res_op1;
    1955           13 :                 res_op1 = captures[1];
    1956           13 :                 tree _r;
    1957           13 :                 _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    1958           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 540, __FILE__, __LINE__, true);
    1959           13 :                 return _r;
    1960              :               }
    1961              : next_after_fail651:;
    1962              :             }
    1963              :           else
    1964              :             {
    1965            9 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail652;
    1966            9 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail652;
    1967            9 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail652;
    1968            9 :               {
    1969            9 :                 tree res_op0;
    1970            9 :                 {
    1971            9 :                   tree _o1[2], _r1;
    1972            9 :                   {
    1973            9 :                     tree _o2[1], _r2;
    1974            9 :                     {
    1975            9 :                       tree _o3[2], _r3;
    1976            9 :                       _o3[0] = captures[0];
    1977            9 :                       _o3[1] = shifter;
    1978            9 :                       _r3 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    1979            9 :                       _o2[0] = _r3;
    1980              :                     }
    1981            9 :                     if (TREE_TYPE (_o2[0]) != type)
    1982              :                       {
    1983            1 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1984              :                       }
    1985              :                     else
    1986              :                       _r2 = _o2[0];
    1987            9 :                     _o1[0] = _r2;
    1988              :                   }
    1989            9 :                   _o1[1] = captures[1];
    1990            9 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1991            9 :                   res_op0 = _r1;
    1992              :                 }
    1993            9 :                 tree _r;
    1994            9 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    1995            9 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 541, __FILE__, __LINE__, true);
    1996            9 :                 return _r;
    1997              :               }
    1998              : next_after_fail652:;
    1999              :             }
    2000              :       }
    2001              :     }
    2002              :   return NULL_TREE;
    2003              : }
    2004              : 
    2005              : tree
    2006            0 : generic_simplify_392 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2007              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2008              :  const enum tree_code ARG_UNUSED (cmp),
    2009              :  const enum tree_code ARG_UNUSED (cmp2))
    2010              : {
    2011            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2012            0 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    2013            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2014            0 :  && wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    2015              : )
    2016              :     {
    2017            0 :       {
    2018            0 :  tree utype = TREE_TYPE (captures[2]);
    2019            0 :  wide_int denom = wi::to_wide (captures[1]);
    2020            0 :  wide_int right = wi::to_wide (captures[2]);
    2021            0 :  wide_int smax = wi::sdiv_trunc (wi::max_value (TREE_TYPE (captures[0])), denom);
    2022            0 :  wide_int smin = wi::sdiv_trunc (wi::min_value (TREE_TYPE (captures[0])), denom);
    2023            0 :  bool small = wi::leu_p (right, smax);
    2024            0 :  bool large = wi::geu_p (right, smin);
    2025            0 :           if (small || large
    2026              : )
    2027              :             {
    2028            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail676;
    2029            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail676;
    2030            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail676;
    2031            0 :               {
    2032            0 :                 tree res_op0;
    2033            0 :                 {
    2034            0 :                   tree _o1[1], _r1;
    2035            0 :                   _o1[0] = captures[0];
    2036            0 :                   if (TREE_TYPE (_o1[0]) != utype)
    2037              :                     {
    2038            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    2039              :                     }
    2040              :                   else
    2041              :                     _r1 = _o1[0];
    2042            0 :                   res_op0 = _r1;
    2043              :                 }
    2044            0 :                 tree res_op1;
    2045            0 :                 {
    2046            0 :                   tree _o1[2], _r1;
    2047            0 :                   _o1[0] = captures[2];
    2048            0 :                   {
    2049            0 :                     tree _o2[1], _r2;
    2050            0 :                     _o2[0] = captures[1];
    2051            0 :                     if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
    2052              :                       {
    2053            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
    2054              :                       }
    2055              :                     else
    2056              :                       _r2 = _o2[0];
    2057            0 :                     _o1[1] = _r2;
    2058              :                   }
    2059            0 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2060            0 :                   res_op1 = _r1;
    2061              :                 }
    2062            0 :                 tree _r;
    2063            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2064            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 565, __FILE__, __LINE__, true);
    2065            0 :                 return _r;
    2066              :               }
    2067            0 : next_after_fail676:;
    2068              :             }
    2069              :           else
    2070              :             {
    2071            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail677;
    2072            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail677;
    2073            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail677;
    2074            0 :               {
    2075            0 :                 tree res_op0;
    2076            0 :                 res_op0 = captures[0];
    2077            0 :                 tree res_op1;
    2078            0 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    2079            0 :                 tree _r;
    2080            0 :                 _r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
    2081            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 566, __FILE__, __LINE__, true);
    2082            0 :                 return _r;
    2083              :               }
    2084            0 : next_after_fail677:;
    2085              :             }
    2086            0 :       }
    2087              :     }
    2088              :   return NULL_TREE;
    2089              : }
    2090              : 
    2091              : tree
    2092            0 : generic_simplify_408 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2093              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2094              :  const enum tree_code ARG_UNUSED (cmp))
    2095              : {
    2096            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2097            0 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2098            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2099              : )
    2100              :     {
    2101            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail730;
    2102            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail730;
    2103            0 :       {
    2104            0 :         tree res_op0;
    2105            0 :         res_op0 = captures[1];
    2106            0 :         tree res_op1;
    2107            0 :         res_op1 = captures[0];
    2108            0 :         tree _r;
    2109            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2110            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 584, __FILE__, __LINE__, true);
    2111            0 :         return _r;
    2112              :       }
    2113              : next_after_fail730:;
    2114              :     }
    2115              :   return NULL_TREE;
    2116              : }
    2117              : 
    2118              : tree
    2119            0 : generic_simplify_412 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2120              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2121              :  const combined_fn ARG_UNUSED (logs),
    2122              :  const combined_fn ARG_UNUSED (exps),
    2123              :  const enum tree_code ARG_UNUSED (cmp))
    2124              : {
    2125            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2126            0 :   if (flag_unsafe_math_optimizations
    2127              : )
    2128              :     {
    2129            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2130            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    2131            0 :  && ! flag_trapping_math
    2132            0 :  && ! flag_errno_math
    2133              : )
    2134              :         {
    2135            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail734;
    2136            0 :           {
    2137            0 :             tree res_op0;
    2138            0 :             res_op0 = captures[1];
    2139            0 :             tree res_op1;
    2140            0 :             {
    2141            0 :               tree _o1[1], _r1;
    2142            0 :               _o1[0] = captures[2];
    2143            0 :               _r1 = maybe_build_call_expr_loc (loc, exps, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2144            0 :               if (!_r1)
    2145            0 :                 goto next_after_fail734;
    2146            0 :               if (EXPR_P (_r1))
    2147            0 :                 goto next_after_fail734;
    2148            0 :               res_op1 = _r1;
    2149              :             }
    2150            0 :             tree _r;
    2151            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2152            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 602, __FILE__, __LINE__, true);
    2153            0 :             return _r;
    2154              :           }
    2155              : next_after_fail734:;
    2156              :         }
    2157              :     }
    2158              :   return NULL_TREE;
    2159              : }
    2160              : 
    2161              : tree
    2162          330 : generic_simplify_420 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2163              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2164              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2165              : {
    2166          330 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2167          330 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail746;
    2168          330 :   {
    2169          330 :     tree _r;
    2170          330 :     _r = captures[0];
    2171          330 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2172           42 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2173          330 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 614, __FILE__, __LINE__, true);
    2174              :     return _r;
    2175              :   }
    2176            0 : next_after_fail746:;
    2177            0 :   return NULL_TREE;
    2178              : }
    2179              : 
    2180              : tree
    2181           18 : generic_simplify_424 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2182              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2183              :  const enum tree_code ARG_UNUSED (bit_op),
    2184              :  const enum tree_code ARG_UNUSED (shift))
    2185              : {
    2186           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2187           18 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
    2188              : )
    2189              :     {
    2190           16 :       {
    2191           16 :  tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
    2192           16 :           if (mask
    2193              : )
    2194              :             {
    2195           16 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail753;
    2196           16 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail753;
    2197           16 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail753;
    2198           16 :               {
    2199           16 :                 tree res_op0;
    2200           16 :                 {
    2201           16 :                   tree _o1[2], _r1;
    2202           16 :                   {
    2203           16 :                     tree _o2[1], _r2;
    2204           16 :                     _o2[0] = captures[2];
    2205           16 :                     if (TREE_TYPE (_o2[0]) != type)
    2206              :                       {
    2207           16 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    2208              :                       }
    2209              :                     else
    2210              :                       _r2 = _o2[0];
    2211           16 :                     _o1[0] = _r2;
    2212              :                   }
    2213           16 :                   _o1[1] = captures[4];
    2214           16 :                   _r1 = fold_build2_loc (loc, shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2215           16 :                   res_op0 = _r1;
    2216              :                 }
    2217           16 :                 tree res_op1;
    2218           16 :                 res_op1 =  mask;
    2219           16 :                 tree _r;
    2220           16 :                 _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2221           16 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 620, __FILE__, __LINE__, true);
    2222           16 :                 return _r;
    2223              :               }
    2224              : next_after_fail753:;
    2225              :             }
    2226              :       }
    2227              :     }
    2228              :   return NULL_TREE;
    2229              : }
    2230              : 
    2231              : tree
    2232         2297 : generic_simplify_430 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2233              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2234              :  const enum tree_code ARG_UNUSED (eqne))
    2235              : {
    2236         2297 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2237         2297 :   if ((integer_zerop (captures[1]) || integer_onep (captures[1]))
    2238              : )
    2239              :     {
    2240         2295 :       if ((eqne == EQ_EXPR) ^ integer_zerop (captures[1])
    2241              : )
    2242              :         {
    2243         1541 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail764;
    2244         1541 :           {
    2245         1541 :             tree res_op0;
    2246         1541 :             res_op0 = captures[0];
    2247         1541 :             tree _r;
    2248         1541 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2249         1541 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2250            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2251         1541 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 630, __FILE__, __LINE__, true);
    2252         1541 :             return _r;
    2253              :           }
    2254            0 : next_after_fail764:;
    2255              :         }
    2256              :       else
    2257              :         {
    2258          754 :           if (types_match (type, TREE_TYPE (captures[0]))
    2259              : )
    2260              :             {
    2261           41 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail765;
    2262           41 :               {
    2263           41 :                 tree res_op0;
    2264           41 :                 res_op0 = captures[0];
    2265           41 :                 tree res_op1;
    2266           41 :                 res_op1 =  build_one_cst (type);
    2267           41 :                 tree _r;
    2268           41 :                 _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    2269           41 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2270            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2271           41 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 631, __FILE__, __LINE__, true);
    2272           41 :                 return _r;
    2273              :               }
    2274            0 : next_after_fail765:;
    2275              :             }
    2276              :         }
    2277              :     }
    2278              :   return NULL_TREE;
    2279              : }
    2280              : 
    2281              : tree
    2282            0 : generic_simplify_437 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2283              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2284              :  const combined_fn ARG_UNUSED (copysigns),
    2285              :  const combined_fn ARG_UNUSED (coss))
    2286              : {
    2287            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2288            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail784;
    2289            0 :   {
    2290            0 :     tree res_op0;
    2291            0 :     res_op0 = captures[0];
    2292            0 :     tree _r;
    2293            0 :     _r = maybe_build_call_expr_loc (loc, coss, type, 1, res_op0);
    2294            0 :     if (!_r)
    2295            0 :       goto next_after_fail784;
    2296            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2297            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2298            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 638, __FILE__, __LINE__, true);
    2299              :     return _r;
    2300              :   }
    2301              : next_after_fail784:;
    2302              :   return NULL_TREE;
    2303              : }
    2304              : 
    2305              : tree
    2306            0 : generic_simplify_440 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2307              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2308              :  const combined_fn ARG_UNUSED (copysigns),
    2309              :  const combined_fn ARG_UNUSED (pows))
    2310              : {
    2311            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2312            0 :   {
    2313            0 :  HOST_WIDE_INT n;
    2314            0 :       if (real_isinteger (&TREE_REAL_CST (captures[2]), &n) && (n & 1) == 0
    2315              : )
    2316              :         {
    2317            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail787;
    2318            0 :           {
    2319            0 :             tree res_op0;
    2320            0 :             res_op0 = captures[0];
    2321            0 :             tree res_op1;
    2322            0 :             res_op1 = captures[2];
    2323            0 :             tree _r;
    2324            0 :             _r = maybe_build_call_expr_loc (loc, pows, type, 2, res_op0, res_op1);
    2325            0 :             if (!_r)
    2326            0 :               goto next_after_fail787;
    2327            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2328            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2329            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 641, __FILE__, __LINE__, true);
    2330            0 :             return _r;
    2331              :           }
    2332            0 : next_after_fail787:;
    2333              :         }
    2334              :   }
    2335            0 :   return NULL_TREE;
    2336              : }
    2337              : 
    2338              : tree
    2339            0 : generic_simplify_442 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2340              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2341              :  const combined_fn ARG_UNUSED (pow))
    2342              : {
    2343            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2344            0 :   if (flag_unsafe_math_optimizations
    2345              : )
    2346              :     {
    2347            0 :       if (! HONOR_INFINITIES (type)
    2348            0 :  && ! flag_trapping_math
    2349            0 :  && ! flag_errno_math
    2350              : )
    2351              :         {
    2352            0 :           if (! HONOR_NANS (type) && ! HONOR_SIGNED_ZEROS (type)
    2353              : )
    2354              :             {
    2355            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail789;
    2356            0 :               {
    2357            0 :                 tree _r;
    2358            0 :                 _r = captures[0];
    2359            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2360            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2361            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 643, __FILE__, __LINE__, true);
    2362            0 :                 return _r;
    2363              :               }
    2364            0 : next_after_fail789:;
    2365              :             }
    2366              :         }
    2367              :     }
    2368              :   return NULL_TREE;
    2369              : }
    2370              : 
    2371              : tree
    2372            0 : generic_simplify_445 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2373              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2374              :  const combined_fn ARG_UNUSED (copysigns),
    2375              :  const combined_fn ARG_UNUSED (hypots))
    2376              : {
    2377            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2378            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail792;
    2379            0 :   {
    2380            0 :     tree res_op0;
    2381            0 :     res_op0 = captures[0];
    2382            0 :     tree res_op1;
    2383            0 :     res_op1 = captures[2];
    2384            0 :     tree _r;
    2385            0 :     _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    2386            0 :     if (!_r)
    2387            0 :       goto next_after_fail792;
    2388            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2389            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2390            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 646, __FILE__, __LINE__, true);
    2391              :     return _r;
    2392              :   }
    2393              : next_after_fail792:;
    2394              :   return NULL_TREE;
    2395              : }
    2396              : 
    2397              : tree
    2398            8 : generic_simplify_450 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2399              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2400              : {
    2401            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2402           16 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2403           16 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    2404              : )
    2405              :     {
    2406            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail797;
    2407            0 :       {
    2408            0 :         tree res_op0;
    2409            0 :         res_op0 = captures[0];
    2410            0 :         tree res_op1;
    2411            0 :         res_op1 = captures[1];
    2412            0 :         tree _r;
    2413            0 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2414            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 651, __FILE__, __LINE__, true);
    2415            0 :         return _r;
    2416              :       }
    2417            0 : next_after_fail797:;
    2418              :     }
    2419              :   return NULL_TREE;
    2420              : }
    2421              : 
    2422              : tree
    2423       125659 : generic_simplify_454 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2424              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2425              : {
    2426       125659 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2427       125659 :   {
    2428       125659 :  bool wascmp;
    2429       125659 :       if (bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
    2430       125659 :  && (!wascmp || element_precision (type) == 1)
    2431              : )
    2432              :         {
    2433            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail801;
    2434            1 :           {
    2435            1 :             tree res_op0;
    2436            1 :             res_op0 = captures[0];
    2437            1 :             tree res_op1;
    2438            1 :             res_op1 = captures[2];
    2439            1 :             tree _r;
    2440            1 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2441            1 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2442            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2443            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 655, __FILE__, __LINE__, true);
    2444            1 :             return _r;
    2445              :           }
    2446            0 : next_after_fail801:;
    2447              :         }
    2448              :   }
    2449       125658 :   return NULL_TREE;
    2450              : }
    2451              : 
    2452              : tree
    2453          104 : generic_simplify_463 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2454              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2455              : {
    2456          104 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2457          104 :   {
    2458          104 :  bool wascmp;
    2459          104 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
    2460          104 :  && (!wascmp || element_precision (type) == 1)
    2461              : )
    2462              :         {
    2463            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail810;
    2464            0 :           {
    2465            0 :             tree res_op0;
    2466            0 :             res_op0 = captures[0];
    2467            0 :             tree res_op1;
    2468            0 :             res_op1 = captures[1];
    2469            0 :             tree _r;
    2470            0 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2471            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2472            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2473            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 663, __FILE__, __LINE__, true);
    2474            0 :             return _r;
    2475              :           }
    2476            0 : next_after_fail810:;
    2477              :         }
    2478              :   }
    2479          104 :   return NULL_TREE;
    2480              : }
    2481              : 
    2482              : tree
    2483            0 : generic_simplify_468 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2484              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2485              :  const enum tree_code ARG_UNUSED (cmp))
    2486              : {
    2487            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2488            0 :   if (fold_before_rtl_expansion_p ()
    2489              : )
    2490              :     {
    2491            0 :       if (INTEGRAL_TYPE_P (type)
    2492            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2493              : )
    2494              :         {
    2495            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail815;
    2496            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail815;
    2497            0 :           {
    2498            0 :             tree res_op0;
    2499            0 :             res_op0 = captures[0];
    2500            0 :             tree res_op1;
    2501            0 :             res_op1 = captures[3];
    2502            0 :             tree res_op2;
    2503            0 :             res_op2 =  build_zero_cst (type);
    2504            0 :             tree _r;
    2505            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2506            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 667, __FILE__, __LINE__, true);
    2507            0 :             return _r;
    2508              :           }
    2509              : next_after_fail815:;
    2510              :         }
    2511              :     }
    2512              :   return NULL_TREE;
    2513              : }
    2514              : 
    2515              : tree
    2516            0 : generic_simplify_478 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2517              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2518              : {
    2519            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2520            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail847;
    2521            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail847;
    2522            0 :   {
    2523            0 :     tree _r;
    2524            0 :     _r = captures[2];
    2525            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2526            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2527            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 688, __FILE__, __LINE__, true);
    2528              :     return _r;
    2529              :   }
    2530              : next_after_fail847:;
    2531              :   return NULL_TREE;
    2532              : }
    2533              : 
    2534              : tree
    2535            4 : generic_simplify_483 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2536              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2537              : {
    2538            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2539            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail864;
    2540            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail864;
    2541            4 :   {
    2542            4 :     tree _r;
    2543            4 :     _r = captures[2];
    2544            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2545            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2546            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 688, __FILE__, __LINE__, true);
    2547              :     return _r;
    2548              :   }
    2549              : next_after_fail864:;
    2550              :   return NULL_TREE;
    2551              : }
    2552              : 
    2553              : tree
    2554        62455 : generic_simplify_487 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2555              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2556              :  const enum tree_code ARG_UNUSED (shift))
    2557              : {
    2558        62455 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2559        62455 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2560        62455 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2561        62344 :  && tree_fits_uhwi_p (captures[4])
    2562        62295 :  && tree_to_uhwi (captures[4]) > 0
    2563       124749 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2564              : )
    2565              :     {
    2566        62294 :       {
    2567        62294 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2568        62294 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2569        62294 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2570        62294 :  tree shift_type = TREE_TYPE (captures[2]);
    2571        62294 :  unsigned int prec;
    2572        62294 :  if (shift == LSHIFT_EXPR)
    2573        27995 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2574        34299 :  else if (shift == RSHIFT_EXPR
    2575        34299 :  && type_has_mode_precision_p (shift_type))
    2576              :  {
    2577        34299 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2578        34299 :  tree arg00 = captures[3];
    2579        34299 :  if (captures[2] != captures[3]
    2580        34299 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2581              :  {
    2582            0 :  tree inner_type = TREE_TYPE (captures[3]);
    2583            0 :  if (type_has_mode_precision_p (inner_type)
    2584            0 :  && TYPE_PRECISION (inner_type) < prec)
    2585              :  {
    2586            0 :  prec = TYPE_PRECISION (inner_type);
    2587            0 :  if (shiftc < prec)
    2588            0 :  shift_type = inner_type;
    2589              :  }
    2590              :  }
    2591        34299 :  zerobits = HOST_WIDE_INT_M1U;
    2592        34299 :  if (shiftc < prec)
    2593              :  {
    2594        34299 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2595        34299 :  zerobits <<= prec - shiftc;
    2596              :  }
    2597        34299 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2598        34299 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2599              :  {
    2600         2894 :  if ((mask & zerobits) == 0)
    2601         2883 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2602              :  else
    2603              :  zerobits = 0;
    2604              :  }
    2605              :  }
    2606        62283 :           if ((mask & zerobits) == mask
    2607              : )
    2608              :             {
    2609            3 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail870;
    2610            3 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail870;
    2611            3 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail870;
    2612            3 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail870;
    2613            3 :               {
    2614            3 :                 tree _r;
    2615            3 :                 _r =  build_int_cst (type, 0);
    2616            3 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 691, __FILE__, __LINE__, true);
    2617            3 :                 return _r;
    2618              :               }
    2619              : next_after_fail870:;
    2620              :             }
    2621              :           else
    2622              :             {
    2623        62291 :               {
    2624        62291 :  newmask = mask | zerobits;
    2625        62291 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2626              : )
    2627              :                     {
    2628              :                       {
    2629        18484 :  for (prec = BITS_PER_UNIT;
    2630        34189 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2631        32053 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2632              :  break;
    2633        15705 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2634         2136 :  || newmask == HOST_WIDE_INT_M1U
    2635              : )
    2636              :                             {
    2637        13736 :                               {
    2638        13736 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2639        13736 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2640              : )
    2641              :                                     {
    2642        13736 :                                       if (shift_type != TREE_TYPE (captures[2])
    2643              : )
    2644              :                                         {
    2645           85 :                                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail871;
    2646           85 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail871;
    2647           85 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail871;
    2648           85 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail871;
    2649           85 :                                           {
    2650           85 :                                             tree res_op0;
    2651           85 :                                             {
    2652           85 :                                               tree _o1[1], _r1;
    2653           85 :                                               {
    2654           85 :                                                 tree _o2[2], _r2;
    2655           85 :                                                 {
    2656           85 :                                                   tree _o3[1], _r3;
    2657           85 :                                                   _o3[0] = captures[2];
    2658           85 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2659              :                                                     {
    2660           85 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2661              :                                                     }
    2662              :                                                   else
    2663              :                                                     _r3 = _o3[0];
    2664           85 :                                                   _o2[0] = _r3;
    2665              :                                                 }
    2666           85 :                                                 _o2[1] = captures[4];
    2667           85 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2668           85 :                                                 _o1[0] = _r2;
    2669              :                                               }
    2670           85 :                                               if (TREE_TYPE (_o1[0]) != type)
    2671              :                                                 {
    2672           85 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2673              :                                                 }
    2674              :                                               else
    2675              :                                                 _r1 = _o1[0];
    2676           85 :                                               res_op0 = _r1;
    2677              :                                             }
    2678           85 :                                             tree res_op1;
    2679           85 :                                             res_op1 =  newmaskt;
    2680           85 :                                             tree _r;
    2681           85 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2682           85 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 692, __FILE__, __LINE__, true);
    2683           85 :                                             return _r;
    2684              :                                           }
    2685              : next_after_fail871:;
    2686              :                                         }
    2687              :                                       else
    2688              :                                         {
    2689        13651 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail872;
    2690        12571 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail872;
    2691        12571 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail872;
    2692        12571 :                                           {
    2693        12571 :                                             tree res_op0;
    2694        12571 :                                             res_op0 = captures[0];
    2695        12571 :                                             tree res_op1;
    2696        12571 :                                             res_op1 =  newmaskt;
    2697        12571 :                                             tree _r;
    2698        12571 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2699        12571 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 693, __FILE__, __LINE__, true);
    2700        12571 :                                             return _r;
    2701              :                                           }
    2702              : next_after_fail872:;
    2703              :                                         }
    2704              :                                     }
    2705              :                               }
    2706              :                             }
    2707              :                       }
    2708              :                     }
    2709              :               }
    2710              :             }
    2711              :       }
    2712              :     }
    2713              :   return NULL_TREE;
    2714              : }
    2715              : 
    2716              : tree
    2717           42 : generic_simplify_497 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2718              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2719              : {
    2720           42 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2721           42 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail888;
    2722           42 :   {
    2723           42 :     tree res_op0;
    2724           42 :     res_op0 = captures[1];
    2725           42 :     tree res_op1;
    2726           42 :     {
    2727           42 :       tree _o1[1], _r1;
    2728           42 :       _o1[0] = captures[2];
    2729           42 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2730           42 :       res_op1 = _r1;
    2731              :     }
    2732           42 :     tree _r;
    2733           42 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
    2734           42 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 702, __FILE__, __LINE__, true);
    2735              :     return _r;
    2736              :   }
    2737            0 : next_after_fail888:;
    2738            0 :   return NULL_TREE;
    2739              : }
    2740              : 
    2741              : tree
    2742          145 : generic_simplify_503 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2743              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2744              : {
    2745          145 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2746          145 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
    2747          145 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2748              : )
    2749              :     {
    2750          145 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail894;
    2751          145 :       {
    2752          145 :         tree res_op0;
    2753          145 :         {
    2754          145 :           tree _o1[2], _r1;
    2755          145 :           _o1[0] = captures[0];
    2756          145 :           _o1[1] =  build_each_one_cst (TREE_TYPE (captures[0]));
    2757          145 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2758          145 :           res_op0 = _r1;
    2759              :         }
    2760          145 :         tree _r;
    2761          145 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2762          145 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 708, __FILE__, __LINE__, true);
    2763          145 :         return _r;
    2764              :       }
    2765            0 : next_after_fail894:;
    2766              :     }
    2767              :   return NULL_TREE;
    2768              : }
    2769              : 
    2770              : tree
    2771          249 : generic_simplify_510 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2772              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2773              :  const enum tree_code ARG_UNUSED (cmp),
    2774              :  const enum tree_code ARG_UNUSED (icmp),
    2775              :  const enum tree_code ARG_UNUSED (ncmp))
    2776              : {
    2777          249 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2778          249 :   if (VECTOR_TYPE_P (type)
    2779          249 :  || (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1)
    2780              : )
    2781              :     {
    2782           51 :       {
    2783           51 :  enum tree_code ic = invert_tree_comparison
    2784           51 :  (cmp, HONOR_NANS (captures[0]));
    2785           51 :           if (ic == icmp
    2786              : )
    2787              :             {
    2788           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail901;
    2789           12 :               {
    2790           12 :                 tree res_op0;
    2791           12 :                 res_op0 = captures[0];
    2792           12 :                 tree res_op1;
    2793           12 :                 res_op1 = captures[1];
    2794           12 :                 tree _r;
    2795           12 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    2796           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 713, __FILE__, __LINE__, true);
    2797           12 :                 return _r;
    2798              :               }
    2799            0 : next_after_fail901:;
    2800              :             }
    2801              :           else
    2802              :             {
    2803           39 :               if (ic == ncmp
    2804              : )
    2805              :                 {
    2806            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail902;
    2807            0 :                   {
    2808            0 :                     tree res_op0;
    2809            0 :                     res_op0 = captures[0];
    2810            0 :                     tree res_op1;
    2811            0 :                     res_op1 = captures[1];
    2812            0 :                     tree _r;
    2813            0 :                     _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    2814            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 714, __FILE__, __LINE__, true);
    2815            0 :                     return _r;
    2816              :                   }
    2817            0 : next_after_fail902:;
    2818              :                 }
    2819              :             }
    2820              :       }
    2821              :     }
    2822              :   return NULL_TREE;
    2823              : }
    2824              : 
    2825              : tree
    2826            1 : generic_simplify_523 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2827              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2828              :  const enum tree_code ARG_UNUSED (minmax))
    2829              : {
    2830            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2831            1 :   if (INTEGRAL_TYPE_P (type)
    2832            1 :  && TYPE_OVERFLOW_UNDEFINED (type)
    2833            2 :  && !TYPE_OVERFLOW_SANITIZED (type)
    2834              : )
    2835              :     {
    2836            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail916;
    2837            1 :       {
    2838            1 :         tree res_op0;
    2839            1 :         {
    2840            1 :           tree _o1[2], _r1;
    2841            1 :           _o1[0] = captures[1];
    2842            1 :           _o1[1] = captures[4];
    2843            1 :           _r1 = fold_build2_loc (loc, minmax, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2844            1 :           res_op0 = _r1;
    2845              :         }
    2846            1 :         tree res_op1;
    2847            1 :         res_op1 = captures[2];
    2848            1 :         tree _r;
    2849            1 :         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    2850            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 727, __FILE__, __LINE__, true);
    2851            1 :         return _r;
    2852              :       }
    2853            0 : next_after_fail916:;
    2854              :     }
    2855              :   return NULL_TREE;
    2856              : }
    2857              : 
    2858              : tree
    2859            2 : generic_simplify_532 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2860              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2861              :  const enum tree_code ARG_UNUSED (op),
    2862              :  const enum tree_code ARG_UNUSED (logic))
    2863              : {
    2864            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2865            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail939;
    2866            2 :   {
    2867            2 :     tree res_op0;
    2868            2 :     res_op0 = captures[0];
    2869            2 :     tree res_op1;
    2870            2 :     res_op1 = captures[1];
    2871            2 :     tree _r;
    2872            2 :     _r = fold_build2_loc (loc, logic, type, res_op0, res_op1);
    2873            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 738, __FILE__, __LINE__, true);
    2874              :     return _r;
    2875              :   }
    2876            0 : next_after_fail939:;
    2877            0 :   return NULL_TREE;
    2878              : }
    2879              : 
    2880              : tree
    2881            0 : generic_simplify_538 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2882              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2883              :  const combined_fn ARG_UNUSED (FMAX_ALL))
    2884              : {
    2885            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2886            0 :   if (flag_finite_math_only
    2887              : )
    2888              :     {
    2889            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail945;
    2890            0 :       {
    2891            0 :         tree res_op0;
    2892            0 :         res_op0 = captures[0];
    2893            0 :         tree res_op1;
    2894            0 :         res_op1 = captures[1];
    2895            0 :         tree _r;
    2896            0 :         _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
    2897            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 744, __FILE__, __LINE__, true);
    2898            0 :         return _r;
    2899              :       }
    2900            0 : next_after_fail945:;
    2901              :     }
    2902              :   return NULL_TREE;
    2903              : }
    2904              : 
    2905              : tree
    2906            0 : generic_simplify_544 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2907              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2908              :  const combined_fn ARG_UNUSED (cond_op))
    2909              : {
    2910            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2911            0 :   {
    2912            0 :  tree op_type = TREE_TYPE (captures[3]);
    2913            0 :       if (element_precision (type) == element_precision (op_type)
    2914              : )
    2915              :         {
    2916            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail951;
    2917            0 :           {
    2918            0 :             tree res_op0;
    2919            0 :             {
    2920            0 :               tree _o1[4], _r1;
    2921            0 :               _o1[0] = captures[0];
    2922            0 :               _o1[1] = captures[1];
    2923            0 :               _o1[2] = captures[2];
    2924            0 :               {
    2925            0 :                 tree _o2[1], _r2;
    2926            0 :                 _o2[0] = captures[4];
    2927            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2928              :                   {
    2929            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2930              :                   }
    2931              :                 else
    2932              :                   _r2 = _o2[0];
    2933            0 :                 _o1[3] = _r2;
    2934              :               }
    2935            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 4, _o1[0], _o1[1], _o1[2], _o1[3]);
    2936            0 :               if (!_r1)
    2937            0 :                 goto next_after_fail951;
    2938            0 :               res_op0 = _r1;
    2939              :             }
    2940            0 :             tree _r;
    2941            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2942            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    2943            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    2944            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 745, __FILE__, __LINE__, true);
    2945            0 :             return _r;
    2946              :           }
    2947              : next_after_fail951:;
    2948              :         }
    2949              :   }
    2950              :   return NULL_TREE;
    2951              : }
    2952              : 
    2953              : tree
    2954            0 : generic_simplify_554 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2955              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2956              :  const enum tree_code ARG_UNUSED (rotate))
    2957              : {
    2958            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2959            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail961;
    2960            0 :   {
    2961            0 :     tree _r;
    2962            0 :     _r = captures[0];
    2963            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2964            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2965            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 755, __FILE__, __LINE__, true);
    2966              :     return _r;
    2967              :   }
    2968            0 : next_after_fail961:;
    2969            0 :   return NULL_TREE;
    2970              : }
    2971              : 
    2972              : tree
    2973           60 : generic_simplify_563 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2974              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2975              :  const enum tree_code ARG_UNUSED (cmp))
    2976              : {
    2977           60 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2978           60 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail973;
    2979           60 :   {
    2980           60 :     tree _r;
    2981           60 :     _r =  constant_boolean_node (true, type);
    2982           60 :     if (TREE_SIDE_EFFECTS (captures[0]))
    2983            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2984           60 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 767, __FILE__, __LINE__, true);
    2985              :     return _r;
    2986              :   }
    2987            0 : next_after_fail973:;
    2988            0 :   return NULL_TREE;
    2989              : }
    2990              : 
    2991              : tree
    2992            0 : generic_simplify_570 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2993              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2994              :  const combined_fn ARG_UNUSED (sins),
    2995              :  const combined_fn ARG_UNUSED (atans),
    2996              :  const combined_fn ARG_UNUSED (sqrts),
    2997              :  const combined_fn ARG_UNUSED (copysigns))
    2998              : {
    2999            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3000            0 :   {
    3001            0 :  REAL_VALUE_TYPE r_cst;
    3002            0 :  build_sinatan_real (&r_cst, type);
    3003            0 :  tree t_cst = build_real (type, r_cst);
    3004            0 :  tree t_one = build_one_cst (type);
    3005            0 :       if (SCALAR_FLOAT_TYPE_P (type)
    3006              : )
    3007              :         {
    3008            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail980;
    3009            0 :           {
    3010            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail980;
    3011            0 :             tree res_op0;
    3012            0 :             {
    3013            0 :               tree _o1[2], _r1;
    3014            0 :               {
    3015            0 :                 tree _o2[1], _r2;
    3016            0 :                 _o2[0] = unshare_expr (captures[1]);
    3017            0 :                 _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3018            0 :                 _o1[0] = _r2;
    3019              :               }
    3020            0 :               _o1[1] =  t_cst;
    3021            0 :               _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3022            0 :               res_op0 = _r1;
    3023              :             }
    3024            0 :             tree res_op1;
    3025            0 :             {
    3026            0 :               tree _o1[2], _r1;
    3027            0 :               _o1[0] = unshare_expr (captures[1]);
    3028            0 :               {
    3029            0 :                 tree _o2[1], _r2;
    3030            0 :                 {
    3031            0 :                   tree _o3[2], _r3;
    3032            0 :                   {
    3033            0 :                     tree _o4[2], _r4;
    3034            0 :                     _o4[0] = unshare_expr (captures[1]);
    3035            0 :                     _o4[1] = unshare_expr (captures[1]);
    3036            0 :                     _r4 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
    3037            0 :                     _o3[0] = _r4;
    3038              :                   }
    3039            0 :                   _o3[1] =  t_one;
    3040            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    3041            0 :                   _o2[0] = _r3;
    3042              :                 }
    3043            0 :                 _r2 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o2[0]), 1, _o2[0]);
    3044            0 :                 if (!_r2)
    3045            0 :                   goto next_after_fail980;
    3046            0 :                 _o1[1] = _r2;
    3047              :               }
    3048            0 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3049            0 :               res_op1 = _r1;
    3050              :             }
    3051            0 :             tree res_op2;
    3052            0 :             {
    3053            0 :               tree _o1[2], _r1;
    3054            0 :               _o1[0] =  t_one;
    3055            0 :               _o1[1] = captures[1];
    3056            0 :               _r1 = maybe_build_call_expr_loc (loc, copysigns, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
    3057            0 :               if (!_r1)
    3058            0 :                 goto next_after_fail980;
    3059            0 :               res_op2 = _r1;
    3060              :             }
    3061            0 :             tree _r;
    3062            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    3063            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 774, __FILE__, __LINE__, true);
    3064            0 :             return _r;
    3065              :           }
    3066            0 : next_after_fail980:;
    3067              :         }
    3068              :   }
    3069            0 :   return NULL_TREE;
    3070              : }
    3071              : 
    3072              : tree
    3073            0 : generic_simplify_592 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3074              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3075              : {
    3076            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3077            0 :   if (canonicalize_math_after_vectorization_p ()
    3078              : )
    3079              :     {
    3080              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1002;
    3081              :       {
    3082              :         tree res_op0;
    3083              :         res_op0 = captures[0];
    3084              :         tree res_op1;
    3085              :         res_op1 = captures[1];
    3086              :         tree res_op2;
    3087              :         res_op2 = captures[2];
    3088              :         tree _r;
    3089              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
    3090              :         if (!_r)
    3091              :           goto next_after_fail1002;
    3092              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 796, __FILE__, __LINE__, true);
    3093              :         return _r;
    3094              :       }
    3095            0 : next_after_fail1002:;
    3096              :     }
    3097            0 :   return NULL_TREE;
    3098              : }
    3099              : 
    3100              : tree
    3101            0 : generic_simplify_601 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3102              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3103              : {
    3104            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3105            0 :   if (canonicalize_math_after_vectorization_p ()
    3106              : )
    3107              :     {
    3108              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1011;
    3109              :       {
    3110              :         tree res_op0;
    3111              :         res_op0 = captures[0];
    3112              :         tree res_op1;
    3113              :         res_op1 = captures[1];
    3114              :         tree res_op2;
    3115              :         res_op2 = captures[2];
    3116              :         tree res_op3;
    3117              :         res_op3 = captures[3];
    3118              :         tree res_op4;
    3119              :         res_op4 = captures[4];
    3120              :         tree _r;
    3121              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3122              :         if (!_r)
    3123              :           goto next_after_fail1011;
    3124              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 805, __FILE__, __LINE__, true);
    3125              :         return _r;
    3126              :       }
    3127            0 : next_after_fail1011:;
    3128              :     }
    3129            0 :   return NULL_TREE;
    3130              : }
    3131              : 
    3132              : tree
    3133            0 : generic_simplify_610 (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 (bswap),
    3136              :  const combined_fn ARG_UNUSED (popcount))
    3137              : {
    3138            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3139            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3140            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3141              : )
    3142              :     {
    3143            0 :       {
    3144            0 :  tree type0 = TREE_TYPE (captures[0]);
    3145            0 :  tree type1 = TREE_TYPE (captures[1]);
    3146            0 :  unsigned int prec0 = TYPE_PRECISION (type0);
    3147            0 :  unsigned int prec1 = TYPE_PRECISION (type1);
    3148            0 :           if (prec0 == prec1 || (prec0 > prec1 && TYPE_UNSIGNED (type1))
    3149              : )
    3150              :             {
    3151            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1020;
    3152            0 :               {
    3153            0 :                 tree res_op0;
    3154            0 :                 {
    3155            0 :                   tree _o1[1], _r1;
    3156            0 :                   {
    3157            0 :                     tree _o2[1], _r2;
    3158            0 :                     _o2[0] = captures[2];
    3159            0 :                     if (TREE_TYPE (_o2[0]) != type1)
    3160              :                       {
    3161            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3162              :                       }
    3163              :                     else
    3164              :                       _r2 = _o2[0];
    3165            0 :                     _o1[0] = _r2;
    3166              :                   }
    3167            0 :                   if (TREE_TYPE (_o1[0]) != type0)
    3168              :                     {
    3169            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3170              :                     }
    3171              :                   else
    3172              :                     _r1 = _o1[0];
    3173            0 :                   res_op0 = _r1;
    3174              :                 }
    3175            0 :                 tree _r;
    3176            0 :                 _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
    3177            0 :                 if (!_r)
    3178            0 :                   goto next_after_fail1020;
    3179            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 811, __FILE__, __LINE__, true);
    3180            0 :                 return _r;
    3181              :               }
    3182              : next_after_fail1020:;
    3183              :             }
    3184              :       }
    3185              :     }
    3186              :   return NULL_TREE;
    3187              : }
    3188              : 
    3189              : tree
    3190            0 : generic_simplify_623 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3191              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3192              :  const enum tree_code ARG_UNUSED (plusminus),
    3193              :  const enum tree_code ARG_UNUSED (minusplus))
    3194              : {
    3195            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3196            0 :   if (!VECTOR_INTEGER_TYPE_P (type)
    3197              :  && !FLOAT_WORDS_BIG_ENDIAN
    3198            0 :  && (operand_equal_p (captures[0], captures[2], 0)
    3199            0 :  ? operand_equal_p (captures[1], captures[3], 0)
    3200            0 :  : operand_equal_p (captures[0], captures[3], 0) && operand_equal_p (captures[1], captures[2], 0))
    3201              : )
    3202              :     {
    3203            0 :       {
    3204            0 :  vec_perm_builder builder;
    3205            0 :           if (tree_to_vec_perm_builder (&builder, captures[4])
    3206              : )
    3207              :             {
    3208            0 :               {
    3209            0 :  poly_uint64 nelts = TYPE_VECTOR_SUBPARTS (type);
    3210            0 :  vec_perm_indices sel (builder, 2, nelts);
    3211            0 :  machine_mode vec_mode = TYPE_MODE (type);
    3212            0 :  machine_mode wide_mode;
    3213            0 :  scalar_mode wide_elt_mode;
    3214            0 :  poly_uint64 wide_nunits;
    3215            0 :  scalar_mode inner_mode = GET_MODE_INNER (vec_mode);
    3216            0 :                   if (VECTOR_MODE_P (vec_mode)
    3217            0 :  && sel.series_p (0, 2, 0, 2)
    3218            0 :  && sel.series_p (1, 2, nelts + 1, 2)
    3219            0 :  && GET_MODE_2XWIDER_MODE (inner_mode).exists (&wide_elt_mode)
    3220            0 :  && multiple_p (GET_MODE_NUNITS (vec_mode), 2, &wide_nunits)
    3221            0 :  && related_vector_mode (vec_mode, wide_elt_mode,
    3222            0 :  wide_nunits).exists (&wide_mode)
    3223              : )
    3224              :                     {
    3225            0 :                       {
    3226            0 :  tree stype
    3227            0 :  = lang_hooks.types.type_for_mode (GET_MODE_INNER (wide_mode),
    3228            0 :  TYPE_UNSIGNED (type));
    3229            0 :  tree ntype = build_vector_type_for_mode (stype, wide_mode);
    3230            0 :  const struct real_format *fmt_old = FLOAT_MODE_FORMAT (vec_mode);
    3231            0 :  const struct real_format *fmt_new = FLOAT_MODE_FORMAT (wide_mode);
    3232            0 :                           if (TYPE_MODE (stype) != BLKmode
    3233            0 :  && VECTOR_TYPE_P (ntype)
    3234            0 :  && fmt_old != NULL
    3235            0 :  && fmt_new != NULL
    3236              : )
    3237              :                             {
    3238            0 :                               {
    3239            0 :  if (known_eq (GET_MODE_NUNITS (wide_mode), 1)
    3240            0 :  && !target_supports_op_p (ntype, NEGATE_EXPR, optab_vector))
    3241              :  ntype = stype;
    3242            0 :                                   if (fmt_new->signbit_rw
    3243            0 :  == fmt_old->signbit_rw + GET_MODE_UNIT_BITSIZE (vec_mode)
    3244            0 :  && fmt_new->signbit_rw == fmt_new->signbit_ro
    3245            0 :  && targetm.can_change_mode_class (TYPE_MODE (ntype),
    3246            0 :  TYPE_MODE (type), ALL_REGS)
    3247            0 :  && ((optimize_vectors_before_lowering_p ()
    3248            0 :  && VECTOR_TYPE_P (ntype))
    3249            0 :  || target_supports_op_p (ntype, NEGATE_EXPR, optab_vector))
    3250              : )
    3251              :                                     {
    3252            0 :                                       if (plusminus == PLUS_EXPR
    3253              : )
    3254              :                                         {
    3255            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1034;
    3256            0 :                                           {
    3257            0 :                                             tree res_op0;
    3258            0 :                                             {
    3259            0 :                                               tree _o1[1], _r1;
    3260            0 :                                               {
    3261            0 :                                                 tree _o2[1], _r2;
    3262            0 :                                                 {
    3263            0 :                                                   tree _o3[1], _r3;
    3264            0 :                                                   _o3[0] = captures[3];
    3265            0 :                                                   if (TREE_TYPE (_o3[0]) != ntype)
    3266              :                                                     {
    3267            0 :                                                       _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o3[0]);
    3268              :                                                     }
    3269              :                                                   else
    3270              :                                                     _r3 = _o3[0];
    3271            0 :                                                   _o2[0] = _r3;
    3272              :                                                 }
    3273            0 :                                                 _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3274            0 :                                                 _o1[0] = _r2;
    3275              :                                               }
    3276            0 :                                               if (TREE_TYPE (_o1[0]) != type)
    3277              :                                                 {
    3278            0 :                                                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3279              :                                                 }
    3280              :                                               else
    3281              :                                                 _r1 = _o1[0];
    3282            0 :                                               res_op0 = _r1;
    3283              :                                             }
    3284            0 :                                             tree res_op1;
    3285            0 :                                             res_op1 = captures[2];
    3286            0 :                                             tree _r;
    3287            0 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3288            0 :                                             if (TREE_SIDE_EFFECTS (captures[0]))
    3289            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3290            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    3291            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3292            0 :                                             if (TREE_SIDE_EFFECTS (captures[4]))
    3293            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3294            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 821, __FILE__, __LINE__, true);
    3295            0 :                                             return _r;
    3296              :                                           }
    3297            0 : next_after_fail1034:;
    3298              :                                         }
    3299              :                                       else
    3300              :                                         {
    3301            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1035;
    3302            0 :                                           {
    3303            0 :                                             tree res_op0;
    3304            0 :                                             res_op0 = captures[0];
    3305            0 :                                             tree res_op1;
    3306            0 :                                             {
    3307            0 :                                               tree _o1[1], _r1;
    3308            0 :                                               {
    3309            0 :                                                 tree _o2[1], _r2;
    3310            0 :                                                 {
    3311            0 :                                                   tree _o3[1], _r3;
    3312            0 :                                                   _o3[0] = captures[1];
    3313            0 :                                                   if (TREE_TYPE (_o3[0]) != ntype)
    3314              :                                                     {
    3315            0 :                                                       _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o3[0]);
    3316              :                                                     }
    3317              :                                                   else
    3318              :                                                     _r3 = _o3[0];
    3319            0 :                                                   _o2[0] = _r3;
    3320              :                                                 }
    3321            0 :                                                 _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3322            0 :                                                 _o1[0] = _r2;
    3323              :                                               }
    3324            0 :                                               if (TREE_TYPE (_o1[0]) != type)
    3325              :                                                 {
    3326            0 :                                                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3327              :                                                 }
    3328              :                                               else
    3329              :                                                 _r1 = _o1[0];
    3330            0 :                                               res_op1 = _r1;
    3331              :                                             }
    3332            0 :                                             tree _r;
    3333            0 :                                             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3334            0 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    3335            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3336            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
    3337            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3338            0 :                                             if (TREE_SIDE_EFFECTS (captures[4]))
    3339            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3340            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
    3341            0 :                                             return _r;
    3342              :                                           }
    3343            0 : next_after_fail1035:;
    3344              :                                         }
    3345              :                                     }
    3346              :                               }
    3347              :                             }
    3348              :                       }
    3349              :                     }
    3350            0 :               }
    3351              :             }
    3352            0 :       }
    3353              :     }
    3354              :   return NULL_TREE;
    3355              : }
    3356              : 
    3357              : tree
    3358         1330 : generic_simplify_CONJ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3359              : {
    3360         1330 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3361         1330 :   switch (TREE_CODE (_p0))
    3362              :     {
    3363            0 :     CASE_CONVERT:
    3364            0 :       {
    3365            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3366            0 :         switch (TREE_CODE (_q20))
    3367              :           {
    3368            0 :           case CONJ_EXPR:
    3369            0 :             {
    3370            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3371            0 :               {
    3372            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3373            0 :                 tree res = generic_simplify_557 (loc, type, _p0, captures);
    3374            0 :                 if (res) return res;
    3375              :               }
    3376            0 :               break;
    3377              :             }
    3378            0 :           case COMPLEX_EXPR:
    3379            0 :             {
    3380            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3381            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3382            0 :               {
    3383            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3384            0 :                 {
    3385            0 :  tree itype = TREE_TYPE (type);
    3386            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1158;
    3387            0 :                     {
    3388            0 :                       tree res_op0;
    3389            0 :                       {
    3390            0 :                         tree _o1[1], _r1;
    3391            0 :                         _o1[0] = captures[2];
    3392            0 :                         if (TREE_TYPE (_o1[0]) != itype)
    3393              :                           {
    3394            0 :                             _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    3395              :                           }
    3396              :                         else
    3397              :                           _r1 = _o1[0];
    3398            0 :                         res_op0 = _r1;
    3399              :                       }
    3400            0 :                       tree res_op1;
    3401            0 :                       {
    3402            0 :                         tree _o1[1], _r1;
    3403            0 :                         {
    3404            0 :                           tree _o2[1], _r2;
    3405            0 :                           _o2[0] = captures[3];
    3406            0 :                           if (TREE_TYPE (_o2[0]) != itype)
    3407              :                             {
    3408            0 :                               _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    3409              :                             }
    3410              :                           else
    3411              :                             _r2 = _o2[0];
    3412            0 :                           _o1[0] = _r2;
    3413              :                         }
    3414            0 :                         _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3415            0 :                         res_op1 = _r1;
    3416              :                       }
    3417            0 :                       tree _r;
    3418            0 :                       _r = fold_build2_loc (loc, COMPLEX_EXPR, type, res_op0, res_op1);
    3419            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 884, __FILE__, __LINE__, true);
    3420            0 :                       return _r;
    3421              :                     }
    3422            0 : next_after_fail1158:;
    3423              :                 }
    3424              :               }
    3425            0 :               break;
    3426              :             }
    3427              :           default:;
    3428              :           }
    3429              :         break;
    3430              :       }
    3431            1 :     case CONJ_EXPR:
    3432            1 :       {
    3433            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3434            1 :         {
    3435            1 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3436            1 :           tree res = generic_simplify_557 (loc, type, _p0, captures);
    3437            1 :           if (res) return res;
    3438              :         }
    3439            0 :         break;
    3440              :       }
    3441           12 :     case COMPLEX_EXPR:
    3442           12 :       {
    3443           12 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3444           12 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3445           12 :         {
    3446           12 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3447           12 :           {
    3448           12 :  tree itype = TREE_TYPE (type);
    3449           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1159;
    3450           12 :               {
    3451           12 :                 tree res_op0;
    3452           12 :                 {
    3453           12 :                   tree _o1[1], _r1;
    3454           12 :                   _o1[0] = captures[2];
    3455           12 :                   if (TREE_TYPE (_o1[0]) != itype)
    3456              :                     {
    3457            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    3458              :                     }
    3459              :                   else
    3460              :                     _r1 = _o1[0];
    3461           12 :                   res_op0 = _r1;
    3462              :                 }
    3463           12 :                 tree res_op1;
    3464           12 :                 {
    3465           12 :                   tree _o1[1], _r1;
    3466           12 :                   {
    3467           12 :                     tree _o2[1], _r2;
    3468           12 :                     _o2[0] = captures[3];
    3469           12 :                     if (TREE_TYPE (_o2[0]) != itype)
    3470              :                       {
    3471            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    3472              :                       }
    3473              :                     else
    3474              :                       _r2 = _o2[0];
    3475           12 :                     _o1[0] = _r2;
    3476              :                   }
    3477           12 :                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3478           12 :                   res_op1 = _r1;
    3479              :                 }
    3480           12 :                 tree _r;
    3481           12 :                 _r = fold_build2_loc (loc, COMPLEX_EXPR, type, res_op0, res_op1);
    3482           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 884, __FILE__, __LINE__, true);
    3483           12 :                 return _r;
    3484              :               }
    3485            0 : next_after_fail1159:;
    3486              :           }
    3487              :         }
    3488            0 :         break;
    3489              :       }
    3490              :     default:;
    3491              :     }
    3492              :   return NULL_TREE;
    3493              : }
    3494              : 
    3495              : tree
    3496     96116649 : generic_simplify_PLUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3497              : {
    3498     96116649 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3499     96116649 :   if (integer_zerop (_p1))
    3500              :     {
    3501     27674103 :       {
    3502     27674103 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3503     27674103 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1239;
    3504     27674103 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1239;
    3505     27674103 :         {
    3506     27674103 :           tree res_op0;
    3507     27674103 :           res_op0 = captures[0];
    3508     27674103 :           tree _r;
    3509     27674103 :           _r = non_lvalue_loc (loc, res_op0);
    3510     27674103 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 886, __FILE__, __LINE__, true);
    3511     27674103 :           return _r;
    3512              :         }
    3513              : next_after_fail1239:;
    3514              :       }
    3515              :     }
    3516     68442546 :   if (real_zerop (_p1))
    3517              :     {
    3518         5301 :       {
    3519         5301 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3520         5301 :         tree res = generic_simplify_54 (loc, type, _p0, _p1, captures);
    3521         5301 :         if (res) return res;
    3522              :       }
    3523              :     }
    3524     68442451 :   switch (TREE_CODE (_p0))
    3525              :     {
    3526      6431038 :     case PLUS_EXPR:
    3527      6431038 :       {
    3528      6431038 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3529      6431038 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3530      6431038 :         switch (TREE_CODE (_q21))
    3531              :           {
    3532       116170 :           case REAL_CST:
    3533       116170 :             {
    3534       116170 :               switch (TREE_CODE (_p1))
    3535              :                 {
    3536           70 :                 case REAL_CST:
    3537           70 :                   {
    3538           70 :                     {
    3539           70 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3540           70 :                       tree res = generic_simplify_55 (loc, type, _p0, _p1, captures, PLUS_EXPR, PLUS_EXPR);
    3541           70 :                       if (res) return res;
    3542              :                     }
    3543           67 :                     break;
    3544              :                   }
    3545              :                 default:;
    3546              :                 }
    3547              :               break;
    3548              :             }
    3549              :           default:;
    3550              :           }
    3551              :         break;
    3552              :       }
    3553      2001577 :     case MINUS_EXPR:
    3554      2001577 :       {
    3555      2001577 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3556      2001577 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3557      2001577 :         switch (TREE_CODE (_q21))
    3558              :           {
    3559        21969 :           case REAL_CST:
    3560        21969 :             {
    3561        21969 :               switch (TREE_CODE (_p1))
    3562              :                 {
    3563          191 :                 case REAL_CST:
    3564          191 :                   {
    3565          191 :                     {
    3566          191 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3567          191 :                       tree res = generic_simplify_55 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR);
    3568          191 :                       if (res) return res;
    3569              :                     }
    3570          189 :                     break;
    3571              :                   }
    3572              :                 default:;
    3573              :                 }
    3574              :               break;
    3575              :             }
    3576              :           default:;
    3577              :           }
    3578              :         break;
    3579              :       }
    3580        12171 :     case MAX_EXPR:
    3581        12171 :       {
    3582        12171 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3583        12171 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3584        12171 :         if (integer_zerop (_q21))
    3585              :           {
    3586         4628 :             switch (TREE_CODE (_p1))
    3587              :               {
    3588          114 :               case MAX_EXPR:
    3589          114 :                 {
    3590          114 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    3591          114 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    3592          114 :                   switch (TREE_CODE (_q50))
    3593              :                     {
    3594           48 :                     case NEGATE_EXPR:
    3595           48 :                       {
    3596           48 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    3597           48 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    3598              :                           {
    3599           48 :                             if (integer_zerop (_q51))
    3600              :                               {
    3601           48 :                                 {
    3602           48 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3603           48 :                                   tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
    3604           48 :                                   if (res) return res;
    3605              :                                 }
    3606              :                               }
    3607              :                           }
    3608              :                         break;
    3609              :                       }
    3610              :                     default:;
    3611              :                     }
    3612              :                   break;
    3613              :                 }
    3614              :               default:;
    3615              :               }
    3616              :           }
    3617        12123 :         switch (TREE_CODE (_q20))
    3618              :           {
    3619           18 :           case NEGATE_EXPR:
    3620           18 :             {
    3621           18 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3622           18 :               if (integer_zerop (_q21))
    3623              :                 {
    3624           18 :                   switch (TREE_CODE (_p1))
    3625              :                     {
    3626           18 :                     case MAX_EXPR:
    3627           18 :                       {
    3628           18 :                         tree _q60 = TREE_OPERAND (_p1, 0);
    3629           18 :                         tree _q61 = TREE_OPERAND (_p1, 1);
    3630           18 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    3631              :                           {
    3632           18 :                             if (integer_zerop (_q61))
    3633              :                               {
    3634           18 :                                 {
    3635           18 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3636           18 :                                   tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
    3637           18 :                                   if (res) return res;
    3638              :                                 }
    3639              :                               }
    3640              :                           }
    3641              :                         break;
    3642              :                       }
    3643              :                     default:;
    3644              :                     }
    3645              :                 }
    3646              :               break;
    3647              :             }
    3648              :           default:;
    3649              :           }
    3650              :         break;
    3651              :       }
    3652     12905643 :     case MULT_EXPR:
    3653     12905643 :       {
    3654     12905643 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3655     12905643 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3656     12905643 :         switch (TREE_CODE (_q20))
    3657              :           {
    3658      1799931 :           case PLUS_EXPR:
    3659      1799931 :             {
    3660      1799931 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3661      1799931 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3662      1799931 :               switch (TREE_CODE (_q31))
    3663              :                 {
    3664       485663 :                 case INTEGER_CST:
    3665       485663 :                   {
    3666       485663 :                     switch (TREE_CODE (_q21))
    3667              :                       {
    3668       173001 :                       case INTEGER_CST:
    3669       173001 :                         {
    3670       173001 :                           switch (TREE_CODE (_p1))
    3671              :                             {
    3672       121329 :                             case INTEGER_CST:
    3673       121329 :                               {
    3674       121329 :                                 {
    3675       121329 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    3676       121329 :                                   {
    3677       121329 :  bool overflowed = true;
    3678       121329 :  wi::overflow_type ovf1;
    3679       121329 :  wi::overflow_type ovf2;
    3680       121329 :  wide_int mul = wi::mul (wi::to_wide (captures[3]), wi::to_wide (captures[4]),
    3681       242658 :  TYPE_SIGN (type), &ovf1);
    3682       363987 :  wide_int add = wi::add (mul, wi::to_wide (captures[5]),
    3683       121329 :  TYPE_SIGN (type), &ovf2);
    3684       121329 :  if (TYPE_OVERFLOW_UNDEFINED (type))
    3685              :  {
    3686              :  }
    3687              :  else
    3688        60448 :  overflowed = false;
    3689        60448 :                                       if (!overflowed
    3690              : )
    3691              :                                         {
    3692        60448 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1240;
    3693        60448 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1240;
    3694        60448 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1240;
    3695        60448 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1240;
    3696        60448 :                                           {
    3697        60448 :                                             tree res_op0;
    3698        60448 :                                             {
    3699        60448 :                                               tree _o1[2], _r1;
    3700        60448 :                                               _o1[0] = captures[2];
    3701        60448 :                                               _o1[1] = captures[4];
    3702        60448 :                                               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3703        60448 :                                               res_op0 = _r1;
    3704              :                                             }
    3705        60448 :                                             tree res_op1;
    3706        60448 :                                             res_op1 =  wide_int_to_tree (type, add);
    3707        60448 :                                             tree _r;
    3708        60448 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3709        60448 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    3710        60448 :                                             return _r;
    3711              :                                           }
    3712        60881 : next_after_fail1240:;
    3713              :                                         }
    3714       121329 :                                   }
    3715              :                                 }
    3716        60881 :                                 break;
    3717              :                               }
    3718              :                             default:;
    3719              :                             }
    3720              :                           break;
    3721              :                         }
    3722              :                       default:;
    3723              :                       }
    3724              :                     break;
    3725              :                   }
    3726              :                 default:;
    3727              :                 }
    3728              :               break;
    3729              :             }
    3730              :           default:;
    3731              :           }
    3732              :         break;
    3733              :       }
    3734        25849 :     case LSHIFT_EXPR:
    3735        25849 :       {
    3736        25849 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3737        25849 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3738        25849 :         switch (TREE_CODE (_p1))
    3739              :           {
    3740          688 :           case LSHIFT_EXPR:
    3741          688 :             {
    3742          688 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3743          688 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3744          688 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3745              :                 {
    3746            7 :                   {
    3747            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    3748            7 :                     tree res = generic_simplify_57 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3749            7 :                     if (res) return res;
    3750              :                   }
    3751              :                 }
    3752              :               break;
    3753              :             }
    3754              :           default:;
    3755              :           }
    3756              :         break;
    3757              :       }
    3758       212835 :     case BIT_AND_EXPR:
    3759       212835 :       {
    3760       212835 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3761       212835 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3762       212835 :         switch (TREE_CODE (_p1))
    3763              :           {
    3764          300 :           case BIT_AND_EXPR:
    3765          300 :             {
    3766          300 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3767          300 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3768          300 :               {
    3769          300 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    3770          300 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3771          300 :                 if (res) return res;
    3772              :               }
    3773          300 :               {
    3774          300 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q50 };
    3775          300 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3776          300 :                 if (res) return res;
    3777              :               }
    3778          300 :               {
    3779          300 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
    3780          300 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3781          300 :                 if (res) return res;
    3782              :               }
    3783          300 :               {
    3784          300 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q50 };
    3785          300 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3786          300 :                 if (res) return res;
    3787              :               }
    3788          300 :               break;
    3789              :             }
    3790       212835 :           default:;
    3791              :           }
    3792       212835 :         if (integer_onep (_q21))
    3793              :           {
    3794       120608 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    3795              :               {
    3796           29 :                 {
    3797           29 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    3798           29 :                   tree res = generic_simplify_58 (loc, type, _p0, _p1, captures);
    3799           29 :                   if (res) return res;
    3800              :                 }
    3801              :               }
    3802              :           }
    3803              :         break;
    3804              :       }
    3805     68381896 :     default:;
    3806              :     }
    3807     68381896 : if (real_zerop (_p0))
    3808              :   {
    3809            0 :     {
    3810            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    3811            0 :       tree res = generic_simplify_54 (loc, type, _p0, _p1, captures);
    3812            0 :       if (res) return res;
    3813              :     }
    3814              :   }
    3815     68381896 :   switch (TREE_CODE (_p1))
    3816              :     {
    3817         5328 :     case BIT_AND_EXPR:
    3818         5328 :       {
    3819         5328 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3820         5328 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3821         5328 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    3822              :           {
    3823           16 :             if (integer_onep (_q31))
    3824              :               {
    3825           16 :                 {
    3826           16 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    3827           16 :                   tree res = generic_simplify_58 (loc, type, _p0, _p1, captures);
    3828           16 :                   if (res) return res;
    3829              :                 }
    3830              :               }
    3831              :           }
    3832              :         break;
    3833              :       }
    3834     68381880 :     default:;
    3835              :     }
    3836     68381880 :   switch (TREE_CODE (_p0))
    3837              :     {
    3838       212806 :     case BIT_AND_EXPR:
    3839       212806 :       {
    3840       212806 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3841       212806 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3842       212806 :         switch (TREE_CODE (_p1))
    3843              :           {
    3844            9 :           case BIT_XOR_EXPR:
    3845            9 :             {
    3846            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3847            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3848            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3849              :                 {
    3850            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3851              :                     {
    3852            0 :                       {
    3853            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3854            0 :                         tree res = generic_simplify_23 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3855            0 :                         if (res) return res;
    3856              :                       }
    3857              :                     }
    3858              :                 }
    3859              :               break;
    3860              :             }
    3861            1 :           case BIT_IOR_EXPR:
    3862            1 :             {
    3863            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3864            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3865            1 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3866              :                 {
    3867            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3868              :                     {
    3869            0 :                       {
    3870            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3871            0 :                         tree res = generic_simplify_59 (loc, type, _p0, _p1, captures);
    3872            0 :                         if (res) return res;
    3873              :                       }
    3874              :                     }
    3875              :                 }
    3876              :               break;
    3877              :             }
    3878       212806 :           default:;
    3879              :           }
    3880       212806 :         switch (TREE_CODE (_q21))
    3881              :           {
    3882       212502 :           case INTEGER_CST:
    3883       212502 :             {
    3884       212502 :               switch (TREE_CODE (_p1))
    3885              :                 {
    3886        14379 :                 CASE_CONVERT:
    3887        14379 :                   {
    3888        14379 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    3889        14379 :                     switch (TREE_CODE (_q50))
    3890              :                       {
    3891            0 :                       case BIT_AND_EXPR:
    3892            0 :                         {
    3893            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    3894            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    3895            0 :                           switch (TREE_CODE (_q61))
    3896              :                             {
    3897            0 :                             case INTEGER_CST:
    3898            0 :                               {
    3899            0 :                                 {
    3900            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
    3901            0 :                                   tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3902            0 :                                   if (res) return res;
    3903              :                                 }
    3904            0 :                                 break;
    3905              :                               }
    3906              :                             default:;
    3907              :                             }
    3908              :                           break;
    3909              :                         }
    3910              :                       default:;
    3911              :                       }
    3912              :                     break;
    3913              :                   }
    3914          300 :                 case BIT_AND_EXPR:
    3915          300 :                   {
    3916          300 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    3917          300 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    3918          300 :                     switch (TREE_CODE (_q51))
    3919              :                       {
    3920          300 :                       case INTEGER_CST:
    3921          300 :                         {
    3922          300 :                           {
    3923          300 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
    3924          300 :                             tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3925          300 :                             if (res) return res;
    3926              :                           }
    3927          200 :                           break;
    3928              :                         }
    3929              :                       default:;
    3930              :                       }
    3931              :                     break;
    3932              :                   }
    3933              :                 default:;
    3934              :                 }
    3935              :               break;
    3936              :             }
    3937              :           default:;
    3938              :           }
    3939              :         break;
    3940              :       }
    3941         1507 :     case BIT_XOR_EXPR:
    3942         1507 :       {
    3943         1507 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3944         1507 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3945         1507 :         switch (TREE_CODE (_p1))
    3946              :           {
    3947            0 :           case BIT_AND_EXPR:
    3948            0 :             {
    3949            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3950            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3951            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3952              :                 {
    3953            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3954              :                     {
    3955            0 :                       {
    3956            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3957            0 :                         tree res = generic_simplify_23 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3958            0 :                         if (res) return res;
    3959              :                       }
    3960              :                     }
    3961              :                 }
    3962              :               break;
    3963              :             }
    3964              :           default:;
    3965              :           }
    3966              :         break;
    3967              :       }
    3968          552 :     case BIT_IOR_EXPR:
    3969          552 :       {
    3970          552 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3971          552 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3972          552 :         switch (TREE_CODE (_p1))
    3973              :           {
    3974            0 :           case BIT_AND_EXPR:
    3975            0 :             {
    3976            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3977            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3978            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3979              :                 {
    3980            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3981              :                     {
    3982            0 :                       {
    3983            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3984            0 :                         tree res = generic_simplify_59 (loc, type, _p0, _p1, captures);
    3985            0 :                         if (res) return res;
    3986              :                       }
    3987              :                     }
    3988              :                 }
    3989              :               break;
    3990              :             }
    3991              :           default:;
    3992              :           }
    3993              :         break;
    3994              :       }
    3995      2001575 :     case MINUS_EXPR:
    3996      2001575 :       {
    3997      2001575 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3998      2001575 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3999      2001575 :         switch (TREE_CODE (_q20))
    4000              :           {
    4001            2 :           case BIT_AND_EXPR:
    4002            2 :             {
    4003            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4004            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4005            2 :               switch (TREE_CODE (_q21))
    4006              :                 {
    4007            1 :                 case BIT_IOR_EXPR:
    4008            1 :                   {
    4009            1 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    4010            1 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    4011            1 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4012              :                       {
    4013            1 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    4014              :                           {
    4015            1 :                             if (integer_all_onesp (_p1))
    4016              :                               {
    4017            1 :                                 {
    4018            1 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    4019            1 :                                   tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    4020            1 :                                   if (res) return res;
    4021              :                                 }
    4022              :                               }
    4023              :                           }
    4024              :                       }
    4025            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4026              :                       {
    4027            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    4028              :                           {
    4029            0 :                             if (integer_all_onesp (_p1))
    4030              :                               {
    4031            0 :                                 {
    4032            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    4033            0 :                                   tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    4034            0 :                                   if (res) return res;
    4035              :                                 }
    4036              :                               }
    4037              :                           }
    4038              :                       }
    4039              :                     break;
    4040              :                   }
    4041              :                 default:;
    4042              :                 }
    4043              :               break;
    4044              :             }
    4045      2001574 :           default:;
    4046              :           }
    4047      2001574 :       {
    4048      2001574 :         tree _q20_pops[1];
    4049      2001574 :         if (tree_nop_convert (_q20, _q20_pops))
    4050              :           {
    4051       874908 :             tree _q30 = _q20_pops[0];
    4052       874908 :             switch (TREE_CODE (_q30))
    4053              :               {
    4054            0 :               case BIT_AND_EXPR:
    4055            0 :                 {
    4056            0 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4057            0 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    4058            0 :                   {
    4059            0 :                     tree _q21_pops[1];
    4060            0 :                     if (tree_nop_convert (_q21, _q21_pops))
    4061              :                       {
    4062            0 :                         tree _q70 = _q21_pops[0];
    4063            0 :                         switch (TREE_CODE (_q70))
    4064              :                           {
    4065            0 :                           case BIT_IOR_EXPR:
    4066            0 :                             {
    4067            0 :                               tree _q80 = TREE_OPERAND (_q70, 0);
    4068            0 :                               tree _q81 = TREE_OPERAND (_q70, 1);
    4069            0 :                               if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    4070              :                                 {
    4071            0 :                                   if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    4072              :                                     {
    4073            0 :                                       if (integer_all_onesp (_p1))
    4074              :                                         {
    4075            0 :                                           {
    4076            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    4077            0 :                                             tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    4078            0 :                                             if (res) return res;
    4079              :                                           }
    4080              :                                         }
    4081              :                                     }
    4082              :                                 }
    4083            0 :                               if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    4084              :                                 {
    4085            0 :                                   if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    4086              :                                     {
    4087            0 :                                       if (integer_all_onesp (_p1))
    4088              :                                         {
    4089            0 :                                           {
    4090            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    4091            0 :                                             tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    4092            0 :                                             if (res) return res;
    4093              :                                           }
    4094              :                                         }
    4095              :                                     }
    4096              :                                 }
    4097              :                               break;
    4098              :                             }
    4099              :                           default:;
    4100              :                           }
    4101              :                       }
    4102              :                   }
    4103            0 :                   break;
    4104              :                 }
    4105              :               default:;
    4106              :               }
    4107              :           }
    4108              :       }
    4109      2001574 :         {
    4110      2001574 :           tree _q21_pops[1];
    4111      2001574 :           if (tree_nop_convert (_q21, _q21_pops))
    4112              :             {
    4113      1108484 :               tree _q40 = _q21_pops[0];
    4114      1108484 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4115              :                 {
    4116           34 :                   {
    4117           34 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    4118           34 :                     tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    4119           34 :                     if (res) return res;
    4120              :                   }
    4121              :                 }
    4122              :             }
    4123              :         }
    4124      2001544 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4125              :           {
    4126        45737 :             {
    4127        45737 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4128        45737 :               tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    4129        45737 :               if (res) return res;
    4130              :             }
    4131              :           }
    4132              :         break;
    4133              :       }
    4134     18356023 :     CASE_CONVERT:
    4135     18356023 :       {
    4136     18356023 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4137     18356023 :         switch (TREE_CODE (_q20))
    4138              :           {
    4139           72 :           case BIT_AND_EXPR:
    4140           72 :             {
    4141           72 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4142           72 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4143           72 :               switch (TREE_CODE (_q31))
    4144              :                 {
    4145            8 :                 case INTEGER_CST:
    4146            8 :                   {
    4147            8 :                     switch (TREE_CODE (_p1))
    4148              :                       {
    4149            0 :                       CASE_CONVERT:
    4150            0 :                         {
    4151            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4152            0 :                           switch (TREE_CODE (_q60))
    4153              :                             {
    4154            0 :                             case BIT_AND_EXPR:
    4155            0 :                               {
    4156            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4157            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4158            0 :                                 switch (TREE_CODE (_q71))
    4159              :                                   {
    4160            0 :                                   case INTEGER_CST:
    4161            0 :                                     {
    4162            0 :                                       {
    4163            0 :                                         tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
    4164            0 :                                         tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4165            0 :                                         if (res) return res;
    4166              :                                       }
    4167            0 :                                       break;
    4168              :                                     }
    4169              :                                   default:;
    4170              :                                   }
    4171              :                                 break;
    4172              :                               }
    4173              :                             default:;
    4174              :                             }
    4175              :                           break;
    4176              :                         }
    4177            0 :                       case BIT_AND_EXPR:
    4178            0 :                         {
    4179            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4180            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
    4181            0 :                           switch (TREE_CODE (_q61))
    4182              :                             {
    4183            0 :                             case INTEGER_CST:
    4184            0 :                               {
    4185            0 :                                 {
    4186            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
    4187            0 :                                   tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4188            0 :                                   if (res) return res;
    4189              :                                 }
    4190            0 :                                 break;
    4191              :                               }
    4192              :                             default:;
    4193              :                             }
    4194              :                           break;
    4195              :                         }
    4196              :                       default:;
    4197              :                       }
    4198              :                     break;
    4199              :                   }
    4200              :                 default:;
    4201              :                 }
    4202              :               break;
    4203              :             }
    4204         4923 :           case NEGATE_EXPR:
    4205         4923 :             {
    4206         4923 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4207         4923 :               {
    4208         4923 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q30 };
    4209         4923 :                 tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    4210         4923 :                 if (res) return res;
    4211              :               }
    4212         1771 :               break;
    4213              :             }
    4214              :           default:;
    4215              :           }
    4216              :         break;
    4217              :       }
    4218       127148 :     case COND_EXPR:
    4219       127148 :       {
    4220       127148 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4221       127148 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4222       127148 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4223       127148 :         if (integer_zerop (_q22))
    4224              :           {
    4225       116202 :             switch (TREE_CODE (_p1))
    4226              :               {
    4227           44 :               case COND_EXPR:
    4228           44 :                 {
    4229           44 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4230           44 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4231           44 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4232           44 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4233              :                     {
    4234            6 :                       if (integer_zerop (_q61))
    4235              :                         {
    4236            0 :                           {
    4237            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    4238            0 :                             const enum tree_code op = PLUS_EXPR;
    4239            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1241;
    4240            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1241;
    4241            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1241;
    4242            0 :                             {
    4243            0 :                               tree res_op0;
    4244            0 :                               res_op0 = captures[1];
    4245            0 :                               tree res_op1;
    4246            0 :                               res_op1 = captures[2];
    4247            0 :                               tree res_op2;
    4248            0 :                               res_op2 = captures[4];
    4249            0 :                               tree _r;
    4250            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4251            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    4252            0 :                               return _r;
    4253              :                             }
    4254            0 : next_after_fail1241:;
    4255              :                           }
    4256              :                         }
    4257              :                     }
    4258              :                   break;
    4259              :                 }
    4260              :               default:;
    4261              :               }
    4262              :           }
    4263       127148 :         if (integer_zerop (_q21))
    4264              :           {
    4265         1023 :             switch (TREE_CODE (_p1))
    4266              :               {
    4267            0 :               case COND_EXPR:
    4268            0 :                 {
    4269            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4270            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4271            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4272            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4273              :                     {
    4274            0 :                       if (integer_zerop (_q62))
    4275              :                         {
    4276            0 :                           {
    4277            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    4278            0 :                             const enum tree_code op = PLUS_EXPR;
    4279            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1242;
    4280            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1242;
    4281            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1242;
    4282            0 :                             {
    4283            0 :                               tree res_op0;
    4284            0 :                               res_op0 = captures[1];
    4285            0 :                               tree res_op1;
    4286            0 :                               res_op1 = captures[2];
    4287            0 :                               tree res_op2;
    4288            0 :                               res_op2 = captures[4];
    4289            0 :                               tree _r;
    4290            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4291            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    4292            0 :                               return _r;
    4293              :                             }
    4294            0 : next_after_fail1242:;
    4295              :                           }
    4296              :                         }
    4297              :                     }
    4298              :                   break;
    4299              :                 }
    4300              :               default:;
    4301              :               }
    4302              :           }
    4303       127148 :         switch (TREE_CODE (_q20))
    4304              :           {
    4305        29526 :           case LT_EXPR:
    4306        29526 :             {
    4307        29526 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4308        29526 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4309        29526 :               if (zerop (_q22))
    4310              :                 {
    4311        29460 :                   switch (TREE_CODE (_p1))
    4312              :                     {
    4313            0 :                     case COND_EXPR:
    4314            0 :                       {
    4315            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4316            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4317            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4318            0 :                         switch (TREE_CODE (_q80))
    4319              :                           {
    4320            0 :                           case GE_EXPR:
    4321            0 :                             {
    4322            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4323            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4324            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4325              :                                 {
    4326            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4327              :                                     {
    4328            0 :                                       if (zerop (_q82))
    4329              :                                         {
    4330            0 :                                           {
    4331            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4332            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR, GE_EXPR);
    4333            0 :                                             if (res) return res;
    4334              :                                           }
    4335              :                                         }
    4336              :                                     }
    4337              :                                 }
    4338              :                               break;
    4339              :                             }
    4340              :                           default:;
    4341              :                           }
    4342              :                         break;
    4343              :                       }
    4344              :                     default:;
    4345              :                     }
    4346              :                 }
    4347              :               break;
    4348              :             }
    4349        30555 :           case LE_EXPR:
    4350        30555 :             {
    4351        30555 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4352        30555 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4353        30555 :               if (zerop (_q22))
    4354              :                 {
    4355        30297 :                   switch (TREE_CODE (_p1))
    4356              :                     {
    4357            5 :                     case COND_EXPR:
    4358            5 :                       {
    4359            5 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4360            5 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4361            5 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4362            5 :                         switch (TREE_CODE (_q80))
    4363              :                           {
    4364            0 :                           case GT_EXPR:
    4365            0 :                             {
    4366            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4367            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4368            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4369              :                                 {
    4370            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4371              :                                     {
    4372            0 :                                       if (zerop (_q82))
    4373              :                                         {
    4374            0 :                                           {
    4375            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4376            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, LE_EXPR, GT_EXPR);
    4377            0 :                                             if (res) return res;
    4378              :                                           }
    4379              :                                         }
    4380              :                                     }
    4381              :                                 }
    4382              :                               break;
    4383              :                             }
    4384              :                           default:;
    4385              :                           }
    4386              :                         break;
    4387              :                       }
    4388              :                     default:;
    4389              :                     }
    4390              :                 }
    4391              :               break;
    4392              :             }
    4393         1051 :           case EQ_EXPR:
    4394         1051 :             {
    4395         1051 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4396         1051 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4397         1051 :               if (zerop (_q22))
    4398              :                 {
    4399          570 :                   switch (TREE_CODE (_p1))
    4400              :                     {
    4401           32 :                     case COND_EXPR:
    4402           32 :                       {
    4403           32 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4404           32 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4405           32 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4406           32 :                         switch (TREE_CODE (_q80))
    4407              :                           {
    4408            0 :                           case NE_EXPR:
    4409            0 :                             {
    4410            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4411            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4412            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4413              :                                 {
    4414            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4415              :                                     {
    4416            0 :                                       if (zerop (_q82))
    4417              :                                         {
    4418            0 :                                           {
    4419            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4420            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR, NE_EXPR);
    4421            0 :                                             if (res) return res;
    4422              :                                           }
    4423              :                                         }
    4424              :                                     }
    4425              :                                 }
    4426              :                               break;
    4427              :                             }
    4428              :                           default:;
    4429              :                           }
    4430              :                         break;
    4431              :                       }
    4432              :                     default:;
    4433              :                     }
    4434              :                 }
    4435              :               break;
    4436              :             }
    4437         7951 :           case NE_EXPR:
    4438         7951 :             {
    4439         7951 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4440         7951 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4441         7951 :               if (zerop (_q22))
    4442              :                 {
    4443         5350 :                   switch (TREE_CODE (_p1))
    4444              :                     {
    4445            7 :                     case COND_EXPR:
    4446            7 :                       {
    4447            7 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4448            7 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4449            7 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4450            7 :                         switch (TREE_CODE (_q80))
    4451              :                           {
    4452            0 :                           case EQ_EXPR:
    4453            0 :                             {
    4454            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4455            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4456            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4457              :                                 {
    4458            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4459              :                                     {
    4460            0 :                                       if (zerop (_q82))
    4461              :                                         {
    4462            0 :                                           {
    4463            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4464            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR, EQ_EXPR);
    4465            0 :                                             if (res) return res;
    4466              :                                           }
    4467              :                                         }
    4468              :                                     }
    4469              :                                 }
    4470              :                               break;
    4471              :                             }
    4472              :                           default:;
    4473              :                           }
    4474              :                         break;
    4475              :                       }
    4476              :                     default:;
    4477              :                     }
    4478              :                 }
    4479              :               break;
    4480              :             }
    4481        20567 :           case GE_EXPR:
    4482        20567 :             {
    4483        20567 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4484        20567 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4485        20567 :               if (zerop (_q22))
    4486              :                 {
    4487        19243 :                   switch (TREE_CODE (_p1))
    4488              :                     {
    4489            0 :                     case COND_EXPR:
    4490            0 :                       {
    4491            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4492            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4493            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4494            0 :                         switch (TREE_CODE (_q80))
    4495              :                           {
    4496            0 :                           case LT_EXPR:
    4497            0 :                             {
    4498            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4499            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4500            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4501              :                                 {
    4502            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4503              :                                     {
    4504            0 :                                       if (zerop (_q82))
    4505              :                                         {
    4506            0 :                                           {
    4507            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4508            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR, LT_EXPR);
    4509            0 :                                             if (res) return res;
    4510              :                                           }
    4511              :                                         }
    4512              :                                     }
    4513              :                                 }
    4514              :                               break;
    4515              :                             }
    4516              :                           default:;
    4517              :                           }
    4518              :                         break;
    4519              :                       }
    4520              :                     default:;
    4521              :                     }
    4522              :                 }
    4523              :               break;
    4524              :             }
    4525        30661 :           case GT_EXPR:
    4526        30661 :             {
    4527        30661 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4528        30661 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4529        30661 :               if (zerop (_q22))
    4530              :                 {
    4531        28504 :                   switch (TREE_CODE (_p1))
    4532              :                     {
    4533            0 :                     case COND_EXPR:
    4534            0 :                       {
    4535            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4536            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4537            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4538            0 :                         switch (TREE_CODE (_q80))
    4539              :                           {
    4540            0 :                           case LE_EXPR:
    4541            0 :                             {
    4542            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4543            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4544            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4545              :                                 {
    4546            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4547              :                                     {
    4548            0 :                                       if (zerop (_q82))
    4549              :                                         {
    4550            0 :                                           {
    4551            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4552            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR, LE_EXPR);
    4553            0 :                                             if (res) return res;
    4554              :                                           }
    4555              :                                         }
    4556              :                                     }
    4557              :                                 }
    4558              :                               break;
    4559              :                             }
    4560              :                           default:;
    4561              :                           }
    4562              :                         break;
    4563              :                       }
    4564              :                     default:;
    4565              :                     }
    4566              :                 }
    4567              :               break;
    4568              :             }
    4569            0 :           case UNORDERED_EXPR:
    4570            0 :             {
    4571            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4572            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4573            0 :               if (zerop (_q22))
    4574              :                 {
    4575            0 :                   switch (TREE_CODE (_p1))
    4576              :                     {
    4577            0 :                     case COND_EXPR:
    4578            0 :                       {
    4579            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4580            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4581            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4582            0 :                         switch (TREE_CODE (_q80))
    4583              :                           {
    4584            0 :                           case ORDERED_EXPR:
    4585            0 :                             {
    4586            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4587            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4588            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4589              :                                 {
    4590            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4591              :                                     {
    4592            0 :                                       if (zerop (_q82))
    4593              :                                         {
    4594            0 :                                           {
    4595            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4596            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    4597            0 :                                             if (res) return res;
    4598              :                                           }
    4599              :                                         }
    4600              :                                     }
    4601              :                                 }
    4602              :                               break;
    4603              :                             }
    4604              :                           default:;
    4605              :                           }
    4606              :                         break;
    4607              :                       }
    4608              :                     default:;
    4609              :                     }
    4610              :                 }
    4611              :               break;
    4612              :             }
    4613            0 :           case ORDERED_EXPR:
    4614            0 :             {
    4615            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4616            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4617            0 :               if (zerop (_q22))
    4618              :                 {
    4619            0 :                   switch (TREE_CODE (_p1))
    4620              :                     {
    4621            0 :                     case COND_EXPR:
    4622            0 :                       {
    4623            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4624            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4625            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4626            0 :                         switch (TREE_CODE (_q80))
    4627              :                           {
    4628            0 :                           case UNORDERED_EXPR:
    4629            0 :                             {
    4630            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4631            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4632            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4633              :                                 {
    4634            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4635              :                                     {
    4636            0 :                                       if (zerop (_q82))
    4637              :                                         {
    4638            0 :                                           {
    4639            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4640            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    4641            0 :                                             if (res) return res;
    4642              :                                           }
    4643              :                                         }
    4644              :                                     }
    4645              :                                 }
    4646              :                               break;
    4647              :                             }
    4648              :                           default:;
    4649              :                           }
    4650              :                         break;
    4651              :                       }
    4652              :                     default:;
    4653              :                     }
    4654              :                 }
    4655              :               break;
    4656              :             }
    4657            0 :           case UNLT_EXPR:
    4658            0 :             {
    4659            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4660            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4661            0 :               if (zerop (_q22))
    4662              :                 {
    4663            0 :                   switch (TREE_CODE (_p1))
    4664              :                     {
    4665            0 :                     case COND_EXPR:
    4666            0 :                       {
    4667            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4668            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4669            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4670            0 :                         switch (TREE_CODE (_q80))
    4671              :                           {
    4672            0 :                           case GE_EXPR:
    4673            0 :                             {
    4674            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4675            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4676            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4677              :                                 {
    4678            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4679              :                                     {
    4680            0 :                                       if (zerop (_q82))
    4681              :                                         {
    4682            0 :                                           {
    4683            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4684            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLT_EXPR, GE_EXPR);
    4685            0 :                                             if (res) return res;
    4686              :                                           }
    4687              :                                         }
    4688              :                                     }
    4689              :                                 }
    4690              :                               break;
    4691              :                             }
    4692              :                           default:;
    4693              :                           }
    4694              :                         break;
    4695              :                       }
    4696              :                     default:;
    4697              :                     }
    4698              :                 }
    4699              :               break;
    4700              :             }
    4701            0 :           case UNLE_EXPR:
    4702            0 :             {
    4703            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4704            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4705            0 :               if (zerop (_q22))
    4706              :                 {
    4707            0 :                   switch (TREE_CODE (_p1))
    4708              :                     {
    4709            0 :                     case COND_EXPR:
    4710            0 :                       {
    4711            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4712            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4713            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4714            0 :                         switch (TREE_CODE (_q80))
    4715              :                           {
    4716            0 :                           case GT_EXPR:
    4717            0 :                             {
    4718            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4719            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4720            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4721              :                                 {
    4722            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4723              :                                     {
    4724            0 :                                       if (zerop (_q82))
    4725              :                                         {
    4726            0 :                                           {
    4727            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4728            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLE_EXPR, GT_EXPR);
    4729            0 :                                             if (res) return res;
    4730              :                                           }
    4731              :                                         }
    4732              :                                     }
    4733              :                                 }
    4734              :                               break;
    4735              :                             }
    4736              :                           default:;
    4737              :                           }
    4738              :                         break;
    4739              :                       }
    4740              :                     default:;
    4741              :                     }
    4742              :                 }
    4743              :               break;
    4744              :             }
    4745            0 :           case UNGT_EXPR:
    4746            0 :             {
    4747            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4748            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4749            0 :               if (zerop (_q22))
    4750              :                 {
    4751            0 :                   switch (TREE_CODE (_p1))
    4752              :                     {
    4753            0 :                     case COND_EXPR:
    4754            0 :                       {
    4755            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4756            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4757            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4758            0 :                         switch (TREE_CODE (_q80))
    4759              :                           {
    4760            0 :                           case LE_EXPR:
    4761            0 :                             {
    4762            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4763            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4764            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4765              :                                 {
    4766            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4767              :                                     {
    4768            0 :                                       if (zerop (_q82))
    4769              :                                         {
    4770            0 :                                           {
    4771            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4772            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGT_EXPR, LE_EXPR);
    4773            0 :                                             if (res) return res;
    4774              :                                           }
    4775              :                                         }
    4776              :                                     }
    4777              :                                 }
    4778              :                               break;
    4779              :                             }
    4780              :                           default:;
    4781              :                           }
    4782              :                         break;
    4783              :                       }
    4784              :                     default:;
    4785              :                     }
    4786              :                 }
    4787              :               break;
    4788              :             }
    4789            0 :           case UNGE_EXPR:
    4790            0 :             {
    4791            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4792            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4793            0 :               if (zerop (_q22))
    4794              :                 {
    4795            0 :                   switch (TREE_CODE (_p1))
    4796              :                     {
    4797            0 :                     case COND_EXPR:
    4798            0 :                       {
    4799            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4800            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4801            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4802            0 :                         switch (TREE_CODE (_q80))
    4803              :                           {
    4804            0 :                           case LT_EXPR:
    4805            0 :                             {
    4806            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4807            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4808            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4809              :                                 {
    4810            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4811              :                                     {
    4812            0 :                                       if (zerop (_q82))
    4813              :                                         {
    4814            0 :                                           {
    4815            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4816            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGE_EXPR, LT_EXPR);
    4817            0 :                                             if (res) return res;
    4818              :                                           }
    4819              :                                         }
    4820              :                                     }
    4821              :                                 }
    4822              :                               break;
    4823              :                             }
    4824              :                           default:;
    4825              :                           }
    4826              :                         break;
    4827              :                       }
    4828              :                     default:;
    4829              :                     }
    4830              :                 }
    4831              :               break;
    4832              :             }
    4833            0 :           case UNEQ_EXPR:
    4834            0 :             {
    4835            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4836            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4837            0 :               if (zerop (_q22))
    4838              :                 {
    4839            0 :                   switch (TREE_CODE (_p1))
    4840              :                     {
    4841            0 :                     case COND_EXPR:
    4842            0 :                       {
    4843            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4844            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4845            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4846            0 :                         switch (TREE_CODE (_q80))
    4847              :                           {
    4848            0 :                           case LTGT_EXPR:
    4849            0 :                             {
    4850            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4851            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4852            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4853              :                                 {
    4854            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4855              :                                     {
    4856            0 :                                       if (zerop (_q82))
    4857              :                                         {
    4858            0 :                                           {
    4859            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4860            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNEQ_EXPR, LTGT_EXPR);
    4861            0 :                                             if (res) return res;
    4862              :                                           }
    4863              :                                         }
    4864              :                                     }
    4865              :                                 }
    4866              :                               break;
    4867              :                             }
    4868              :                           default:;
    4869              :                           }
    4870              :                         break;
    4871              :                       }
    4872              :                     default:;
    4873              :                     }
    4874              :                 }
    4875              :               break;
    4876              :             }
    4877            0 :           case LTGT_EXPR:
    4878            0 :             {
    4879            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4880            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4881            0 :               if (zerop (_q22))
    4882              :                 {
    4883            0 :                   switch (TREE_CODE (_p1))
    4884              :                     {
    4885            0 :                     case COND_EXPR:
    4886            0 :                       {
    4887            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4888            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4889            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4890            0 :                         switch (TREE_CODE (_q80))
    4891              :                           {
    4892            0 :                           case UNEQ_EXPR:
    4893            0 :                             {
    4894            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4895            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4896            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4897              :                                 {
    4898            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4899              :                                     {
    4900            0 :                                       if (zerop (_q82))
    4901              :                                         {
    4902            0 :                                           {
    4903            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4904            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, LTGT_EXPR, UNEQ_EXPR);
    4905            0 :                                             if (res) return res;
    4906              :                                           }
    4907              :                                         }
    4908              :                                     }
    4909              :                                 }
    4910              :                               break;
    4911              :                             }
    4912              :                           default:;
    4913              :                           }
    4914              :                         break;
    4915              :                       }
    4916              :                     default:;
    4917              :                     }
    4918              :                 }
    4919              :               break;
    4920              :             }
    4921              :           default:;
    4922              :           }
    4923              :         break;
    4924              :       }
    4925          168 :     case VEC_COND_EXPR:
    4926          168 :       {
    4927          168 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4928          168 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4929          168 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4930          168 :         if (integer_zerop (_q22))
    4931              :           {
    4932          106 :             switch (TREE_CODE (_p1))
    4933              :               {
    4934           24 :               case VEC_COND_EXPR:
    4935           24 :                 {
    4936           24 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4937           24 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4938           24 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4939           24 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4940              :                     {
    4941            0 :                       if (integer_zerop (_q61))
    4942              :                         {
    4943            0 :                           {
    4944            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    4945            0 :                             const enum tree_code op = PLUS_EXPR;
    4946            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1243;
    4947            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1243;
    4948            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1243;
    4949            0 :                             {
    4950            0 :                               tree res_op0;
    4951            0 :                               res_op0 = captures[1];
    4952            0 :                               tree res_op1;
    4953            0 :                               res_op1 = captures[2];
    4954            0 :                               tree res_op2;
    4955            0 :                               res_op2 = captures[4];
    4956            0 :                               tree _r;
    4957            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4958            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    4959            0 :                               return _r;
    4960              :                             }
    4961            0 : next_after_fail1243:;
    4962              :                           }
    4963              :                         }
    4964              :                     }
    4965              :                   break;
    4966              :                 }
    4967              :               default:;
    4968              :               }
    4969              :           }
    4970          168 :         if (integer_zerop (_q21))
    4971              :           {
    4972            0 :             switch (TREE_CODE (_p1))
    4973              :               {
    4974            0 :               case VEC_COND_EXPR:
    4975            0 :                 {
    4976            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4977            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4978            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4979            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4980              :                     {
    4981            0 :                       if (integer_zerop (_q62))
    4982              :                         {
    4983            0 :                           {
    4984            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    4985            0 :                             const enum tree_code op = PLUS_EXPR;
    4986            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1244;
    4987            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1244;
    4988            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1244;
    4989            0 :                             {
    4990            0 :                               tree res_op0;
    4991            0 :                               res_op0 = captures[1];
    4992            0 :                               tree res_op1;
    4993            0 :                               res_op1 = captures[2];
    4994            0 :                               tree res_op2;
    4995            0 :                               res_op2 = captures[4];
    4996            0 :                               tree _r;
    4997            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4998            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    4999            0 :                               return _r;
    5000              :                             }
    5001            0 : next_after_fail1244:;
    5002              :                           }
    5003              :                         }
    5004              :                     }
    5005              :                   break;
    5006              :                 }
    5007              :               default:;
    5008              :               }
    5009              :           }
    5010          168 :         switch (TREE_CODE (_q20))
    5011              :           {
    5012            8 :           case LT_EXPR:
    5013            8 :             {
    5014            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5015            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5016            8 :               if (integer_zerop (_q22))
    5017              :                 {
    5018            8 :                   switch (TREE_CODE (_p1))
    5019              :                     {
    5020            0 :                     case VEC_COND_EXPR:
    5021            0 :                       {
    5022            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5023            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5024            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5025            0 :                         switch (TREE_CODE (_q80))
    5026              :                           {
    5027            0 :                           case GE_EXPR:
    5028            0 :                             {
    5029            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5030            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5031            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5032              :                                 {
    5033            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5034              :                                     {
    5035            0 :                                       if (integer_zerop (_q82))
    5036              :                                         {
    5037            0 :                                           {
    5038            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5039            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR, GE_EXPR);
    5040            0 :                                             if (res) return res;
    5041              :                                           }
    5042              :                                         }
    5043              :                                     }
    5044              :                                 }
    5045              :                               break;
    5046              :                             }
    5047              :                           default:;
    5048              :                           }
    5049              :                         break;
    5050              :                       }
    5051              :                     default:;
    5052              :                     }
    5053              :                 }
    5054              :               break;
    5055              :             }
    5056            8 :           case LE_EXPR:
    5057            8 :             {
    5058            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5059            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5060            8 :               if (integer_zerop (_q22))
    5061              :                 {
    5062            8 :                   switch (TREE_CODE (_p1))
    5063              :                     {
    5064            0 :                     case VEC_COND_EXPR:
    5065            0 :                       {
    5066            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5067            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5068            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5069            0 :                         switch (TREE_CODE (_q80))
    5070              :                           {
    5071            0 :                           case GT_EXPR:
    5072            0 :                             {
    5073            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5074            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5075            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5076              :                                 {
    5077            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5078              :                                     {
    5079            0 :                                       if (integer_zerop (_q82))
    5080              :                                         {
    5081            0 :                                           {
    5082            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5083            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, LE_EXPR, GT_EXPR);
    5084            0 :                                             if (res) return res;
    5085              :                                           }
    5086              :                                         }
    5087              :                                     }
    5088              :                                 }
    5089              :                               break;
    5090              :                             }
    5091              :                           default:;
    5092              :                           }
    5093              :                         break;
    5094              :                       }
    5095              :                     default:;
    5096              :                     }
    5097              :                 }
    5098              :               break;
    5099              :             }
    5100           34 :           case EQ_EXPR:
    5101           34 :             {
    5102           34 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5103           34 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5104           34 :               if (integer_zerop (_q22))
    5105              :                 {
    5106           34 :                   switch (TREE_CODE (_p1))
    5107              :                     {
    5108           24 :                     case VEC_COND_EXPR:
    5109           24 :                       {
    5110           24 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5111           24 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5112           24 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5113           24 :                         switch (TREE_CODE (_q80))
    5114              :                           {
    5115           24 :                           case NE_EXPR:
    5116           24 :                             {
    5117           24 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5118           24 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5119           24 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5120              :                                 {
    5121           24 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5122              :                                     {
    5123           24 :                                       if (integer_zerop (_q82))
    5124              :                                         {
    5125           24 :                                           {
    5126           24 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5127           24 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR, NE_EXPR);
    5128           24 :                                             if (res) return res;
    5129              :                                           }
    5130              :                                         }
    5131              :                                     }
    5132              :                                 }
    5133              :                               break;
    5134              :                             }
    5135              :                           default:;
    5136              :                           }
    5137              :                         break;
    5138              :                       }
    5139              :                     default:;
    5140              :                     }
    5141              :                 }
    5142              :               break;
    5143              :             }
    5144           22 :           case NE_EXPR:
    5145           22 :             {
    5146           22 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5147           22 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5148           22 :               if (integer_zerop (_q22))
    5149              :                 {
    5150            8 :                   switch (TREE_CODE (_p1))
    5151              :                     {
    5152            0 :                     case VEC_COND_EXPR:
    5153            0 :                       {
    5154            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5155            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5156            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5157            0 :                         switch (TREE_CODE (_q80))
    5158              :                           {
    5159            0 :                           case EQ_EXPR:
    5160            0 :                             {
    5161            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5162            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5163            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5164              :                                 {
    5165            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5166              :                                     {
    5167            0 :                                       if (integer_zerop (_q82))
    5168              :                                         {
    5169            0 :                                           {
    5170            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5171            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR, EQ_EXPR);
    5172            0 :                                             if (res) return res;
    5173              :                                           }
    5174              :                                         }
    5175              :                                     }
    5176              :                                 }
    5177              :                               break;
    5178              :                             }
    5179              :                           default:;
    5180              :                           }
    5181              :                         break;
    5182              :                       }
    5183              :                     default:;
    5184              :                     }
    5185              :                 }
    5186              :               break;
    5187              :             }
    5188           15 :           case GE_EXPR:
    5189           15 :             {
    5190           15 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5191           15 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5192           15 :               if (integer_zerop (_q22))
    5193              :                 {
    5194           15 :                   switch (TREE_CODE (_p1))
    5195              :                     {
    5196            0 :                     case VEC_COND_EXPR:
    5197            0 :                       {
    5198            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5199            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5200            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5201            0 :                         switch (TREE_CODE (_q80))
    5202              :                           {
    5203            0 :                           case LT_EXPR:
    5204            0 :                             {
    5205            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5206            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5207            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5208              :                                 {
    5209            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5210              :                                     {
    5211            0 :                                       if (integer_zerop (_q82))
    5212              :                                         {
    5213            0 :                                           {
    5214            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5215            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR, LT_EXPR);
    5216            0 :                                             if (res) return res;
    5217              :                                           }
    5218              :                                         }
    5219              :                                     }
    5220              :                                 }
    5221              :                               break;
    5222              :                             }
    5223              :                           default:;
    5224              :                           }
    5225              :                         break;
    5226              :                       }
    5227              :                     default:;
    5228              :                     }
    5229              :                 }
    5230              :               break;
    5231              :             }
    5232           81 :           case GT_EXPR:
    5233           81 :             {
    5234           81 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5235           81 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5236           81 :               if (integer_zerop (_q22))
    5237              :                 {
    5238           33 :                   switch (TREE_CODE (_p1))
    5239              :                     {
    5240            0 :                     case VEC_COND_EXPR:
    5241            0 :                       {
    5242            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5243            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5244            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5245            0 :                         switch (TREE_CODE (_q80))
    5246              :                           {
    5247            0 :                           case LE_EXPR:
    5248            0 :                             {
    5249            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5250            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5251            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5252              :                                 {
    5253            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5254              :                                     {
    5255            0 :                                       if (integer_zerop (_q82))
    5256              :                                         {
    5257            0 :                                           {
    5258            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5259            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR, LE_EXPR);
    5260            0 :                                             if (res) return res;
    5261              :                                           }
    5262              :                                         }
    5263              :                                     }
    5264              :                                 }
    5265              :                               break;
    5266              :                             }
    5267              :                           default:;
    5268              :                           }
    5269              :                         break;
    5270              :                       }
    5271              :                     default:;
    5272              :                     }
    5273              :                 }
    5274              :               break;
    5275              :             }
    5276            0 :           case UNORDERED_EXPR:
    5277            0 :             {
    5278            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5279            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5280            0 :               if (integer_zerop (_q22))
    5281              :                 {
    5282            0 :                   switch (TREE_CODE (_p1))
    5283              :                     {
    5284            0 :                     case VEC_COND_EXPR:
    5285            0 :                       {
    5286            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5287            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5288            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5289            0 :                         switch (TREE_CODE (_q80))
    5290              :                           {
    5291            0 :                           case ORDERED_EXPR:
    5292            0 :                             {
    5293            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5294            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5295            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5296              :                                 {
    5297            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5298              :                                     {
    5299            0 :                                       if (integer_zerop (_q82))
    5300              :                                         {
    5301            0 :                                           {
    5302            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5303            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    5304            0 :                                             if (res) return res;
    5305              :                                           }
    5306              :                                         }
    5307              :                                     }
    5308              :                                 }
    5309              :                               break;
    5310              :                             }
    5311              :                           default:;
    5312              :                           }
    5313              :                         break;
    5314              :                       }
    5315              :                     default:;
    5316              :                     }
    5317              :                 }
    5318              :               break;
    5319              :             }
    5320            0 :           case ORDERED_EXPR:
    5321            0 :             {
    5322            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5323            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5324            0 :               if (integer_zerop (_q22))
    5325              :                 {
    5326            0 :                   switch (TREE_CODE (_p1))
    5327              :                     {
    5328            0 :                     case VEC_COND_EXPR:
    5329            0 :                       {
    5330            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5331            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5332            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5333            0 :                         switch (TREE_CODE (_q80))
    5334              :                           {
    5335            0 :                           case UNORDERED_EXPR:
    5336            0 :                             {
    5337            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5338            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5339            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5340              :                                 {
    5341            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5342              :                                     {
    5343            0 :                                       if (integer_zerop (_q82))
    5344              :                                         {
    5345            0 :                                           {
    5346            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5347            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    5348            0 :                                             if (res) return res;
    5349              :                                           }
    5350              :                                         }
    5351              :                                     }
    5352              :                                 }
    5353              :                               break;
    5354              :                             }
    5355              :                           default:;
    5356              :                           }
    5357              :                         break;
    5358              :                       }
    5359              :                     default:;
    5360              :                     }
    5361              :                 }
    5362              :               break;
    5363              :             }
    5364            0 :           case UNLT_EXPR:
    5365            0 :             {
    5366            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5367            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5368            0 :               if (integer_zerop (_q22))
    5369              :                 {
    5370            0 :                   switch (TREE_CODE (_p1))
    5371              :                     {
    5372            0 :                     case VEC_COND_EXPR:
    5373            0 :                       {
    5374            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5375            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5376            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5377            0 :                         switch (TREE_CODE (_q80))
    5378              :                           {
    5379            0 :                           case GE_EXPR:
    5380            0 :                             {
    5381            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5382            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5383            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5384              :                                 {
    5385            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5386              :                                     {
    5387            0 :                                       if (integer_zerop (_q82))
    5388              :                                         {
    5389            0 :                                           {
    5390            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5391            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLT_EXPR, GE_EXPR);
    5392            0 :                                             if (res) return res;
    5393              :                                           }
    5394              :                                         }
    5395              :                                     }
    5396              :                                 }
    5397              :                               break;
    5398              :                             }
    5399              :                           default:;
    5400              :                           }
    5401              :                         break;
    5402              :                       }
    5403              :                     default:;
    5404              :                     }
    5405              :                 }
    5406              :               break;
    5407              :             }
    5408            0 :           case UNLE_EXPR:
    5409            0 :             {
    5410            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5411            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5412            0 :               if (integer_zerop (_q22))
    5413              :                 {
    5414            0 :                   switch (TREE_CODE (_p1))
    5415              :                     {
    5416            0 :                     case VEC_COND_EXPR:
    5417            0 :                       {
    5418            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5419            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5420            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5421            0 :                         switch (TREE_CODE (_q80))
    5422              :                           {
    5423            0 :                           case GT_EXPR:
    5424            0 :                             {
    5425            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5426            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5427            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5428              :                                 {
    5429            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5430              :                                     {
    5431            0 :                                       if (integer_zerop (_q82))
    5432              :                                         {
    5433            0 :                                           {
    5434            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5435            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLE_EXPR, GT_EXPR);
    5436            0 :                                             if (res) return res;
    5437              :                                           }
    5438              :                                         }
    5439              :                                     }
    5440              :                                 }
    5441              :                               break;
    5442              :                             }
    5443              :                           default:;
    5444              :                           }
    5445              :                         break;
    5446              :                       }
    5447              :                     default:;
    5448              :                     }
    5449              :                 }
    5450              :               break;
    5451              :             }
    5452            0 :           case UNGT_EXPR:
    5453            0 :             {
    5454            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5455            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5456            0 :               if (integer_zerop (_q22))
    5457              :                 {
    5458            0 :                   switch (TREE_CODE (_p1))
    5459              :                     {
    5460            0 :                     case VEC_COND_EXPR:
    5461            0 :                       {
    5462            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5463            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5464            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5465            0 :                         switch (TREE_CODE (_q80))
    5466              :                           {
    5467            0 :                           case LE_EXPR:
    5468            0 :                             {
    5469            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5470            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5471            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5472              :                                 {
    5473            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5474              :                                     {
    5475            0 :                                       if (integer_zerop (_q82))
    5476              :                                         {
    5477            0 :                                           {
    5478            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5479            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGT_EXPR, LE_EXPR);
    5480            0 :                                             if (res) return res;
    5481              :                                           }
    5482              :                                         }
    5483              :                                     }
    5484              :                                 }
    5485              :                               break;
    5486              :                             }
    5487              :                           default:;
    5488              :                           }
    5489              :                         break;
    5490              :                       }
    5491              :                     default:;
    5492              :                     }
    5493              :                 }
    5494              :               break;
    5495              :             }
    5496            0 :           case UNGE_EXPR:
    5497            0 :             {
    5498            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5499            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5500            0 :               if (integer_zerop (_q22))
    5501              :                 {
    5502            0 :                   switch (TREE_CODE (_p1))
    5503              :                     {
    5504            0 :                     case VEC_COND_EXPR:
    5505            0 :                       {
    5506            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5507            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5508            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5509            0 :                         switch (TREE_CODE (_q80))
    5510              :                           {
    5511            0 :                           case LT_EXPR:
    5512            0 :                             {
    5513            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5514            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5515            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5516              :                                 {
    5517            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5518              :                                     {
    5519            0 :                                       if (integer_zerop (_q82))
    5520              :                                         {
    5521            0 :                                           {
    5522            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5523            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGE_EXPR, LT_EXPR);
    5524            0 :                                             if (res) return res;
    5525              :                                           }
    5526              :                                         }
    5527              :                                     }
    5528              :                                 }
    5529              :                               break;
    5530              :                             }
    5531              :                           default:;
    5532              :                           }
    5533              :                         break;
    5534              :                       }
    5535              :                     default:;
    5536              :                     }
    5537              :                 }
    5538              :               break;
    5539              :             }
    5540            0 :           case UNEQ_EXPR:
    5541            0 :             {
    5542            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5543            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5544            0 :               if (integer_zerop (_q22))
    5545              :                 {
    5546            0 :                   switch (TREE_CODE (_p1))
    5547              :                     {
    5548            0 :                     case VEC_COND_EXPR:
    5549            0 :                       {
    5550            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5551            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5552            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5553            0 :                         switch (TREE_CODE (_q80))
    5554              :                           {
    5555            0 :                           case LTGT_EXPR:
    5556            0 :                             {
    5557            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5558            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5559            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5560              :                                 {
    5561            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5562              :                                     {
    5563            0 :                                       if (integer_zerop (_q82))
    5564              :                                         {
    5565            0 :                                           {
    5566            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5567            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNEQ_EXPR, LTGT_EXPR);
    5568            0 :                                             if (res) return res;
    5569              :                                           }
    5570              :                                         }
    5571              :                                     }
    5572              :                                 }
    5573              :                               break;
    5574              :                             }
    5575              :                           default:;
    5576              :                           }
    5577              :                         break;
    5578              :                       }
    5579              :                     default:;
    5580              :                     }
    5581              :                 }
    5582              :               break;
    5583              :             }
    5584            0 :           case LTGT_EXPR:
    5585            0 :             {
    5586            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5587            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5588            0 :               if (integer_zerop (_q22))
    5589              :                 {
    5590            0 :                   switch (TREE_CODE (_p1))
    5591              :                     {
    5592            0 :                     case VEC_COND_EXPR:
    5593            0 :                       {
    5594            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5595            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5596            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5597            0 :                         switch (TREE_CODE (_q80))
    5598              :                           {
    5599            0 :                           case UNEQ_EXPR:
    5600            0 :                             {
    5601            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5602            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5603            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5604              :                                 {
    5605            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5606              :                                     {
    5607            0 :                                       if (integer_zerop (_q82))
    5608              :                                         {
    5609            0 :                                           {
    5610            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5611            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, LTGT_EXPR, UNEQ_EXPR);
    5612            0 :                                             if (res) return res;
    5613              :                                           }
    5614              :                                         }
    5615              :                                     }
    5616              :                                 }
    5617              :                               break;
    5618              :                             }
    5619              :                           default:;
    5620              :                           }
    5621              :                         break;
    5622              :                       }
    5623              :                     default:;
    5624              :                     }
    5625              :                 }
    5626              :               break;
    5627              :             }
    5628              :           default:;
    5629              :           }
    5630              :         break;
    5631              :       }
    5632     68332902 :     default:;
    5633              :     }
    5634     68332902 : {
    5635     68332902 :   tree _p0_pops[1];
    5636     68332902 :   if (tree_nop_convert (_p0, _p0_pops))
    5637              :     {
    5638     13622098 :       tree _q20 = _p0_pops[0];
    5639     13622098 :       switch (TREE_CODE (_q20))
    5640              :         {
    5641       136711 :         case MINUS_EXPR:
    5642       136711 :           {
    5643       136711 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5644       136711 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5645       136711 :             switch (TREE_CODE (_q30))
    5646              :               {
    5647            2 :               case BIT_AND_EXPR:
    5648            2 :                 {
    5649            2 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    5650            2 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    5651            2 :                   switch (TREE_CODE (_q31))
    5652              :                     {
    5653            1 :                     case BIT_IOR_EXPR:
    5654            1 :                       {
    5655            1 :                         tree _q70 = TREE_OPERAND (_q31, 0);
    5656            1 :                         tree _q71 = TREE_OPERAND (_q31, 1);
    5657            1 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    5658              :                           {
    5659            1 :                             if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
    5660              :                               {
    5661            1 :                                 if (integer_all_onesp (_p1))
    5662              :                                   {
    5663            1 :                                     {
    5664            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
    5665            1 :                                       tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    5666            1 :                                       if (res) return res;
    5667              :                                     }
    5668              :                                   }
    5669              :                               }
    5670              :                           }
    5671            0 :                         if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
    5672              :                           {
    5673            0 :                             if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
    5674              :                               {
    5675            0 :                                 if (integer_all_onesp (_p1))
    5676              :                                   {
    5677            0 :                                     {
    5678            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
    5679            0 :                                       tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    5680            0 :                                       if (res) return res;
    5681              :                                     }
    5682              :                                   }
    5683              :                               }
    5684              :                           }
    5685              :                         break;
    5686              :                       }
    5687              :                     default:;
    5688              :                     }
    5689              :                   break;
    5690              :                 }
    5691       136710 :               default:;
    5692              :               }
    5693       136710 :           {
    5694       136710 :             tree _q30_pops[1];
    5695       136710 :             if (tree_nop_convert (_q30, _q30_pops))
    5696              :               {
    5697        90519 :                 tree _q40 = _q30_pops[0];
    5698        90519 :                 switch (TREE_CODE (_q40))
    5699              :                   {
    5700            0 :                   case BIT_AND_EXPR:
    5701            0 :                     {
    5702            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    5703            0 :                       tree _q51 = TREE_OPERAND (_q40, 1);
    5704            0 :                       {
    5705            0 :                         tree _q31_pops[1];
    5706            0 :                         if (tree_nop_convert (_q31, _q31_pops))
    5707              :                           {
    5708            0 :                             tree _q80 = _q31_pops[0];
    5709            0 :                             switch (TREE_CODE (_q80))
    5710              :                               {
    5711            0 :                               case BIT_IOR_EXPR:
    5712            0 :                                 {
    5713            0 :                                   tree _q90 = TREE_OPERAND (_q80, 0);
    5714            0 :                                   tree _q91 = TREE_OPERAND (_q80, 1);
    5715            0 :                                   if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    5716              :                                     {
    5717            0 :                                       if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
    5718              :                                         {
    5719            0 :                                           if (integer_all_onesp (_p1))
    5720              :                                             {
    5721            0 :                                               {
    5722            0 :                                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
    5723            0 :                                                 tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    5724            0 :                                                 if (res) return res;
    5725              :                                               }
    5726              :                                             }
    5727              :                                         }
    5728              :                                     }
    5729            0 :                                   if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
    5730              :                                     {
    5731            0 :                                       if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
    5732              :                                         {
    5733            0 :                                           if (integer_all_onesp (_p1))
    5734              :                                             {
    5735            0 :                                               {
    5736            0 :                                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
    5737            0 :                                                 tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    5738            0 :                                                 if (res) return res;
    5739              :                                               }
    5740              :                                             }
    5741              :                                         }
    5742              :                                     }
    5743              :                                   break;
    5744              :                                 }
    5745              :                               default:;
    5746              :                               }
    5747              :                           }
    5748              :                       }
    5749            0 :                       break;
    5750              :                     }
    5751              :                   default:;
    5752              :                   }
    5753              :               }
    5754              :           }
    5755       136710 :             break;
    5756              :           }
    5757              :         default:;
    5758              :         }
    5759              :     }
    5760              : }
    5761     68332901 :   switch (TREE_CODE (_p1))
    5762              :     {
    5763      7913834 :     CASE_CONVERT:
    5764      7913834 :       {
    5765      7913834 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5766      7913834 :         switch (TREE_CODE (_q30))
    5767              :           {
    5768         1833 :           case NEGATE_EXPR:
    5769         1833 :             {
    5770         1833 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5771         1833 :               {
    5772         1833 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    5773         1833 :                 tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    5774         1833 :                 if (res) return res;
    5775              :               }
    5776          295 :               break;
    5777              :             }
    5778              :           default:;
    5779              :           }
    5780              :         break;
    5781              :       }
    5782         7839 :     case NEGATE_EXPR:
    5783         7839 :       {
    5784         7839 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5785         7839 :         {
    5786         7839 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5787         7839 :           tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    5788         7839 :           if (res) return res;
    5789              :         }
    5790            0 :         break;
    5791              :       }
    5792     68323524 :     default:;
    5793              :     }
    5794     68323524 :   switch (TREE_CODE (_p0))
    5795              :     {
    5796       204695 :     case NEGATE_EXPR:
    5797       204695 :       {
    5798       204695 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5799       204695 :         {
    5800       204695 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    5801       204695 :           tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    5802       204695 :           if (res) return res;
    5803              :         }
    5804          134 :         break;
    5805              :       }
    5806     68118963 :     default:;
    5807              :     }
    5808     68118963 : {
    5809     68118963 :   tree _p0_pops[1];
    5810     68118963 :   if (tree_nop_convert (_p0, _p0_pops))
    5811              :     {
    5812     13616050 :       tree _q20 = _p0_pops[0];
    5813     13616050 :       switch (TREE_CODE (_q20))
    5814              :         {
    5815       136202 :         case MINUS_EXPR:
    5816       136202 :           {
    5817       136202 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5818       136202 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5819       136202 :             {
    5820       136202 :               tree _q31_pops[1];
    5821       136202 :               if (tree_nop_convert (_q31, _q31_pops))
    5822              :                 {
    5823       100610 :                   tree _q50 = _q31_pops[0];
    5824       100610 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    5825              :                     {
    5826           30 :                       {
    5827           30 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
    5828           30 :                         tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5829           30 :                         if (res) return res;
    5830              :                       }
    5831              :                     }
    5832              :                 }
    5833              :             }
    5834       136172 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    5835              :               {
    5836            0 :                 {
    5837            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    5838            0 :                   tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5839            0 :                   if (res) return res;
    5840              :                 }
    5841              :               }
    5842       136172 :             if (CONSTANT_CLASS_P (_q31))
    5843              :               {
    5844        16109 :                 if (CONSTANT_CLASS_P (_p1))
    5845              :                   {
    5846        15996 :                     {
    5847        15996 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5848        15996 :                       tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR);
    5849        15996 :                       if (res) return res;
    5850              :                     }
    5851              :                   }
    5852              :               }
    5853       120176 :             if (CONSTANT_CLASS_P (_q30))
    5854              :               {
    5855        14487 :                 if (CONSTANT_CLASS_P (_p1))
    5856              :                   {
    5857         5658 :                     {
    5858         5658 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5859         5658 :                       tree res = generic_simplify_64 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    5860         5658 :                       if (res) return res;
    5861              :                     }
    5862              :                   }
    5863              :               }
    5864              :             break;
    5865              :           }
    5866      1337152 :         case PLUS_EXPR:
    5867      1337152 :           {
    5868      1337152 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5869      1337152 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5870      1337152 :             if (CONSTANT_CLASS_P (_q31))
    5871              :               {
    5872      1138573 :                 if (CONSTANT_CLASS_P (_p1))
    5873              :                   {
    5874      1050201 :                     {
    5875      1050201 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5876      1050201 :                       tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR);
    5877      1050201 :                       if (res) return res;
    5878              :                     }
    5879              :                   }
    5880              :               }
    5881              :             break;
    5882              :           }
    5883              :         default:;
    5884              :         }
    5885              :     }
    5886              : }
    5887     67047978 :   switch (TREE_CODE (_p1))
    5888              :     {
    5889       171944 :     case MINUS_EXPR:
    5890       171944 :       {
    5891       171944 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5892       171944 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5893       171944 :         {
    5894       171944 :           tree _q31_pops[1];
    5895       171944 :           if (tree_nop_convert (_q31, _q31_pops))
    5896              :             {
    5897        60832 :               tree _q50 = _q31_pops[0];
    5898        60832 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5899              :                 {
    5900            0 :                   {
    5901            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    5902            0 :                     tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5903            0 :                     if (res) return res;
    5904              :                   }
    5905              :                 }
    5906              :             }
    5907              :         }
    5908       171944 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5909              :           {
    5910          315 :             {
    5911          315 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    5912          315 :               tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5913          315 :               if (res) return res;
    5914              :             }
    5915              :           }
    5916              :         break;
    5917              :       }
    5918     67047663 :     default:;
    5919              :     }
    5920     67047663 : {
    5921     67047663 :   tree _p1_pops[1];
    5922     67047663 :   if (tree_nop_convert (_p1, _p1_pops))
    5923              :     {
    5924      7631263 :       tree _q30 = _p1_pops[0];
    5925      7631263 :       switch (TREE_CODE (_q30))
    5926              :         {
    5927         3456 :         case MINUS_EXPR:
    5928         3456 :           {
    5929         3456 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5930         3456 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5931         3456 :             {
    5932         3456 :               tree _q41_pops[1];
    5933         3456 :               if (tree_nop_convert (_q41, _q41_pops))
    5934              :                 {
    5935          542 :                   tree _q60 = _q41_pops[0];
    5936          542 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    5937              :                     {
    5938            0 :                       {
    5939            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    5940            0 :                         tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5941            0 :                         if (res) return res;
    5942              :                       }
    5943              :                     }
    5944              :                 }
    5945              :             }
    5946         3456 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    5947              :               {
    5948            0 :                 {
    5949            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    5950            0 :                   tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5951            0 :                   if (res) return res;
    5952              :                 }
    5953              :               }
    5954              :             break;
    5955              :           }
    5956              :         default:;
    5957              :         }
    5958              :     }
    5959              : }
    5960     67047663 :   switch (TREE_CODE (_p0))
    5961              :     {
    5962      6430498 :     case PLUS_EXPR:
    5963      6430498 :       {
    5964      6430498 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5965      6430498 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5966      6430498 :         switch (TREE_CODE (_p1))
    5967              :           {
    5968        46274 :           case MINUS_EXPR:
    5969        46274 :             {
    5970        46274 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5971        46274 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5972        46274 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5973              :                 {
    5974          142 :                   {
    5975          142 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5976          142 :                     tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    5977          142 :                     if (res) return res;
    5978              :                   }
    5979              :                 }
    5980        46132 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5981              :                 {
    5982          311 :                   {
    5983          311 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5984          311 :                     tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    5985          311 :                     if (res) return res;
    5986              :                   }
    5987              :                 }
    5988              :               break;
    5989              :             }
    5990      6430045 :           default:;
    5991              :           }
    5992      6430045 :         if (CONSTANT_CLASS_P (_q21))
    5993              :           {
    5994      2562300 :             if (CONSTANT_CLASS_P (_p1))
    5995              :               {
    5996      1891358 :                 {
    5997      1891358 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5998      1891358 :                   tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR);
    5999      1891358 :                   if (res) return res;
    6000              :                 }
    6001              :               }
    6002              :           }
    6003              :         break;
    6004              :       }
    6005      1954877 :     case MINUS_EXPR:
    6006      1954877 :       {
    6007      1954877 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6008      1954877 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6009      1954877 :         switch (TREE_CODE (_p1))
    6010              :           {
    6011         1993 :           case PLUS_EXPR:
    6012         1993 :             {
    6013         1993 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6014         1993 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6015         1993 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6016              :                 {
    6017          352 :                   {
    6018          352 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    6019          352 :                     tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    6020          352 :                     if (res) return res;
    6021              :                   }
    6022              :                 }
    6023         1641 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6024              :                 {
    6025           27 :                   {
    6026           27 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q50, _q20 };
    6027           27 :                     tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    6028           27 :                     if (res) return res;
    6029              :                   }
    6030              :                 }
    6031              :               break;
    6032              :             }
    6033          508 :           case MINUS_EXPR:
    6034          508 :             {
    6035          508 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6036          508 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6037          508 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6038              :                 {
    6039            1 :                   {
    6040            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6041            1 :                     tree res = generic_simplify_66 (loc, type, _p0, _p1, captures);
    6042            1 :                     if (res) return res;
    6043              :                   }
    6044              :                 }
    6045          507 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6046              :                 {
    6047            9 :                   {
    6048            9 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    6049            9 :                     tree res = generic_simplify_66 (loc, type, _p0, _p1, captures);
    6050            9 :                     if (res) return res;
    6051              :                   }
    6052              :                 }
    6053              :               break;
    6054              :             }
    6055      1954488 :           default:;
    6056              :           }
    6057      1954488 :         if (CONSTANT_CLASS_P (_q21))
    6058              :           {
    6059       120727 :             if (CONSTANT_CLASS_P (_p1))
    6060              :               {
    6061        82303 :                 {
    6062        82303 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6063        82303 :                   tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR);
    6064        82303 :                   if (res) return res;
    6065              :                 }
    6066              :               }
    6067              :           }
    6068      1872378 :         if (CONSTANT_CLASS_P (_q20))
    6069              :           {
    6070       403017 :             if (CONSTANT_CLASS_P (_p1))
    6071              :               {
    6072       236216 :                 {
    6073       236216 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6074       236216 :                   tree res = generic_simplify_64 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6075       236216 :                   if (res) return res;
    6076              :                 }
    6077              :               }
    6078              :           }
    6079              :         break;
    6080              :       }
    6081          477 :     case POINTER_DIFF_EXPR:
    6082          477 :       {
    6083          477 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6084          477 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6085          477 :         switch (TREE_CODE (_p1))
    6086              :           {
    6087            7 :           case POINTER_DIFF_EXPR:
    6088            7 :             {
    6089            7 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6090            7 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6091            7 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6092              :                 {
    6093            7 :                   {
    6094            7 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6095            7 :                     tree res = generic_simplify_67 (loc, type, _p0, _p1, captures);
    6096            7 :                     if (res) return res;
    6097              :                   }
    6098              :                 }
    6099            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6100              :                 {
    6101            0 :                   {
    6102            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    6103            0 :                     tree res = generic_simplify_67 (loc, type, _p0, _p1, captures);
    6104            0 :                     if (res) return res;
    6105              :                   }
    6106              :                 }
    6107              :               break;
    6108              :             }
    6109              :           default:;
    6110              :           }
    6111              :         break;
    6112              :       }
    6113     17275333 :     CASE_CONVERT:
    6114     17275333 :       {
    6115     17275333 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6116     17275333 :         switch (TREE_CODE (_p1))
    6117              :           {
    6118      2749295 :           CASE_CONVERT:
    6119      2749295 :             {
    6120      2749295 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6121      2749295 :               {
    6122      2749295 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6123      2749295 :                 tree res = generic_simplify_68 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6124      2749295 :                 if (res) return res;
    6125              :               }
    6126      2749146 :               break;
    6127              :             }
    6128     17275184 :           default:;
    6129              :           }
    6130     17275184 :         switch (TREE_CODE (_q20))
    6131              :           {
    6132       114423 :           case BIT_NOT_EXPR:
    6133       114423 :             {
    6134       114423 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6135       114423 :               switch (TREE_CODE (_p1))
    6136              :                 {
    6137          187 :                 CASE_CONVERT:
    6138          187 :                   {
    6139          187 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6140          187 :                     if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
    6141              :                       {
    6142            0 :                         {
    6143            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6144            0 :                           tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
    6145            0 :                           if (res) return res;
    6146              :                         }
    6147              :                       }
    6148              :                     break;
    6149              :                   }
    6150              :                 default:;
    6151              :                 }
    6152              :               break;
    6153              :             }
    6154     17275184 :           default:;
    6155              :           }
    6156     17275184 :         switch (TREE_CODE (_p1))
    6157              :           {
    6158      2749146 :           CASE_CONVERT:
    6159      2749146 :             {
    6160      2749146 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6161      2749146 :               switch (TREE_CODE (_q40))
    6162              :                 {
    6163          441 :                 case BIT_NOT_EXPR:
    6164          441 :                   {
    6165          441 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6166          441 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6167              :                       {
    6168            0 :                         {
    6169            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6170            0 :                           tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
    6171            0 :                           if (res) return res;
    6172              :                         }
    6173              :                       }
    6174              :                     break;
    6175              :                   }
    6176              :                 default:;
    6177              :                 }
    6178              :               break;
    6179              :             }
    6180              :           default:;
    6181              :           }
    6182              :         break;
    6183              :       }
    6184       319044 :     case BIT_NOT_EXPR:
    6185       319044 :       {
    6186       319044 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6187       319044 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6188              :           {
    6189          539 :             {
    6190          539 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6191          539 :               tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
    6192          539 :               if (res) return res;
    6193              :             }
    6194              :           }
    6195       318505 :         if (integer_each_onep (_p1))
    6196              :           {
    6197         2659 :             {
    6198         2659 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6199         2659 :               tree res = generic_simplify_70 (loc, type, _p0, _p1, captures);
    6200         2659 :               if (res) return res;
    6201              :             }
    6202              :           }
    6203              :         break;
    6204              :       }
    6205     64834139 :     default:;
    6206              :     }
    6207     64834139 :   switch (TREE_CODE (_p1))
    6208              :     {
    6209        40082 :     case BIT_NOT_EXPR:
    6210        40082 :       {
    6211        40082 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6212        40082 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6213              :           {
    6214            0 :             {
    6215            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6216            0 :               tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
    6217            0 :               if (res) return res;
    6218              :             }
    6219              :           }
    6220              :         break;
    6221              :       }
    6222     64834139 :     default:;
    6223              :     }
    6224     64834139 :   switch (TREE_CODE (_p0))
    6225              :     {
    6226     17275184 :     CASE_CONVERT:
    6227     17275184 :       {
    6228     17275184 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6229     17275184 :         switch (TREE_CODE (_q20))
    6230              :           {
    6231       114423 :           case BIT_NOT_EXPR:
    6232       114423 :             {
    6233       114423 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6234       114423 :               if (integer_each_onep (_p1))
    6235              :                 {
    6236       110808 :                   {
    6237       110808 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6238       110808 :                     tree res = generic_simplify_70 (loc, type, _p0, _p1, captures);
    6239       110808 :                     if (res) return res;
    6240              :                   }
    6241              :                 }
    6242              :               break;
    6243              :             }
    6244              :           default:;
    6245              :           }
    6246              :         break;
    6247              :       }
    6248     12844708 :     case MULT_EXPR:
    6249     12844708 :       {
    6250     12844708 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6251     12844708 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6252     12844708 :         switch (TREE_CODE (_p1))
    6253              :           {
    6254      3299645 :           case MULT_EXPR:
    6255      3299645 :             {
    6256      3299645 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6257      3299645 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6258      3299645 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6259              :                 {
    6260       792174 :                   {
    6261       792174 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    6262       792174 :                     tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6263       792174 :                     if (res) return res;
    6264              :                   }
    6265              :                 }
    6266      3294805 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6267              :                 {
    6268           21 :                   {
    6269           21 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    6270           21 :                     tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6271           21 :                     if (res) return res;
    6272              :                   }
    6273              :                 }
    6274      3294800 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6275              :                 {
    6276          243 :                   {
    6277          243 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    6278          243 :                     tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6279          243 :                     if (res) return res;
    6280              :                   }
    6281              :                 }
    6282      3294627 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6283              :                 {
    6284      1247097 :                   {
    6285      1247097 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    6286      1247097 :                     tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6287      1247097 :                     if (res) return res;
    6288              :                   }
    6289              :                 }
    6290              :               break;
    6291              :             }
    6292              :           default:;
    6293              :           }
    6294              :         break;
    6295              :       }
    6296     63472325 :     default:;
    6297              :     }
    6298     63472325 :   switch (TREE_CODE (_p1))
    6299              :     {
    6300      3462003 :     case MULT_EXPR:
    6301      3462003 :       {
    6302      3462003 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6303      3462003 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6304      3462003 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6305              :           {
    6306         3853 :             {
    6307         3853 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    6308         3853 :               tree res = generic_simplify_72 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6309         3853 :               if (res) return res;
    6310              :             }
    6311              :           }
    6312      3458197 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6313              :           {
    6314            0 :             {
    6315            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6316            0 :               tree res = generic_simplify_72 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6317            0 :               if (res) return res;
    6318              :             }
    6319              :           }
    6320              :         break;
    6321              :       }
    6322     63468519 :     default:;
    6323              :     }
    6324     63468519 :   switch (TREE_CODE (_p0))
    6325              :     {
    6326     11592842 :     case MULT_EXPR:
    6327     11592842 :       {
    6328     11592842 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6329     11592842 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6330     11592842 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6331              :           {
    6332        32755 :             {
    6333        32755 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6334        32755 :               tree res = generic_simplify_73 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6335        32755 :               if (res) return res;
    6336              :             }
    6337              :           }
    6338     11560733 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6339              :           {
    6340       326005 :             {
    6341       326005 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    6342       326005 :               tree res = generic_simplify_73 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6343       326005 :               if (res) return res;
    6344              :             }
    6345              :           }
    6346     11235356 :         if (integer_nonzerop (_q20))
    6347              :           {
    6348          102 :             switch (TREE_CODE (_p1))
    6349              :               {
    6350           50 :               case INTEGER_CST:
    6351           50 :                 {
    6352           50 :                   {
    6353           50 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6354           50 :                     tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
    6355           50 :                     if (res) return res;
    6356              :                   }
    6357           50 :                   break;
    6358              :                 }
    6359              :               default:;
    6360              :               }
    6361              :           }
    6362     11235356 :         if (integer_nonzerop (_q21))
    6363              :           {
    6364      7440211 :             switch (TREE_CODE (_p1))
    6365              :               {
    6366      3704139 :               case INTEGER_CST:
    6367      3704139 :                 {
    6368      3704139 :                   {
    6369      3704139 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
    6370      3704139 :                     tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
    6371      3704139 :                     if (res) return res;
    6372              :                   }
    6373      3254687 :                   break;
    6374              :                 }
    6375              :               default:;
    6376              :               }
    6377              :           }
    6378     10785904 :         switch (TREE_CODE (_q20))
    6379              :           {
    6380       198276 :           case MINUS_EXPR:
    6381       198276 :             {
    6382       198276 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6383       198276 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6384       198276 :               if (tree_zero_one_valued_p (_q21))
    6385              :                 {
    6386            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6387              :                     {
    6388            0 :                       {
    6389            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
    6390            0 :                         tree res = generic_simplify_75 (loc, type, _p0, _p1, captures);
    6391            0 :                         if (res) return res;
    6392              :                       }
    6393              :                     }
    6394              :                 }
    6395              :               break;
    6396              :             }
    6397     10785904 :           default:;
    6398              :           }
    6399     10785904 :       if (tree_zero_one_valued_p (_q20))
    6400              :         {
    6401        38283 :           switch (TREE_CODE (_q21))
    6402              :             {
    6403            9 :             case MINUS_EXPR:
    6404            9 :               {
    6405            9 :                 tree _q40 = TREE_OPERAND (_q21, 0);
    6406            9 :                 tree _q41 = TREE_OPERAND (_q21, 1);
    6407            9 :                 if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
    6408              :                   {
    6409            9 :                     {
    6410            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
    6411            9 :                       tree res = generic_simplify_75 (loc, type, _p0, _p1, captures);
    6412            9 :                       if (res) return res;
    6413              :                     }
    6414              :                   }
    6415              :                 break;
    6416              :               }
    6417              :             default:;
    6418              :             }
    6419              :         }
    6420              :         break;
    6421              :       }
    6422         3112 :     case MIN_EXPR:
    6423         3112 :       {
    6424         3112 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6425         3112 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6426         3112 :         switch (TREE_CODE (_p1))
    6427              :           {
    6428            0 :           case MAX_EXPR:
    6429            0 :             {
    6430            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6431            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6432            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6433              :                 {
    6434            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6435              :                     {
    6436            0 :                       {
    6437            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6438            0 :                         if (!HONOR_NANS (captures[0])
    6439              : )
    6440              :                           {
    6441            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1245;
    6442            0 :                             {
    6443            0 :                               tree res_op0;
    6444            0 :                               res_op0 = captures[0];
    6445            0 :                               tree res_op1;
    6446            0 :                               res_op1 = captures[1];
    6447            0 :                               tree _r;
    6448            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6449            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    6450            0 :                               return _r;
    6451              :                             }
    6452            0 : next_after_fail1245:;
    6453              :                           }
    6454              :                       }
    6455              :                     }
    6456              :                 }
    6457            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6458              :                 {
    6459            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6460              :                     {
    6461            0 :                       {
    6462            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6463            0 :                         if (!HONOR_NANS (captures[0])
    6464              : )
    6465              :                           {
    6466            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1246;
    6467            0 :                             {
    6468            0 :                               tree res_op0;
    6469            0 :                               res_op0 = captures[0];
    6470            0 :                               tree res_op1;
    6471            0 :                               res_op1 = captures[1];
    6472            0 :                               tree _r;
    6473            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6474            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    6475            0 :                               return _r;
    6476              :                             }
    6477            0 : next_after_fail1246:;
    6478              :                           }
    6479              :                       }
    6480              :                     }
    6481              :                 }
    6482              :               break;
    6483              :             }
    6484              :           default:;
    6485              :           }
    6486              :         break;
    6487              :       }
    6488        12105 :     case MAX_EXPR:
    6489        12105 :       {
    6490        12105 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6491        12105 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6492        12105 :         switch (TREE_CODE (_p1))
    6493              :           {
    6494            0 :           case MIN_EXPR:
    6495            0 :             {
    6496            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6497            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6498            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6499              :                 {
    6500            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6501              :                     {
    6502            0 :                       {
    6503            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6504            0 :                         if (!HONOR_NANS (captures[0])
    6505              : )
    6506              :                           {
    6507            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1247;
    6508            0 :                             {
    6509            0 :                               tree res_op0;
    6510            0 :                               res_op0 = captures[0];
    6511            0 :                               tree res_op1;
    6512            0 :                               res_op1 = captures[1];
    6513            0 :                               tree _r;
    6514            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6515            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    6516            0 :                               return _r;
    6517              :                             }
    6518            0 : next_after_fail1247:;
    6519              :                           }
    6520              :                       }
    6521              :                     }
    6522              :                 }
    6523            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6524              :                 {
    6525            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6526              :                     {
    6527            0 :                       {
    6528            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6529            0 :                         if (!HONOR_NANS (captures[0])
    6530              : )
    6531              :                           {
    6532            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1248;
    6533            0 :                             {
    6534            0 :                               tree res_op0;
    6535            0 :                               res_op0 = captures[0];
    6536            0 :                               tree res_op1;
    6537            0 :                               res_op1 = captures[1];
    6538            0 :                               tree _r;
    6539            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6540            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    6541            0 :                               return _r;
    6542              :                             }
    6543            0 : next_after_fail1248:;
    6544              :                           }
    6545              :                       }
    6546              :                     }
    6547              :                 }
    6548              :               break;
    6549              :             }
    6550              :           default:;
    6551              :           }
    6552              :         break;
    6553              :       }
    6554     62661579 :     default:;
    6555              :     }
    6556     62661579 :   switch (TREE_CODE (_p1))
    6557              :     {
    6558      3458133 :     case MULT_EXPR:
    6559      3458133 :       {
    6560      3458133 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6561      3458133 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6562      3458133 :         switch (TREE_CODE (_q30))
    6563              :           {
    6564       145687 :           case MINUS_EXPR:
    6565       145687 :             {
    6566       145687 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6567       145687 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6568       145687 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6569              :                 {
    6570           16 :                   if (tree_zero_one_valued_p (_q31))
    6571              :                     {
    6572            0 :                       {
    6573            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
    6574            0 :                         tree res = generic_simplify_75 (loc, type, _p0, _p1, captures);
    6575            0 :                         if (res) return res;
    6576              :                       }
    6577              :                     }
    6578              :                 }
    6579              :               break;
    6580              :             }
    6581      3458133 :           default:;
    6582              :           }
    6583      3458133 :       if (tree_zero_one_valued_p (_q30))
    6584              :         {
    6585        13751 :           switch (TREE_CODE (_q31))
    6586              :             {
    6587            0 :             case MINUS_EXPR:
    6588            0 :               {
    6589            0 :                 tree _q50 = TREE_OPERAND (_q31, 0);
    6590            0 :                 tree _q51 = TREE_OPERAND (_q31, 1);
    6591            0 :                 if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
    6592              :                   {
    6593            0 :                     {
    6594            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
    6595            0 :                       tree res = generic_simplify_75 (loc, type, _p0, _p1, captures);
    6596            0 :                       if (res) return res;
    6597              :                     }
    6598              :                   }
    6599              :                 break;
    6600              :               }
    6601              :             default:;
    6602              :             }
    6603              :         }
    6604              :         break;
    6605              :       }
    6606     62661579 :     default:;
    6607              :     }
    6608     62661579 :   switch (TREE_CODE (_p0))
    6609              :     {
    6610     10785902 :     case MULT_EXPR:
    6611     10785902 :       {
    6612     10785902 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6613     10785902 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6614     10785902 :         switch (TREE_CODE (_q20))
    6615              :           {
    6616        18916 :           case TRUNC_DIV_EXPR:
    6617        18916 :             {
    6618        18916 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6619        18916 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6620        18916 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6621              :                 {
    6622         2322 :                   switch (TREE_CODE (_p1))
    6623              :                     {
    6624            2 :                     case TRUNC_MOD_EXPR:
    6625            2 :                       {
    6626            2 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6627            2 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6628            2 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6629              :                           {
    6630            2 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6631              :                               {
    6632            2 :                                 {
    6633            2 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6634            2 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6635            2 :                                   if (res) return res;
    6636              :                                 }
    6637              :                               }
    6638              :                           }
    6639              :                         break;
    6640              :                       }
    6641              :                     default:;
    6642              :                     }
    6643              :                 }
    6644              :               break;
    6645              :             }
    6646            0 :           case CEIL_DIV_EXPR:
    6647            0 :             {
    6648            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6649            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6650            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6651              :                 {
    6652            0 :                   switch (TREE_CODE (_p1))
    6653              :                     {
    6654            0 :                     case CEIL_MOD_EXPR:
    6655            0 :                       {
    6656            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6657            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6658            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6659              :                           {
    6660            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6661              :                               {
    6662            0 :                                 {
    6663            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6664            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6665            0 :                                   if (res) return res;
    6666              :                                 }
    6667              :                               }
    6668              :                           }
    6669              :                         break;
    6670              :                       }
    6671              :                     default:;
    6672              :                     }
    6673              :                 }
    6674              :               break;
    6675              :             }
    6676            0 :           case FLOOR_DIV_EXPR:
    6677            0 :             {
    6678            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6679            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6680            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6681              :                 {
    6682            0 :                   switch (TREE_CODE (_p1))
    6683              :                     {
    6684            0 :                     case FLOOR_MOD_EXPR:
    6685            0 :                       {
    6686            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6687            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6688            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6689              :                           {
    6690            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6691              :                               {
    6692            0 :                                 {
    6693            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6694            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    6695            0 :                                   if (res) return res;
    6696              :                                 }
    6697              :                               }
    6698              :                           }
    6699              :                         break;
    6700              :                       }
    6701              :                     default:;
    6702              :                     }
    6703              :                 }
    6704              :               break;
    6705              :             }
    6706            0 :           case ROUND_DIV_EXPR:
    6707            0 :             {
    6708            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6709            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6710            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6711              :                 {
    6712            0 :                   switch (TREE_CODE (_p1))
    6713              :                     {
    6714            0 :                     case ROUND_MOD_EXPR:
    6715            0 :                       {
    6716            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6717            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6718            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6719              :                           {
    6720            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6721              :                               {
    6722            0 :                                 {
    6723            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6724            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    6725            0 :                                   if (res) return res;
    6726              :                                 }
    6727              :                               }
    6728              :                           }
    6729              :                         break;
    6730              :                       }
    6731              :                     default:;
    6732              :                     }
    6733              :                 }
    6734              :               break;
    6735              :             }
    6736     10785900 :           default:;
    6737              :           }
    6738     10785900 :         switch (TREE_CODE (_q21))
    6739              :           {
    6740            6 :           case TRUNC_DIV_EXPR:
    6741            6 :             {
    6742            6 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6743            6 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6744            6 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6745              :                 {
    6746            0 :                   switch (TREE_CODE (_p1))
    6747              :                     {
    6748            0 :                     case TRUNC_MOD_EXPR:
    6749            0 :                       {
    6750            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6751            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6752            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6753              :                           {
    6754            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6755              :                               {
    6756            0 :                                 {
    6757            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6758            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6759            0 :                                   if (res) return res;
    6760              :                                 }
    6761              :                               }
    6762              :                           }
    6763              :                         break;
    6764              :                       }
    6765              :                     default:;
    6766              :                     }
    6767              :                 }
    6768              :               break;
    6769              :             }
    6770            4 :           case CEIL_DIV_EXPR:
    6771            4 :             {
    6772            4 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6773            4 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6774            4 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6775              :                 {
    6776            0 :                   switch (TREE_CODE (_p1))
    6777              :                     {
    6778            0 :                     case CEIL_MOD_EXPR:
    6779            0 :                       {
    6780            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6781            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6782            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6783              :                           {
    6784            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6785              :                               {
    6786            0 :                                 {
    6787            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6788            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6789            0 :                                   if (res) return res;
    6790              :                                 }
    6791              :                               }
    6792              :                           }
    6793              :                         break;
    6794              :                       }
    6795              :                     default:;
    6796              :                     }
    6797              :                 }
    6798              :               break;
    6799              :             }
    6800            0 :           case FLOOR_DIV_EXPR:
    6801            0 :             {
    6802            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6803            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6804            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6805              :                 {
    6806            0 :                   switch (TREE_CODE (_p1))
    6807              :                     {
    6808            0 :                     case FLOOR_MOD_EXPR:
    6809            0 :                       {
    6810            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6811            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6812            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6813              :                           {
    6814            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6815              :                               {
    6816            0 :                                 {
    6817            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6818            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    6819            0 :                                   if (res) return res;
    6820              :                                 }
    6821              :                               }
    6822              :                           }
    6823              :                         break;
    6824              :                       }
    6825              :                     default:;
    6826              :                     }
    6827              :                 }
    6828              :               break;
    6829              :             }
    6830            0 :           case ROUND_DIV_EXPR:
    6831            0 :             {
    6832            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6833            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6834            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6835              :                 {
    6836            0 :                   switch (TREE_CODE (_p1))
    6837              :                     {
    6838            0 :                     case ROUND_MOD_EXPR:
    6839            0 :                       {
    6840            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6841            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6842            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6843              :                           {
    6844            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6845              :                               {
    6846            0 :                                 {
    6847            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6848            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    6849            0 :                                   if (res) return res;
    6850              :                                 }
    6851              :                               }
    6852              :                           }
    6853              :                         break;
    6854              :                       }
    6855              :                     default:;
    6856              :                     }
    6857              :                 }
    6858              :               break;
    6859              :             }
    6860              :           default:;
    6861              :           }
    6862              :         break;
    6863              :       }
    6864        30065 :     case TRUNC_MOD_EXPR:
    6865        30065 :       {
    6866        30065 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6867        30065 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6868        30065 :         switch (TREE_CODE (_p1))
    6869              :           {
    6870          119 :           case MULT_EXPR:
    6871          119 :             {
    6872          119 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6873          119 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6874          119 :               switch (TREE_CODE (_q50))
    6875              :                 {
    6876          106 :                 case TRUNC_DIV_EXPR:
    6877          106 :                   {
    6878          106 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    6879          106 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    6880          106 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6881              :                       {
    6882          106 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6883              :                           {
    6884           94 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6885              :                               {
    6886            0 :                                 {
    6887            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6888            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6889            0 :                                   if (res) return res;
    6890              :                                 }
    6891              :                               }
    6892              :                           }
    6893              :                       }
    6894              :                     break;
    6895              :                   }
    6896          119 :                 default:;
    6897              :                 }
    6898          119 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6899              :                 {
    6900            0 :                   switch (TREE_CODE (_q51))
    6901              :                     {
    6902            0 :                     case TRUNC_DIV_EXPR:
    6903            0 :                       {
    6904            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    6905            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    6906            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6907              :                           {
    6908            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    6909              :                               {
    6910            0 :                                 {
    6911            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6912            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6913            0 :                                   if (res) return res;
    6914              :                                 }
    6915              :                               }
    6916              :                           }
    6917              :                         break;
    6918              :                       }
    6919              :                     default:;
    6920              :                     }
    6921              :                 }
    6922              :               break;
    6923              :             }
    6924              :           default:;
    6925              :           }
    6926              :         break;
    6927              :       }
    6928            0 :     case CEIL_MOD_EXPR:
    6929            0 :       {
    6930            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6931            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6932            0 :         switch (TREE_CODE (_p1))
    6933              :           {
    6934            0 :           case MULT_EXPR:
    6935            0 :             {
    6936            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6937            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6938            0 :               switch (TREE_CODE (_q50))
    6939              :                 {
    6940            0 :                 case CEIL_DIV_EXPR:
    6941            0 :                   {
    6942            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    6943            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    6944            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6945              :                       {
    6946            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6947              :                           {
    6948            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6949              :                               {
    6950            0 :                                 {
    6951            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6952            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6953            0 :                                   if (res) return res;
    6954              :                                 }
    6955              :                               }
    6956              :                           }
    6957              :                       }
    6958              :                     break;
    6959              :                   }
    6960            0 :                 default:;
    6961              :                 }
    6962            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6963              :                 {
    6964            0 :                   switch (TREE_CODE (_q51))
    6965              :                     {
    6966            0 :                     case CEIL_DIV_EXPR:
    6967            0 :                       {
    6968            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    6969            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    6970            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6971              :                           {
    6972            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    6973              :                               {
    6974            0 :                                 {
    6975            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6976            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6977            0 :                                   if (res) return res;
    6978              :                                 }
    6979              :                               }
    6980              :                           }
    6981              :                         break;
    6982              :                       }
    6983              :                     default:;
    6984              :                     }
    6985              :                 }
    6986              :               break;
    6987              :             }
    6988              :           default:;
    6989              :           }
    6990              :         break;
    6991              :       }
    6992          126 :     case FLOOR_MOD_EXPR:
    6993          126 :       {
    6994          126 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6995          126 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6996          126 :         switch (TREE_CODE (_p1))
    6997              :           {
    6998            0 :           case MULT_EXPR:
    6999            0 :             {
    7000            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7001            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7002            0 :               switch (TREE_CODE (_q50))
    7003              :                 {
    7004            0 :                 case FLOOR_DIV_EXPR:
    7005            0 :                   {
    7006            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    7007            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    7008            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7009              :                       {
    7010            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    7011              :                           {
    7012            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7013              :                               {
    7014            0 :                                 {
    7015            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7016            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    7017            0 :                                   if (res) return res;
    7018              :                                 }
    7019              :                               }
    7020              :                           }
    7021              :                       }
    7022              :                     break;
    7023              :                   }
    7024            0 :                 default:;
    7025              :                 }
    7026            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7027              :                 {
    7028            0 :                   switch (TREE_CODE (_q51))
    7029              :                     {
    7030            0 :                     case FLOOR_DIV_EXPR:
    7031            0 :                       {
    7032            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    7033            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    7034            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    7035              :                           {
    7036            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    7037              :                               {
    7038            0 :                                 {
    7039            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7040            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    7041            0 :                                   if (res) return res;
    7042              :                                 }
    7043              :                               }
    7044              :                           }
    7045              :                         break;
    7046              :                       }
    7047              :                     default:;
    7048              :                     }
    7049              :                 }
    7050              :               break;
    7051              :             }
    7052              :           default:;
    7053              :           }
    7054              :         break;
    7055              :       }
    7056            0 :     case ROUND_MOD_EXPR:
    7057            0 :       {
    7058            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7059            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7060            0 :         switch (TREE_CODE (_p1))
    7061              :           {
    7062            0 :           case MULT_EXPR:
    7063            0 :             {
    7064            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7065            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7066            0 :               switch (TREE_CODE (_q50))
    7067              :                 {
    7068            0 :                 case ROUND_DIV_EXPR:
    7069            0 :                   {
    7070            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    7071            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    7072            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7073              :                       {
    7074            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    7075              :                           {
    7076            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7077              :                               {
    7078            0 :                                 {
    7079            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7080            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    7081            0 :                                   if (res) return res;
    7082              :                                 }
    7083              :                               }
    7084              :                           }
    7085              :                       }
    7086              :                     break;
    7087              :                   }
    7088            0 :                 default:;
    7089              :                 }
    7090            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7091              :                 {
    7092            0 :                   switch (TREE_CODE (_q51))
    7093              :                     {
    7094            0 :                     case ROUND_DIV_EXPR:
    7095            0 :                       {
    7096            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    7097            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    7098            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    7099              :                           {
    7100            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    7101              :                               {
    7102            0 :                                 {
    7103            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7104            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    7105            0 :                                   if (res) return res;
    7106              :                                 }
    7107              :                               }
    7108              :                           }
    7109              :                         break;
    7110              :                       }
    7111              :                     default:;
    7112              :                     }
    7113              :                 }
    7114              :               break;
    7115              :             }
    7116              :           default:;
    7117              :           }
    7118              :         break;
    7119              :       }
    7120     62661577 :     default:;
    7121              :     }
    7122     62661577 :   switch (TREE_CODE (_p1))
    7123              :     {
    7124      3089960 :     case REAL_CST:
    7125      3089960 :       {
    7126      3089960 :         {
    7127      3089960 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7128      3089960 :           if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
    7129              : )
    7130              :             {
    7131       114428 :               {
    7132       114428 :  tree tem = const_unop (NEGATE_EXPR, type, captures[1]);
    7133       114428 :                   if (!TREE_OVERFLOW (tem) || !flag_trapping_math
    7134              : )
    7135              :                     {
    7136       114428 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1249;
    7137       114428 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1249;
    7138       114428 :                       {
    7139       114428 :                         tree res_op0;
    7140       114428 :                         res_op0 = captures[0];
    7141       114428 :                         tree res_op1;
    7142       114428 :                         res_op1 =  tem;
    7143       114428 :                         tree _r;
    7144       114428 :                         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    7145       114428 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    7146       114428 :                         return _r;
    7147              :                       }
    7148      2975532 : next_after_fail1249:;
    7149              :                     }
    7150              :               }
    7151              :             }
    7152              :         }
    7153      2975532 :         break;
    7154              :       }
    7155     62547149 :     default:;
    7156              :     }
    7157     62547149 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    7158              :     {
    7159      1585313 :       {
    7160      1585313 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7161      1585313 :         if (SCALAR_FLOAT_TYPE_P (type)
    7162              : )
    7163              :           {
    7164          683 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1250;
    7165          683 :             {
    7166          683 :               tree res_op0;
    7167          683 :               res_op0 = captures[0];
    7168          683 :               tree res_op1;
    7169          683 :               res_op1 =  build_real (type, dconst2);
    7170          683 :               tree _r;
    7171          683 :               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7172          683 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    7173          683 :               return _r;
    7174              :             }
    7175            0 : next_after_fail1250:;
    7176              :           }
    7177              :         else
    7178              :           {
    7179      1584630 :             if (INTEGRAL_TYPE_P (type)
    7180              : )
    7181              :               {
    7182      1584554 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1251;
    7183      1584554 :                 {
    7184      1584554 :                   tree res_op0;
    7185      1584554 :                   res_op0 = captures[0];
    7186      1584554 :                   tree res_op1;
    7187      1584554 :                   res_op1 =  build_int_cst (type, 2);
    7188      1584554 :                   tree _r;
    7189      1584554 :                   _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7190      1584554 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    7191      1584554 :                   return _r;
    7192              :                 }
    7193            0 : next_after_fail1251:;
    7194              :               }
    7195              :           }
    7196              :       }
    7197              :     }
    7198     60961912 :   switch (TREE_CODE (_p0))
    7199              :     {
    7200          144 :     case VEC_COND_EXPR:
    7201          144 :       {
    7202          144 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7203          144 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7204          144 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7205          144 :         switch (TREE_CODE (_p1))
    7206              :           {
    7207           48 :           case VEC_COND_EXPR:
    7208           48 :             {
    7209           48 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7210           48 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7211           48 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7212           48 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7213              :                 {
    7214           24 :                   {
    7215           24 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7216           24 :                     if (VECTOR_TYPE_P (type)
    7217           24 :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    7218              :  || types_match (type, TREE_TYPE (captures[2]))
    7219              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7220              :  || (optimize_vectors_before_lowering_p ()
    7221              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7222              : )
    7223              :                       {
    7224           24 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1252;
    7225           24 :                         {
    7226           24 :                           tree res_op0;
    7227           24 :                           res_op0 = captures[1];
    7228           24 :                           tree res_op1;
    7229           24 :                           {
    7230           24 :                             tree _o1[2], _r1;
    7231           24 :                             _o1[0] = captures[2];
    7232           24 :                             _o1[1] = captures[5];
    7233           24 :                             _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7234           24 :                             if (EXPR_P (_r1))
    7235            0 :                               goto next_after_fail1252;
    7236           24 :                             res_op1 = _r1;
    7237              :                           }
    7238           24 :                           tree res_op2;
    7239           24 :                           {
    7240           24 :                             tree _o1[2], _r1;
    7241           24 :                             _o1[0] = captures[3];
    7242           24 :                             _o1[1] = captures[6];
    7243           24 :                             _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7244           24 :                             if (EXPR_P (_r1))
    7245            0 :                               goto next_after_fail1252;
    7246           24 :                             res_op2 = _r1;
    7247              :                           }
    7248           24 :                           tree _r;
    7249           24 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7250           24 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    7251           24 :                           return _r;
    7252              :                         }
    7253            0 : next_after_fail1252:;
    7254              :                       }
    7255              :                   }
    7256              :                 }
    7257              :               break;
    7258              :             }
    7259          120 :           default:;
    7260              :           }
    7261          120 :         {
    7262          120 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7263          120 :           if (VECTOR_TYPE_P (type)
    7264          120 :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    7265              :  || types_match (type, TREE_TYPE (captures[2]))
    7266              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7267              :  || (optimize_vectors_before_lowering_p ()
    7268              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7269              : )
    7270              :             {
    7271          120 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1253;
    7272          120 :               {
    7273          120 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1253;
    7274           26 :                 tree res_op0;
    7275           26 :                 res_op0 = captures[1];
    7276           26 :                 tree res_op1;
    7277           26 :                 {
    7278           26 :                   tree _o1[2], _r1;
    7279           26 :                   _o1[0] = captures[2];
    7280           26 :                   _o1[1] = unshare_expr (captures[4]);
    7281           26 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7282           26 :                   if (EXPR_P (_r1))
    7283            0 :                     goto next_after_fail1253;
    7284           26 :                   res_op1 = _r1;
    7285              :                 }
    7286           26 :                 tree res_op2;
    7287           26 :                 {
    7288           26 :                   tree _o1[2], _r1;
    7289           26 :                   _o1[0] = captures[3];
    7290           26 :                   _o1[1] = captures[4];
    7291           26 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7292           26 :                   if (EXPR_P (_r1))
    7293            0 :                     goto next_after_fail1253;
    7294           26 :                   res_op2 = _r1;
    7295              :                 }
    7296           26 :                 tree _r;
    7297           26 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7298           26 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    7299           26 :                 return _r;
    7300              :               }
    7301           94 : next_after_fail1253:;
    7302              :             }
    7303              :         }
    7304           94 :         if (integer_each_onep (_q21))
    7305              :           {
    7306            0 :             if (integer_zerop (_q22))
    7307              :               {
    7308            0 :                 {
    7309            0 :                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21, _q22 };
    7310            0 :                   tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
    7311            0 :                   if (res) return res;
    7312              :                 }
    7313              :               }
    7314              :           }
    7315              :         break;
    7316              :       }
    7317     60961862 :     default:;
    7318              :     }
    7319     60961862 :   switch (TREE_CODE (_p1))
    7320              :     {
    7321           40 :     case VEC_COND_EXPR:
    7322           40 :       {
    7323           40 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7324           40 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7325           40 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7326           40 :         {
    7327           40 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7328           40 :           if (VECTOR_TYPE_P (type)
    7329           40 :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    7330              :  || types_match (type, TREE_TYPE (captures[3]))
    7331              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    7332              :  || (optimize_vectors_before_lowering_p ()
    7333              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    7334              : )
    7335              :             {
    7336           40 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1254;
    7337           40 :               {
    7338           40 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1254;
    7339            0 :                 tree res_op0;
    7340            0 :                 res_op0 = captures[2];
    7341            0 :                 tree res_op1;
    7342            0 :                 {
    7343            0 :                   tree _o1[2], _r1;
    7344            0 :                   _o1[0] = unshare_expr (captures[0]);
    7345            0 :                   _o1[1] = captures[3];
    7346            0 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7347            0 :                   if (EXPR_P (_r1))
    7348            0 :                     goto next_after_fail1254;
    7349            0 :                   res_op1 = _r1;
    7350              :                 }
    7351            0 :                 tree res_op2;
    7352            0 :                 {
    7353            0 :                   tree _o1[2], _r1;
    7354            0 :                   _o1[0] = captures[0];
    7355            0 :                   _o1[1] = captures[4];
    7356            0 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7357            0 :                   if (EXPR_P (_r1))
    7358            0 :                     goto next_after_fail1254;
    7359            0 :                   res_op2 = _r1;
    7360              :                 }
    7361            0 :                 tree _r;
    7362            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7363            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    7364            0 :                 return _r;
    7365              :               }
    7366           40 : next_after_fail1254:;
    7367              :             }
    7368              :         }
    7369           40 :         break;
    7370              :       }
    7371       327969 :     case VIEW_CONVERT_EXPR:
    7372       327969 :       {
    7373       327969 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7374       327969 :         switch (TREE_CODE (_q30))
    7375              :           {
    7376            0 :           case VEC_COND_EXPR:
    7377            0 :             {
    7378            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7379            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7380            0 :               tree _q42 = TREE_OPERAND (_q30, 2);
    7381            0 :               if (integer_each_onep (_q41))
    7382              :                 {
    7383            0 :                   if (integer_zerop (_q42))
    7384              :                     {
    7385            0 :                       {
    7386            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
    7387            0 :                         tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
    7388            0 :                         if (res) return res;
    7389              :                       }
    7390              :                     }
    7391              :                 }
    7392              :               break;
    7393              :             }
    7394              :           default:;
    7395              :           }
    7396              :         break;
    7397              :       }
    7398     60961862 :     default:;
    7399              :     }
    7400     60961862 :   switch (TREE_CODE (_p0))
    7401              :     {
    7402       316982 :     case VIEW_CONVERT_EXPR:
    7403       316982 :       {
    7404       316982 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7405       316982 :         switch (TREE_CODE (_q20))
    7406              :           {
    7407            0 :           case VEC_COND_EXPR:
    7408            0 :             {
    7409            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7410            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7411            0 :               tree _q32 = TREE_OPERAND (_q20, 2);
    7412            0 :               if (integer_each_onep (_q31))
    7413              :                 {
    7414            0 :                   if (integer_zerop (_q32))
    7415              :                     {
    7416            0 :                       {
    7417            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q30, _q31, _q32 };
    7418            0 :                         tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
    7419            0 :                         if (res) return res;
    7420              :                       }
    7421              :                     }
    7422              :                 }
    7423              :               break;
    7424              :             }
    7425              :           default:;
    7426              :           }
    7427              :         break;
    7428              :       }
    7429     60961862 :     default:;
    7430              :     }
    7431     60961862 :   switch (TREE_CODE (_p1))
    7432              :     {
    7433           40 :     case VEC_COND_EXPR:
    7434           40 :       {
    7435           40 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7436           40 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7437           40 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7438           40 :         if (integer_each_onep (_q31))
    7439              :           {
    7440            0 :             if (integer_zerop (_q32))
    7441              :               {
    7442            0 :                 {
    7443            0 :                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7444            0 :                   tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
    7445            0 :                   if (res) return res;
    7446              :                 }
    7447              :               }
    7448              :           }
    7449              :         break;
    7450              :       }
    7451     60961862 :     default:;
    7452              :     }
    7453     60961862 :   switch (TREE_CODE (_p0))
    7454              :     {
    7455     17158683 :     CASE_CONVERT:
    7456     17158683 :       {
    7457     17158683 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7458     17158683 :         switch (TREE_CODE (_q20))
    7459              :           {
    7460            0 :           case LT_EXPR:
    7461            0 :             {
    7462            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7463            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7464            0 :               if (integer_minus_onep (_p1))
    7465              :                 {
    7466            0 :                   {
    7467            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7468            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    7469            0 :                     if (res) return res;
    7470              :                   }
    7471              :                 }
    7472              :               break;
    7473              :             }
    7474            0 :           case LE_EXPR:
    7475            0 :             {
    7476            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7477            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7478            0 :               if (integer_minus_onep (_p1))
    7479              :                 {
    7480            0 :                   {
    7481            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7482            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    7483            0 :                     if (res) return res;
    7484              :                   }
    7485              :                 }
    7486              :               break;
    7487              :             }
    7488           78 :           case EQ_EXPR:
    7489           78 :             {
    7490           78 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7491           78 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7492           78 :               if (integer_minus_onep (_p1))
    7493              :                 {
    7494            0 :                   {
    7495            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7496            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    7497            0 :                     if (res) return res;
    7498              :                   }
    7499              :                 }
    7500              :               break;
    7501              :             }
    7502          224 :           case NE_EXPR:
    7503          224 :             {
    7504          224 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7505          224 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7506          224 :               if (integer_minus_onep (_p1))
    7507              :                 {
    7508            0 :                   {
    7509            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7510            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    7511            0 :                     if (res) return res;
    7512              :                   }
    7513              :                 }
    7514              :               break;
    7515              :             }
    7516           12 :           case GE_EXPR:
    7517           12 :             {
    7518           12 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7519           12 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7520           12 :               if (integer_minus_onep (_p1))
    7521              :                 {
    7522            0 :                   {
    7523            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7524            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    7525            0 :                     if (res) return res;
    7526              :                   }
    7527              :                 }
    7528              :               break;
    7529              :             }
    7530            1 :           case GT_EXPR:
    7531            1 :             {
    7532            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7533            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7534            1 :               if (integer_minus_onep (_p1))
    7535              :                 {
    7536            0 :                   {
    7537            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7538            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    7539            0 :                     if (res) return res;
    7540              :                   }
    7541              :                 }
    7542              :               break;
    7543              :             }
    7544            0 :           case UNORDERED_EXPR:
    7545            0 :             {
    7546            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7547            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7548            0 :               if (integer_minus_onep (_p1))
    7549              :                 {
    7550            0 :                   {
    7551            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7552            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    7553            0 :                     if (res) return res;
    7554              :                   }
    7555              :                 }
    7556              :               break;
    7557              :             }
    7558            0 :           case ORDERED_EXPR:
    7559            0 :             {
    7560            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7561            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7562            0 :               if (integer_minus_onep (_p1))
    7563              :                 {
    7564            0 :                   {
    7565            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7566            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    7567            0 :                     if (res) return res;
    7568              :                   }
    7569              :                 }
    7570              :               break;
    7571              :             }
    7572            0 :           case UNLT_EXPR:
    7573            0 :             {
    7574            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7575            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7576            0 :               if (integer_minus_onep (_p1))
    7577              :                 {
    7578            0 :                   {
    7579            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7580            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    7581            0 :                     if (res) return res;
    7582              :                   }
    7583              :                 }
    7584              :               break;
    7585              :             }
    7586            0 :           case UNLE_EXPR:
    7587            0 :             {
    7588            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7589            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7590            0 :               if (integer_minus_onep (_p1))
    7591              :                 {
    7592            0 :                   {
    7593            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7594            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    7595            0 :                     if (res) return res;
    7596              :                   }
    7597              :                 }
    7598              :               break;
    7599              :             }
    7600            0 :           case UNGT_EXPR:
    7601            0 :             {
    7602            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7603            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7604            0 :               if (integer_minus_onep (_p1))
    7605              :                 {
    7606            0 :                   {
    7607            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7608            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    7609            0 :                     if (res) return res;
    7610              :                   }
    7611              :                 }
    7612              :               break;
    7613              :             }
    7614            0 :           case UNGE_EXPR:
    7615            0 :             {
    7616            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7617            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7618            0 :               if (integer_minus_onep (_p1))
    7619              :                 {
    7620            0 :                   {
    7621            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7622            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    7623            0 :                     if (res) return res;
    7624              :                   }
    7625              :                 }
    7626              :               break;
    7627              :             }
    7628            0 :           case UNEQ_EXPR:
    7629            0 :             {
    7630            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7631            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7632            0 :               if (integer_minus_onep (_p1))
    7633              :                 {
    7634            0 :                   {
    7635            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7636            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    7637            0 :                     if (res) return res;
    7638              :                   }
    7639              :                 }
    7640              :               break;
    7641              :             }
    7642            0 :           case LTGT_EXPR:
    7643            0 :             {
    7644            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7645            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7646            0 :               if (integer_minus_onep (_p1))
    7647              :                 {
    7648            0 :                   {
    7649            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7650            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    7651            0 :                     if (res) return res;
    7652              :                   }
    7653              :                 }
    7654              :               break;
    7655              :             }
    7656              :           default:;
    7657              :           }
    7658              :         break;
    7659              :       }
    7660          155 :     case LT_EXPR:
    7661          155 :       {
    7662          155 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7663          155 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7664          155 :         if (integer_minus_onep (_p1))
    7665              :           {
    7666            0 :             {
    7667            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7668            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    7669            0 :               if (res) return res;
    7670              :             }
    7671              :           }
    7672              :         break;
    7673              :       }
    7674           49 :     case LE_EXPR:
    7675           49 :       {
    7676           49 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7677           49 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7678           49 :         if (integer_minus_onep (_p1))
    7679              :           {
    7680            0 :             {
    7681            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7682            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    7683            0 :               if (res) return res;
    7684              :             }
    7685              :           }
    7686              :         break;
    7687              :       }
    7688        15093 :     case EQ_EXPR:
    7689        15093 :       {
    7690        15093 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7691        15093 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7692        15093 :         if (integer_minus_onep (_p1))
    7693              :           {
    7694           23 :             {
    7695           23 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7696           23 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    7697           23 :               if (res) return res;
    7698              :             }
    7699              :           }
    7700              :         break;
    7701              :       }
    7702         1677 :     case NE_EXPR:
    7703         1677 :       {
    7704         1677 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7705         1677 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7706         1677 :         if (integer_minus_onep (_p1))
    7707              :           {
    7708           33 :             {
    7709           33 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7710           33 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    7711           33 :               if (res) return res;
    7712              :             }
    7713              :           }
    7714              :         break;
    7715              :       }
    7716           35 :     case GE_EXPR:
    7717           35 :       {
    7718           35 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7719           35 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7720           35 :         if (integer_minus_onep (_p1))
    7721              :           {
    7722            0 :             {
    7723            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7724            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    7725            0 :               if (res) return res;
    7726              :             }
    7727              :           }
    7728              :         break;
    7729              :       }
    7730          103 :     case GT_EXPR:
    7731          103 :       {
    7732          103 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7733          103 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7734          103 :         if (integer_minus_onep (_p1))
    7735              :           {
    7736            0 :             {
    7737            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7738            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    7739            0 :               if (res) return res;
    7740              :             }
    7741              :           }
    7742              :         break;
    7743              :       }
    7744            0 :     case UNORDERED_EXPR:
    7745            0 :       {
    7746            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7747            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7748            0 :         if (integer_minus_onep (_p1))
    7749              :           {
    7750            0 :             {
    7751            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7752            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    7753            0 :               if (res) return res;
    7754              :             }
    7755              :           }
    7756              :         break;
    7757              :       }
    7758            0 :     case ORDERED_EXPR:
    7759            0 :       {
    7760            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7761            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7762            0 :         if (integer_minus_onep (_p1))
    7763              :           {
    7764            0 :             {
    7765            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7766            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    7767            0 :               if (res) return res;
    7768              :             }
    7769              :           }
    7770              :         break;
    7771              :       }
    7772            0 :     case UNLT_EXPR:
    7773            0 :       {
    7774            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7775            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7776            0 :         if (integer_minus_onep (_p1))
    7777              :           {
    7778            0 :             {
    7779            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7780            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    7781            0 :               if (res) return res;
    7782              :             }
    7783              :           }
    7784              :         break;
    7785              :       }
    7786            0 :     case UNLE_EXPR:
    7787            0 :       {
    7788            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7789            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7790            0 :         if (integer_minus_onep (_p1))
    7791              :           {
    7792            0 :             {
    7793            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7794            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    7795            0 :               if (res) return res;
    7796              :             }
    7797              :           }
    7798              :         break;
    7799              :       }
    7800            0 :     case UNGT_EXPR:
    7801            0 :       {
    7802            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7803            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7804            0 :         if (integer_minus_onep (_p1))
    7805              :           {
    7806            0 :             {
    7807            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7808            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    7809            0 :               if (res) return res;
    7810              :             }
    7811              :           }
    7812              :         break;
    7813              :       }
    7814            0 :     case UNGE_EXPR:
    7815            0 :       {
    7816            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7817            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7818            0 :         if (integer_minus_onep (_p1))
    7819              :           {
    7820            0 :             {
    7821            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7822            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    7823            0 :               if (res) return res;
    7824              :             }
    7825              :           }
    7826              :         break;
    7827              :       }
    7828            0 :     case UNEQ_EXPR:
    7829            0 :       {
    7830            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7831            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7832            0 :         if (integer_minus_onep (_p1))
    7833              :           {
    7834            0 :             {
    7835            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7836            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    7837            0 :               if (res) return res;
    7838              :             }
    7839              :           }
    7840              :         break;
    7841              :       }
    7842            0 :     case LTGT_EXPR:
    7843            0 :       {
    7844            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7845            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7846            0 :         if (integer_minus_onep (_p1))
    7847              :           {
    7848            0 :             {
    7849            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7850            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    7851            0 :               if (res) return res;
    7852              :             }
    7853              :           }
    7854              :         break;
    7855              :       }
    7856       524740 :     case RDIV_EXPR:
    7857       524740 :       {
    7858       524740 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7859       524740 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7860       524740 :         switch (TREE_CODE (_p1))
    7861              :           {
    7862       111715 :           case RDIV_EXPR:
    7863       111715 :             {
    7864       111715 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7865       111715 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7866       111715 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7867              :                 {
    7868            2 :                   {
    7869            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7870            2 :                     tree res = generic_simplify_79 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7871            2 :                     if (res) return res;
    7872              :                   }
    7873              :                 }
    7874              :               break;
    7875              :             }
    7876              :           default:;
    7877              :           }
    7878              :         break;
    7879              :       }
    7880      1636167 :     case MINUS_EXPR:
    7881      1636167 :       {
    7882      1636167 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7883      1636167 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7884      1636167 :         switch (TREE_CODE (_q20))
    7885              :           {
    7886           41 :           case CALL_EXPR:
    7887           41 :             switch (get_call_combined_fn (_q20))
    7888              :               {
    7889            4 :               case CFN_BUILT_IN_POPCOUNT:
    7890            4 :                 if (call_expr_nargs (_q20) == 1)
    7891              :     {
    7892            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7893            4 :                     switch (TREE_CODE (_q21))
    7894              :                       {
    7895            4 :                       case CALL_EXPR:
    7896            4 :                         switch (get_call_combined_fn (_q21))
    7897              :                           {
    7898            4 :                           case CFN_BUILT_IN_POPCOUNT:
    7899            4 :                             if (call_expr_nargs (_q21) == 1)
    7900              :     {
    7901            4 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    7902            4 :                                 switch (TREE_CODE (_q50))
    7903              :                                   {
    7904            2 :                                   case BIT_AND_EXPR:
    7905            2 :                                     {
    7906            2 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    7907            2 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    7908            2 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    7909              :                                         {
    7910            1 :                                           switch (TREE_CODE (_p1))
    7911              :                                             {
    7912            1 :                                             case CALL_EXPR:
    7913            1 :                                               switch (get_call_combined_fn (_p1))
    7914              :                                                 {
    7915            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7916            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7917              :     {
    7918            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7919            1 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    7920              :                                                         {
    7921            1 :                                                           {
    7922            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    7923            1 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    7924            1 :                                                             if (res) return res;
    7925              :                                                           }
    7926              :                                                         }
    7927              :                                                     }
    7928              :                                                   break;
    7929              :                                                 default:;
    7930              :                                                 }
    7931              :                                               break;
    7932              :                                             default:;
    7933              :                                             }
    7934              :                                         }
    7935            1 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    7936              :                                         {
    7937            1 :                                           switch (TREE_CODE (_p1))
    7938              :                                             {
    7939            1 :                                             case CALL_EXPR:
    7940            1 :                                               switch (get_call_combined_fn (_p1))
    7941              :                                                 {
    7942            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7943            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7944              :     {
    7945            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7946            1 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    7947              :                                                         {
    7948            1 :                                                           {
    7949            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    7950            1 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    7951            1 :                                                             if (res) return res;
    7952              :                                                           }
    7953              :                                                         }
    7954              :                                                     }
    7955              :                                                   break;
    7956              :                                                 default:;
    7957              :                                                 }
    7958              :                                               break;
    7959              :                                             default:;
    7960              :                                             }
    7961              :                                         }
    7962              :                                       break;
    7963              :                                     }
    7964            2 :                                   case BIT_IOR_EXPR:
    7965            2 :                                     {
    7966            2 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    7967            2 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    7968            2 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    7969              :                                         {
    7970            1 :                                           switch (TREE_CODE (_p1))
    7971              :                                             {
    7972            1 :                                             case CALL_EXPR:
    7973            1 :                                               switch (get_call_combined_fn (_p1))
    7974              :                                                 {
    7975            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7976            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7977              :     {
    7978            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7979            1 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    7980              :                                                         {
    7981            1 :                                                           {
    7982            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    7983            1 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    7984            1 :                                                             if (res) return res;
    7985              :                                                           }
    7986              :                                                         }
    7987              :                                                     }
    7988              :                                                   break;
    7989              :                                                 default:;
    7990              :                                                 }
    7991              :                                               break;
    7992              :                                             default:;
    7993              :                                             }
    7994              :                                         }
    7995            1 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    7996              :                                         {
    7997            1 :                                           switch (TREE_CODE (_p1))
    7998              :                                             {
    7999            1 :                                             case CALL_EXPR:
    8000            1 :                                               switch (get_call_combined_fn (_p1))
    8001              :                                                 {
    8002            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    8003            1 :                                                   if (call_expr_nargs (_p1) == 1)
    8004              :     {
    8005            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8006            1 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8007              :                                                         {
    8008            1 :                                                           {
    8009            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8010            1 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    8011            1 :                                                             if (res) return res;
    8012              :                                                           }
    8013              :                                                         }
    8014              :                                                     }
    8015              :                                                   break;
    8016              :                                                 default:;
    8017              :                                                 }
    8018              :                                               break;
    8019              :                                             default:;
    8020              :                                             }
    8021              :                                         }
    8022              :                                       break;
    8023              :                                     }
    8024              :                                   default:;
    8025              :                                   }
    8026              :                               }
    8027              :                             break;
    8028              :                           default:;
    8029              :                           }
    8030              :                         break;
    8031              :                       default:;
    8032              :                       }
    8033              :                   }
    8034              :                 break;
    8035            0 :               case CFN_BUILT_IN_POPCOUNTLL:
    8036            0 :                 if (call_expr_nargs (_q20) == 1)
    8037              :     {
    8038            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8039            0 :                     switch (TREE_CODE (_q21))
    8040              :                       {
    8041            0 :                       case CALL_EXPR:
    8042            0 :                         switch (get_call_combined_fn (_q21))
    8043              :                           {
    8044            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    8045            0 :                             if (call_expr_nargs (_q21) == 1)
    8046              :     {
    8047            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8048            0 :                                 switch (TREE_CODE (_q50))
    8049              :                                   {
    8050            0 :                                   case BIT_AND_EXPR:
    8051            0 :                                     {
    8052            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8053            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8054            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8055              :                                         {
    8056            0 :                                           switch (TREE_CODE (_p1))
    8057              :                                             {
    8058            0 :                                             case CALL_EXPR:
    8059            0 :                                               switch (get_call_combined_fn (_p1))
    8060              :                                                 {
    8061            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8062            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8063              :     {
    8064            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8065            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8066              :                                                         {
    8067            0 :                                                           {
    8068            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8069            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8070            0 :                                                             if (res) return res;
    8071              :                                                           }
    8072              :                                                         }
    8073              :                                                     }
    8074              :                                                   break;
    8075              :                                                 default:;
    8076              :                                                 }
    8077              :                                               break;
    8078              :                                             default:;
    8079              :                                             }
    8080              :                                         }
    8081            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8082              :                                         {
    8083            0 :                                           switch (TREE_CODE (_p1))
    8084              :                                             {
    8085            0 :                                             case CALL_EXPR:
    8086            0 :                                               switch (get_call_combined_fn (_p1))
    8087              :                                                 {
    8088            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8089            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8090              :     {
    8091            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8092            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8093              :                                                         {
    8094            0 :                                                           {
    8095            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8096            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8097            0 :                                                             if (res) return res;
    8098              :                                                           }
    8099              :                                                         }
    8100              :                                                     }
    8101              :                                                   break;
    8102              :                                                 default:;
    8103              :                                                 }
    8104              :                                               break;
    8105              :                                             default:;
    8106              :                                             }
    8107              :                                         }
    8108              :                                       break;
    8109              :                                     }
    8110            0 :                                   case BIT_IOR_EXPR:
    8111            0 :                                     {
    8112            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8113            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8114            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8115              :                                         {
    8116            0 :                                           switch (TREE_CODE (_p1))
    8117              :                                             {
    8118            0 :                                             case CALL_EXPR:
    8119            0 :                                               switch (get_call_combined_fn (_p1))
    8120              :                                                 {
    8121            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8122            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8123              :     {
    8124            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8125            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8126              :                                                         {
    8127            0 :                                                           {
    8128            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8129            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8130            0 :                                                             if (res) return res;
    8131              :                                                           }
    8132              :                                                         }
    8133              :                                                     }
    8134              :                                                   break;
    8135              :                                                 default:;
    8136              :                                                 }
    8137              :                                               break;
    8138              :                                             default:;
    8139              :                                             }
    8140              :                                         }
    8141            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8142              :                                         {
    8143            0 :                                           switch (TREE_CODE (_p1))
    8144              :                                             {
    8145            0 :                                             case CALL_EXPR:
    8146            0 :                                               switch (get_call_combined_fn (_p1))
    8147              :                                                 {
    8148            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8149            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8150              :     {
    8151            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8152            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8153              :                                                         {
    8154            0 :                                                           {
    8155            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8156            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8157            0 :                                                             if (res) return res;
    8158              :                                                           }
    8159              :                                                         }
    8160              :                                                     }
    8161              :                                                   break;
    8162              :                                                 default:;
    8163              :                                                 }
    8164              :                                               break;
    8165              :                                             default:;
    8166              :                                             }
    8167              :                                         }
    8168              :                                       break;
    8169              :                                     }
    8170              :                                   default:;
    8171              :                                   }
    8172              :                               }
    8173              :                             break;
    8174              :                           default:;
    8175              :                           }
    8176              :                         break;
    8177              :                       default:;
    8178              :                       }
    8179              :                   }
    8180              :                 break;
    8181            0 :               case CFN_POPCOUNT:
    8182            0 :                 if (call_expr_nargs (_q20) == 1)
    8183              :     {
    8184            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8185            0 :                     switch (TREE_CODE (_q21))
    8186              :                       {
    8187            0 :                       case CALL_EXPR:
    8188            0 :                         switch (get_call_combined_fn (_q21))
    8189              :                           {
    8190            0 :                           case CFN_POPCOUNT:
    8191            0 :                             if (call_expr_nargs (_q21) == 1)
    8192              :     {
    8193            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8194            0 :                                 switch (TREE_CODE (_q50))
    8195              :                                   {
    8196            0 :                                   case BIT_AND_EXPR:
    8197            0 :                                     {
    8198            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8199            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8200            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8201              :                                         {
    8202            0 :                                           switch (TREE_CODE (_p1))
    8203              :                                             {
    8204            0 :                                             case CALL_EXPR:
    8205            0 :                                               switch (get_call_combined_fn (_p1))
    8206              :                                                 {
    8207            0 :                                                 case CFN_POPCOUNT:
    8208            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8209              :     {
    8210            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8211            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8212              :                                                         {
    8213            0 :                                                           {
    8214            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8215            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    8216            0 :                                                             if (res) return res;
    8217              :                                                           }
    8218              :                                                         }
    8219              :                                                     }
    8220              :                                                   break;
    8221              :                                                 default:;
    8222              :                                                 }
    8223              :                                               break;
    8224              :                                             default:;
    8225              :                                             }
    8226              :                                         }
    8227            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8228              :                                         {
    8229            0 :                                           switch (TREE_CODE (_p1))
    8230              :                                             {
    8231            0 :                                             case CALL_EXPR:
    8232            0 :                                               switch (get_call_combined_fn (_p1))
    8233              :                                                 {
    8234            0 :                                                 case CFN_POPCOUNT:
    8235            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8236              :     {
    8237            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8238            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8239              :                                                         {
    8240            0 :                                                           {
    8241            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8242            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    8243            0 :                                                             if (res) return res;
    8244              :                                                           }
    8245              :                                                         }
    8246              :                                                     }
    8247              :                                                   break;
    8248              :                                                 default:;
    8249              :                                                 }
    8250              :                                               break;
    8251              :                                             default:;
    8252              :                                             }
    8253              :                                         }
    8254              :                                       break;
    8255              :                                     }
    8256            0 :                                   case BIT_IOR_EXPR:
    8257            0 :                                     {
    8258            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8259            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8260            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8261              :                                         {
    8262            0 :                                           switch (TREE_CODE (_p1))
    8263              :                                             {
    8264            0 :                                             case CALL_EXPR:
    8265            0 :                                               switch (get_call_combined_fn (_p1))
    8266              :                                                 {
    8267            0 :                                                 case CFN_POPCOUNT:
    8268            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8269              :     {
    8270            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8271            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8272              :                                                         {
    8273            0 :                                                           {
    8274            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8275            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    8276            0 :                                                             if (res) return res;
    8277              :                                                           }
    8278              :                                                         }
    8279              :                                                     }
    8280              :                                                   break;
    8281              :                                                 default:;
    8282              :                                                 }
    8283              :                                               break;
    8284              :                                             default:;
    8285              :                                             }
    8286              :                                         }
    8287            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8288              :                                         {
    8289            0 :                                           switch (TREE_CODE (_p1))
    8290              :                                             {
    8291            0 :                                             case CALL_EXPR:
    8292            0 :                                               switch (get_call_combined_fn (_p1))
    8293              :                                                 {
    8294            0 :                                                 case CFN_POPCOUNT:
    8295            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8296              :     {
    8297            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8298            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8299              :                                                         {
    8300            0 :                                                           {
    8301            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8302            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    8303            0 :                                                             if (res) return res;
    8304              :                                                           }
    8305              :                                                         }
    8306              :                                                     }
    8307              :                                                   break;
    8308              :                                                 default:;
    8309              :                                                 }
    8310              :                                               break;
    8311              :                                             default:;
    8312              :                                             }
    8313              :                                         }
    8314              :                                       break;
    8315              :                                     }
    8316              :                                   default:;
    8317              :                                   }
    8318              :                               }
    8319              :                             break;
    8320              :                           default:;
    8321              :                           }
    8322              :                         break;
    8323              :                       default:;
    8324              :                       }
    8325              :                   }
    8326              :                 break;
    8327            0 :               case CFN_BUILT_IN_POPCOUNTIMAX:
    8328            0 :                 if (call_expr_nargs (_q20) == 1)
    8329              :     {
    8330            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8331            0 :                     switch (TREE_CODE (_q21))
    8332              :                       {
    8333            0 :                       case CALL_EXPR:
    8334            0 :                         switch (get_call_combined_fn (_q21))
    8335              :                           {
    8336            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    8337            0 :                             if (call_expr_nargs (_q21) == 1)
    8338              :     {
    8339            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8340            0 :                                 switch (TREE_CODE (_q50))
    8341              :                                   {
    8342            0 :                                   case BIT_AND_EXPR:
    8343            0 :                                     {
    8344            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8345            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8346            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8347              :                                         {
    8348            0 :                                           switch (TREE_CODE (_p1))
    8349              :                                             {
    8350            0 :                                             case CALL_EXPR:
    8351            0 :                                               switch (get_call_combined_fn (_p1))
    8352              :                                                 {
    8353            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8354            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8355              :     {
    8356            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8357            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8358              :                                                         {
    8359            0 :                                                           {
    8360            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8361            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8362            0 :                                                             if (res) return res;
    8363              :                                                           }
    8364              :                                                         }
    8365              :                                                     }
    8366              :                                                   break;
    8367              :                                                 default:;
    8368              :                                                 }
    8369              :                                               break;
    8370              :                                             default:;
    8371              :                                             }
    8372              :                                         }
    8373            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8374              :                                         {
    8375            0 :                                           switch (TREE_CODE (_p1))
    8376              :                                             {
    8377            0 :                                             case CALL_EXPR:
    8378            0 :                                               switch (get_call_combined_fn (_p1))
    8379              :                                                 {
    8380            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8381            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8382              :     {
    8383            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8384            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8385              :                                                         {
    8386            0 :                                                           {
    8387            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8388            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8389            0 :                                                             if (res) return res;
    8390              :                                                           }
    8391              :                                                         }
    8392              :                                                     }
    8393              :                                                   break;
    8394              :                                                 default:;
    8395              :                                                 }
    8396              :                                               break;
    8397              :                                             default:;
    8398              :                                             }
    8399              :                                         }
    8400              :                                       break;
    8401              :                                     }
    8402            0 :                                   case BIT_IOR_EXPR:
    8403            0 :                                     {
    8404            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8405            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8406            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8407              :                                         {
    8408            0 :                                           switch (TREE_CODE (_p1))
    8409              :                                             {
    8410            0 :                                             case CALL_EXPR:
    8411            0 :                                               switch (get_call_combined_fn (_p1))
    8412              :                                                 {
    8413            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8414            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8415              :     {
    8416            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8417            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8418              :                                                         {
    8419            0 :                                                           {
    8420            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8421            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8422            0 :                                                             if (res) return res;
    8423              :                                                           }
    8424              :                                                         }
    8425              :                                                     }
    8426              :                                                   break;
    8427              :                                                 default:;
    8428              :                                                 }
    8429              :                                               break;
    8430              :                                             default:;
    8431              :                                             }
    8432              :                                         }
    8433            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8434              :                                         {
    8435            0 :                                           switch (TREE_CODE (_p1))
    8436              :                                             {
    8437            0 :                                             case CALL_EXPR:
    8438            0 :                                               switch (get_call_combined_fn (_p1))
    8439              :                                                 {
    8440            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8441            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8442              :     {
    8443            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8444            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8445              :                                                         {
    8446            0 :                                                           {
    8447            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8448            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8449            0 :                                                             if (res) return res;
    8450              :                                                           }
    8451              :                                                         }
    8452              :                                                     }
    8453              :                                                   break;
    8454              :                                                 default:;
    8455              :                                                 }
    8456              :                                               break;
    8457              :                                             default:;
    8458              :                                             }
    8459              :                                         }
    8460              :                                       break;
    8461              :                                     }
    8462              :                                   default:;
    8463              :                                   }
    8464              :                               }
    8465              :                             break;
    8466              :                           default:;
    8467              :                           }
    8468              :                         break;
    8469              :                       default:;
    8470              :                       }
    8471              :                   }
    8472              :                 break;
    8473            0 :               case CFN_BUILT_IN_POPCOUNTL:
    8474            0 :                 if (call_expr_nargs (_q20) == 1)
    8475              :     {
    8476            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8477            0 :                     switch (TREE_CODE (_q21))
    8478              :                       {
    8479            0 :                       case CALL_EXPR:
    8480            0 :                         switch (get_call_combined_fn (_q21))
    8481              :                           {
    8482            0 :                           case CFN_BUILT_IN_POPCOUNTL:
    8483            0 :                             if (call_expr_nargs (_q21) == 1)
    8484              :     {
    8485            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8486            0 :                                 switch (TREE_CODE (_q50))
    8487              :                                   {
    8488            0 :                                   case BIT_AND_EXPR:
    8489            0 :                                     {
    8490            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8491            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8492            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8493              :                                         {
    8494            0 :                                           switch (TREE_CODE (_p1))
    8495              :                                             {
    8496            0 :                                             case CALL_EXPR:
    8497            0 :                                               switch (get_call_combined_fn (_p1))
    8498              :                                                 {
    8499            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8500            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8501              :     {
    8502            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8503            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8504              :                                                         {
    8505            0 :                                                           {
    8506            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8507            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8508            0 :                                                             if (res) return res;
    8509              :                                                           }
    8510              :                                                         }
    8511              :                                                     }
    8512              :                                                   break;
    8513              :                                                 default:;
    8514              :                                                 }
    8515              :                                               break;
    8516              :                                             default:;
    8517              :                                             }
    8518              :                                         }
    8519            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8520              :                                         {
    8521            0 :                                           switch (TREE_CODE (_p1))
    8522              :                                             {
    8523            0 :                                             case CALL_EXPR:
    8524            0 :                                               switch (get_call_combined_fn (_p1))
    8525              :                                                 {
    8526            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8527            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8528              :     {
    8529            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8530            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8531              :                                                         {
    8532            0 :                                                           {
    8533            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8534            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8535            0 :                                                             if (res) return res;
    8536              :                                                           }
    8537              :                                                         }
    8538              :                                                     }
    8539              :                                                   break;
    8540              :                                                 default:;
    8541              :                                                 }
    8542              :                                               break;
    8543              :                                             default:;
    8544              :                                             }
    8545              :                                         }
    8546              :                                       break;
    8547              :                                     }
    8548            0 :                                   case BIT_IOR_EXPR:
    8549            0 :                                     {
    8550            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8551            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8552            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8553              :                                         {
    8554            0 :                                           switch (TREE_CODE (_p1))
    8555              :                                             {
    8556            0 :                                             case CALL_EXPR:
    8557            0 :                                               switch (get_call_combined_fn (_p1))
    8558              :                                                 {
    8559            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8560            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8561              :     {
    8562            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8563            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8564              :                                                         {
    8565            0 :                                                           {
    8566            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8567            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8568            0 :                                                             if (res) return res;
    8569              :                                                           }
    8570              :                                                         }
    8571              :                                                     }
    8572              :                                                   break;
    8573              :                                                 default:;
    8574              :                                                 }
    8575              :                                               break;
    8576              :                                             default:;
    8577              :                                             }
    8578              :                                         }
    8579            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8580              :                                         {
    8581            0 :                                           switch (TREE_CODE (_p1))
    8582              :                                             {
    8583            0 :                                             case CALL_EXPR:
    8584            0 :                                               switch (get_call_combined_fn (_p1))
    8585              :                                                 {
    8586            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8587            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8588              :     {
    8589            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8590            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8591              :                                                         {
    8592            0 :                                                           {
    8593            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8594            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8595            0 :                                                             if (res) return res;
    8596              :                                                           }
    8597              :                                                         }
    8598              :                                                     }
    8599              :                                                   break;
    8600              :                                                 default:;
    8601              :                                                 }
    8602              :                                               break;
    8603              :                                             default:;
    8604              :                                             }
    8605              :                                         }
    8606              :                                       break;
    8607              :                                     }
    8608              :                                   default:;
    8609              :                                   }
    8610              :                               }
    8611              :                             break;
    8612              :                           default:;
    8613              :                           }
    8614              :                         break;
    8615              :                       default:;
    8616              :                       }
    8617              :                   }
    8618              :                 break;
    8619              :               default:;
    8620              :               }
    8621              :             break;
    8622              :           default:;
    8623              :           }
    8624              :         break;
    8625              :       }
    8626            1 :     case VEC_PERM_EXPR:
    8627            1 :       {
    8628            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8629            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8630            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8631            1 :         switch (TREE_CODE (_q20))
    8632              :           {
    8633            0 :           case MULT_EXPR:
    8634            0 :             {
    8635            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8636            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8637            0 :               if (tree_vec_same_elem_p (_q31))
    8638              :                 {
    8639            0 :                   if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8640              :                     {
    8641            0 :                       {
    8642            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
    8643            0 :                         tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    8644            0 :                         if (res) return res;
    8645              :                       }
    8646              :                     }
    8647              :                 }
    8648            0 :               if (tree_vec_same_elem_p (_q30))
    8649              :                 {
    8650            0 :                   if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8651              :                     {
    8652            0 :                       {
    8653            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
    8654            0 :                         tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    8655            0 :                         if (res) return res;
    8656              :                       }
    8657              :                     }
    8658              :                 }
    8659              :               break;
    8660              :             }
    8661            1 :           default:;
    8662              :           }
    8663            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8664              :           {
    8665            0 :             switch (TREE_CODE (_p1))
    8666              :               {
    8667            0 :               case VEC_PERM_EXPR:
    8668            0 :                 {
    8669            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    8670            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    8671            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    8672            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    8673              :                     {
    8674            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8675              :                         {
    8676            0 :                           {
    8677            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    8678            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
    8679              : )
    8680              :                               {
    8681            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1255;
    8682            0 :                                 {
    8683            0 :                                   tree res_op0;
    8684            0 :                                   {
    8685            0 :                                     tree _o1[2], _r1;
    8686            0 :                                     _o1[0] = captures[0];
    8687            0 :                                     _o1[1] = captures[2];
    8688            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8689            0 :                                     captures[3] = _r1;
    8690              :                                   }
    8691            0 :                                   res_op0 = unshare_expr (captures[3]);
    8692            0 :                                   tree res_op1;
    8693            0 :                                   res_op1 = captures[3];
    8694            0 :                                   tree res_op2;
    8695            0 :                                   res_op2 = captures[1];
    8696            0 :                                   tree _r;
    8697            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
    8698            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
    8699            0 :                                   return _r;
    8700              :                                 }
    8701            0 : next_after_fail1255:;
    8702              :                               }
    8703              :                           }
    8704              :                         }
    8705              :                     }
    8706              :                   break;
    8707              :                 }
    8708            0 :               default:;
    8709              :               }
    8710            0 :             switch (TREE_CODE (_q22))
    8711              :               {
    8712            0 :               case VECTOR_CST:
    8713            0 :                 {
    8714            0 :                   switch (TREE_CODE (_p1))
    8715              :                     {
    8716            0 :                     case VEC_PERM_EXPR:
    8717            0 :                       {
    8718            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
    8719            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
    8720            0 :                         tree _q62 = TREE_OPERAND (_p1, 2);
    8721            0 :                         if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    8722              :                           {
    8723            0 :                             if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8724              :                               {
    8725            0 :                                 switch (TREE_CODE (_q62))
    8726              :                                   {
    8727            0 :                                   case VECTOR_CST:
    8728            0 :                                     {
    8729            0 :                                       {
    8730            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    8731            0 :                                         tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8732            0 :                                         if (res) return res;
    8733              :                                       }
    8734            0 :                                       break;
    8735              :                                     }
    8736              :                                   default:;
    8737              :                                   }
    8738              :                               }
    8739              :                           }
    8740              :                         break;
    8741              :                       }
    8742              :                     default:;
    8743              :                     }
    8744              :                   break;
    8745              :                 }
    8746              :               default:;
    8747              :               }
    8748              :           }
    8749              :         break;
    8750              :       }
    8751      1369953 :     case CALL_EXPR:
    8752      1369953 :       switch (get_call_combined_fn (_p0))
    8753              :         {
    8754            9 :         case CFN_BUILT_IN_LOG:
    8755            9 :           if (call_expr_nargs (_p0) == 1)
    8756              :     {
    8757            9 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8758            9 :               switch (TREE_CODE (_p1))
    8759              :                 {
    8760            0 :                 case CALL_EXPR:
    8761            0 :                   switch (get_call_combined_fn (_p1))
    8762              :                     {
    8763            0 :                     case CFN_BUILT_IN_LOG:
    8764            0 :                       if (call_expr_nargs (_p1) == 1)
    8765              :     {
    8766            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8767            0 :                           {
    8768            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8769            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG);
    8770            0 :                             if (res) return res;
    8771              :                           }
    8772              :                         }
    8773              :                       break;
    8774              :                     default:;
    8775              :                     }
    8776              :                   break;
    8777              :                 default:;
    8778              :                 }
    8779              :             }
    8780              :           break;
    8781         1152 :         case CFN_BUILT_IN_POPCOUNT:
    8782         1152 :           if (call_expr_nargs (_p0) == 1)
    8783              :     {
    8784         1152 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8785         1152 :               switch (TREE_CODE (_p1))
    8786              :                 {
    8787           22 :                 case CALL_EXPR:
    8788           22 :                   switch (get_call_combined_fn (_p1))
    8789              :                     {
    8790           22 :                     case CFN_BUILT_IN_POPCOUNT:
    8791           22 :                       if (call_expr_nargs (_p1) == 1)
    8792              :     {
    8793           22 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8794           22 :                           {
    8795           22 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8796           22 :                             tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8797           22 :                             if (res) return res;
    8798              :                           }
    8799              :                         }
    8800              :                       break;
    8801              :                     default:;
    8802              :                     }
    8803              :                   break;
    8804         1151 :                 default:;
    8805              :                 }
    8806         1151 :               switch (TREE_CODE (_q20))
    8807              :                 {
    8808            9 :                 case BIT_AND_EXPR:
    8809            9 :                   {
    8810            9 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    8811            9 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    8812            9 :                     switch (TREE_CODE (_p1))
    8813              :                       {
    8814            9 :                       case CALL_EXPR:
    8815            9 :                         switch (get_call_combined_fn (_p1))
    8816              :                           {
    8817            9 :                           case CFN_BUILT_IN_POPCOUNT:
    8818            9 :                             if (call_expr_nargs (_p1) == 1)
    8819              :     {
    8820            9 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    8821            9 :                                 switch (TREE_CODE (_q60))
    8822              :                                   {
    8823            9 :                                   case BIT_IOR_EXPR:
    8824            9 :                                     {
    8825            9 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    8826            9 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    8827            9 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    8828              :                                         {
    8829            1 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    8830              :                                             {
    8831            1 :                                               {
    8832            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    8833            1 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8834            1 :                                                 if (res) return res;
    8835              :                                               }
    8836              :                                             }
    8837              :                                         }
    8838            8 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    8839              :                                         {
    8840            1 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    8841              :                                             {
    8842            1 :                                               {
    8843            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    8844            1 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8845            1 :                                                 if (res) return res;
    8846              :                                               }
    8847              :                                             }
    8848              :                                         }
    8849              :                                       break;
    8850              :                                     }
    8851              :                                   default:;
    8852              :                                   }
    8853              :                               }
    8854              :                             break;
    8855              :                           default:;
    8856              :                           }
    8857              :                         break;
    8858              :                       default:;
    8859              :                       }
    8860              :                     break;
    8861              :                   }
    8862            2 :                 case BIT_IOR_EXPR:
    8863            2 :                   {
    8864            2 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    8865            2 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    8866            2 :                     switch (TREE_CODE (_p1))
    8867              :                       {
    8868            2 :                       case CALL_EXPR:
    8869            2 :                         switch (get_call_combined_fn (_p1))
    8870              :                           {
    8871            2 :                           case CFN_BUILT_IN_POPCOUNT:
    8872            2 :                             if (call_expr_nargs (_p1) == 1)
    8873              :     {
    8874            2 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    8875            2 :                                 switch (TREE_CODE (_q60))
    8876              :                                   {
    8877            2 :                                   case BIT_AND_EXPR:
    8878            2 :                                     {
    8879            2 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    8880            2 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    8881            2 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    8882              :                                         {
    8883            1 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    8884              :                                             {
    8885            1 :                                               {
    8886            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    8887            1 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8888            1 :                                                 if (res) return res;
    8889              :                                               }
    8890              :                                             }
    8891              :                                         }
    8892            1 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    8893              :                                         {
    8894            1 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    8895              :                                             {
    8896            1 :                                               {
    8897            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    8898            1 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8899            1 :                                                 if (res) return res;
    8900              :                                               }
    8901              :                                             }
    8902              :                                         }
    8903              :                                       break;
    8904              :                                     }
    8905              :                                   default:;
    8906              :                                   }
    8907              :                               }
    8908              :                             break;
    8909              :                           default:;
    8910              :                           }
    8911              :                         break;
    8912              :                       default:;
    8913              :                       }
    8914              :                     break;
    8915              :                   }
    8916         1147 :                 default:;
    8917              :                 }
    8918         1147 :               switch (TREE_CODE (_p1))
    8919              :                 {
    8920            0 :                 case MINUS_EXPR:
    8921            0 :                   {
    8922            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    8923            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    8924            0 :                     switch (TREE_CODE (_q40))
    8925              :                       {
    8926            0 :                       case CALL_EXPR:
    8927            0 :                         switch (get_call_combined_fn (_q40))
    8928              :                           {
    8929            0 :                           case CFN_BUILT_IN_POPCOUNT:
    8930            0 :                             if (call_expr_nargs (_q40) == 1)
    8931              :     {
    8932            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    8933            0 :                                 switch (TREE_CODE (_q41))
    8934              :                                   {
    8935            0 :                                   case CALL_EXPR:
    8936            0 :                                     switch (get_call_combined_fn (_q41))
    8937              :                                       {
    8938            0 :                                       case CFN_BUILT_IN_POPCOUNT:
    8939            0 :                                         if (call_expr_nargs (_q41) == 1)
    8940              :     {
    8941            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    8942            0 :                                             switch (TREE_CODE (_q70))
    8943              :                                               {
    8944            0 :                                               case BIT_AND_EXPR:
    8945            0 :                                                 {
    8946            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    8947            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    8948            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    8949              :                                                     {
    8950            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    8951              :                                                         {
    8952            0 :                                                           {
    8953            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8954            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    8955            0 :                                                             if (res) return res;
    8956              :                                                           }
    8957              :                                                         }
    8958              :                                                     }
    8959            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    8960              :                                                     {
    8961            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    8962              :                                                         {
    8963            0 :                                                           {
    8964            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8965            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    8966            0 :                                                             if (res) return res;
    8967              :                                                           }
    8968              :                                                         }
    8969              :                                                     }
    8970              :                                                   break;
    8971              :                                                 }
    8972            0 :                                               case BIT_IOR_EXPR:
    8973            0 :                                                 {
    8974            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    8975            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    8976            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    8977              :                                                     {
    8978            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    8979              :                                                         {
    8980            0 :                                                           {
    8981            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8982            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    8983            0 :                                                             if (res) return res;
    8984              :                                                           }
    8985              :                                                         }
    8986              :                                                     }
    8987            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    8988              :                                                     {
    8989            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    8990              :                                                         {
    8991            0 :                                                           {
    8992            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8993            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    8994            0 :                                                             if (res) return res;
    8995              :                                                           }
    8996              :                                                         }
    8997              :                                                     }
    8998              :                                                   break;
    8999              :                                                 }
    9000              :                                               default:;
    9001              :                                               }
    9002              :                                           }
    9003              :                                         break;
    9004              :                                       default:;
    9005              :                                       }
    9006              :                                     break;
    9007              :                                   default:;
    9008              :                                   }
    9009              :                               }
    9010              :                             break;
    9011              :                           default:;
    9012              :                           }
    9013              :                         break;
    9014              :                       default:;
    9015              :                       }
    9016              :                     break;
    9017              :                   }
    9018              :                 default:;
    9019              :                 }
    9020              :             }
    9021              :           break;
    9022            1 :         case CFN_BUILT_IN_LOG2:
    9023            1 :           if (call_expr_nargs (_p0) == 1)
    9024              :     {
    9025            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9026            1 :               switch (TREE_CODE (_p1))
    9027              :                 {
    9028            1 :                 case CALL_EXPR:
    9029            1 :                   switch (get_call_combined_fn (_p1))
    9030              :                     {
    9031            1 :                     case CFN_BUILT_IN_LOG2:
    9032            1 :                       if (call_expr_nargs (_p1) == 1)
    9033              :     {
    9034            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9035            1 :                           {
    9036            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9037            1 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2);
    9038            1 :                             if (res) return res;
    9039              :                           }
    9040              :                         }
    9041              :                       break;
    9042              :                     default:;
    9043              :                     }
    9044              :                   break;
    9045              :                 default:;
    9046              :                 }
    9047              :             }
    9048              :           break;
    9049            0 :         case CFN_BUILT_IN_LOGF:
    9050            0 :           if (call_expr_nargs (_p0) == 1)
    9051              :     {
    9052            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9053            0 :               switch (TREE_CODE (_p1))
    9054              :                 {
    9055            0 :                 case CALL_EXPR:
    9056            0 :                   switch (get_call_combined_fn (_p1))
    9057              :                     {
    9058            0 :                     case CFN_BUILT_IN_LOGF:
    9059            0 :                       if (call_expr_nargs (_p1) == 1)
    9060              :     {
    9061            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9062            0 :                           {
    9063            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9064            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF);
    9065            0 :                             if (res) return res;
    9066              :                           }
    9067              :                         }
    9068              :                       break;
    9069              :                     default:;
    9070              :                     }
    9071              :                   break;
    9072              :                 default:;
    9073              :                 }
    9074              :             }
    9075              :           break;
    9076            0 :         case CFN_BUILT_IN_LOGL:
    9077            0 :           if (call_expr_nargs (_p0) == 1)
    9078              :     {
    9079            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9080            0 :               switch (TREE_CODE (_p1))
    9081              :                 {
    9082            0 :                 case CALL_EXPR:
    9083            0 :                   switch (get_call_combined_fn (_p1))
    9084              :                     {
    9085            0 :                     case CFN_BUILT_IN_LOGL:
    9086            0 :                       if (call_expr_nargs (_p1) == 1)
    9087              :     {
    9088            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9089            0 :                           {
    9090            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9091            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL);
    9092            0 :                             if (res) return res;
    9093              :                           }
    9094              :                         }
    9095              :                       break;
    9096              :                     default:;
    9097              :                     }
    9098              :                   break;
    9099              :                 default:;
    9100              :                 }
    9101              :             }
    9102              :           break;
    9103           26 :         case CFN_BUILT_IN_POPCOUNTLL:
    9104           26 :           if (call_expr_nargs (_p0) == 1)
    9105              :     {
    9106           26 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9107           26 :               switch (TREE_CODE (_p1))
    9108              :                 {
    9109           24 :                 case CALL_EXPR:
    9110           24 :                   switch (get_call_combined_fn (_p1))
    9111              :                     {
    9112           24 :                     case CFN_BUILT_IN_POPCOUNTLL:
    9113           24 :                       if (call_expr_nargs (_p1) == 1)
    9114              :     {
    9115           24 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9116           24 :                           {
    9117           24 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9118           24 :                             tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9119           24 :                             if (res) return res;
    9120              :                           }
    9121              :                         }
    9122              :                       break;
    9123              :                     default:;
    9124              :                     }
    9125              :                   break;
    9126           26 :                 default:;
    9127              :                 }
    9128           26 :               switch (TREE_CODE (_q20))
    9129              :                 {
    9130            0 :                 case BIT_AND_EXPR:
    9131            0 :                   {
    9132            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9133            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9134            0 :                     switch (TREE_CODE (_p1))
    9135              :                       {
    9136            0 :                       case CALL_EXPR:
    9137            0 :                         switch (get_call_combined_fn (_p1))
    9138              :                           {
    9139            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    9140            0 :                             if (call_expr_nargs (_p1) == 1)
    9141              :     {
    9142            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9143            0 :                                 switch (TREE_CODE (_q60))
    9144              :                                   {
    9145            0 :                                   case BIT_IOR_EXPR:
    9146            0 :                                     {
    9147            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9148            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9149            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9150              :                                         {
    9151            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9152              :                                             {
    9153            0 :                                               {
    9154            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9155            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9156            0 :                                                 if (res) return res;
    9157              :                                               }
    9158              :                                             }
    9159              :                                         }
    9160            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9161              :                                         {
    9162            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9163              :                                             {
    9164            0 :                                               {
    9165            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9166            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9167            0 :                                                 if (res) return res;
    9168              :                                               }
    9169              :                                             }
    9170              :                                         }
    9171              :                                       break;
    9172              :                                     }
    9173              :                                   default:;
    9174              :                                   }
    9175              :                               }
    9176              :                             break;
    9177              :                           default:;
    9178              :                           }
    9179              :                         break;
    9180              :                       default:;
    9181              :                       }
    9182              :                     break;
    9183              :                   }
    9184            0 :                 case BIT_IOR_EXPR:
    9185            0 :                   {
    9186            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9187            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9188            0 :                     switch (TREE_CODE (_p1))
    9189              :                       {
    9190            0 :                       case CALL_EXPR:
    9191            0 :                         switch (get_call_combined_fn (_p1))
    9192              :                           {
    9193            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    9194            0 :                             if (call_expr_nargs (_p1) == 1)
    9195              :     {
    9196            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9197            0 :                                 switch (TREE_CODE (_q60))
    9198              :                                   {
    9199            0 :                                   case BIT_AND_EXPR:
    9200            0 :                                     {
    9201            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9202            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9203            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9204              :                                         {
    9205            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9206              :                                             {
    9207            0 :                                               {
    9208            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9209            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9210            0 :                                                 if (res) return res;
    9211              :                                               }
    9212              :                                             }
    9213              :                                         }
    9214            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9215              :                                         {
    9216            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9217              :                                             {
    9218            0 :                                               {
    9219            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9220            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9221            0 :                                                 if (res) return res;
    9222              :                                               }
    9223              :                                             }
    9224              :                                         }
    9225              :                                       break;
    9226              :                                     }
    9227              :                                   default:;
    9228              :                                   }
    9229              :                               }
    9230              :                             break;
    9231              :                           default:;
    9232              :                           }
    9233              :                         break;
    9234              :                       default:;
    9235              :                       }
    9236              :                     break;
    9237              :                   }
    9238           26 :                 default:;
    9239              :                 }
    9240           26 :               switch (TREE_CODE (_p1))
    9241              :                 {
    9242            0 :                 case MINUS_EXPR:
    9243            0 :                   {
    9244            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9245            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9246            0 :                     switch (TREE_CODE (_q40))
    9247              :                       {
    9248            0 :                       case CALL_EXPR:
    9249            0 :                         switch (get_call_combined_fn (_q40))
    9250              :                           {
    9251            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    9252            0 :                             if (call_expr_nargs (_q40) == 1)
    9253              :     {
    9254            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9255            0 :                                 switch (TREE_CODE (_q41))
    9256              :                                   {
    9257            0 :                                   case CALL_EXPR:
    9258            0 :                                     switch (get_call_combined_fn (_q41))
    9259              :                                       {
    9260            0 :                                       case CFN_BUILT_IN_POPCOUNTLL:
    9261            0 :                                         if (call_expr_nargs (_q41) == 1)
    9262              :     {
    9263            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    9264            0 :                                             switch (TREE_CODE (_q70))
    9265              :                                               {
    9266            0 :                                               case BIT_AND_EXPR:
    9267            0 :                                                 {
    9268            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9269            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9270            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9271              :                                                     {
    9272            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9273              :                                                         {
    9274            0 :                                                           {
    9275            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9276            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9277            0 :                                                             if (res) return res;
    9278              :                                                           }
    9279              :                                                         }
    9280              :                                                     }
    9281            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9282              :                                                     {
    9283            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9284              :                                                         {
    9285            0 :                                                           {
    9286            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9287            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9288            0 :                                                             if (res) return res;
    9289              :                                                           }
    9290              :                                                         }
    9291              :                                                     }
    9292              :                                                   break;
    9293              :                                                 }
    9294            0 :                                               case BIT_IOR_EXPR:
    9295            0 :                                                 {
    9296            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9297            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9298            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9299              :                                                     {
    9300            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9301              :                                                         {
    9302            0 :                                                           {
    9303            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9304            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9305            0 :                                                             if (res) return res;
    9306              :                                                           }
    9307              :                                                         }
    9308              :                                                     }
    9309            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9310              :                                                     {
    9311            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9312              :                                                         {
    9313            0 :                                                           {
    9314            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9315            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9316            0 :                                                             if (res) return res;
    9317              :                                                           }
    9318              :                                                         }
    9319              :                                                     }
    9320              :                                                   break;
    9321              :                                                 }
    9322              :                                               default:;
    9323              :                                               }
    9324              :                                           }
    9325              :                                         break;
    9326              :                                       default:;
    9327              :                                       }
    9328              :                                     break;
    9329              :                                   default:;
    9330              :                                   }
    9331              :                               }
    9332              :                             break;
    9333              :                           default:;
    9334              :                           }
    9335              :                         break;
    9336              :                       default:;
    9337              :                       }
    9338              :                     break;
    9339              :                   }
    9340              :                 default:;
    9341              :                 }
    9342              :             }
    9343              :           break;
    9344            0 :         case CFN_BUILT_IN_LOG10F:
    9345            0 :           if (call_expr_nargs (_p0) == 1)
    9346              :     {
    9347            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9348            0 :               switch (TREE_CODE (_p1))
    9349              :                 {
    9350            0 :                 case CALL_EXPR:
    9351            0 :                   switch (get_call_combined_fn (_p1))
    9352              :                     {
    9353            0 :                     case CFN_BUILT_IN_LOG10F:
    9354            0 :                       if (call_expr_nargs (_p1) == 1)
    9355              :     {
    9356            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9357            0 :                           {
    9358            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9359            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F);
    9360            0 :                             if (res) return res;
    9361              :                           }
    9362              :                         }
    9363              :                       break;
    9364              :                     default:;
    9365              :                     }
    9366              :                   break;
    9367              :                 default:;
    9368              :                 }
    9369              :             }
    9370              :           break;
    9371            0 :         case CFN_BUILT_IN_LOG10L:
    9372            0 :           if (call_expr_nargs (_p0) == 1)
    9373              :     {
    9374            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9375            0 :               switch (TREE_CODE (_p1))
    9376              :                 {
    9377            0 :                 case CALL_EXPR:
    9378            0 :                   switch (get_call_combined_fn (_p1))
    9379              :                     {
    9380            0 :                     case CFN_BUILT_IN_LOG10L:
    9381            0 :                       if (call_expr_nargs (_p1) == 1)
    9382              :     {
    9383            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9384            0 :                           {
    9385            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9386            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L);
    9387            0 :                             if (res) return res;
    9388              :                           }
    9389              :                         }
    9390              :                       break;
    9391              :                     default:;
    9392              :                     }
    9393              :                   break;
    9394              :                 default:;
    9395              :                 }
    9396              :             }
    9397              :           break;
    9398            4 :         case CFN_POPCOUNT:
    9399            4 :           if (call_expr_nargs (_p0) == 1)
    9400              :     {
    9401            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9402            4 :               switch (TREE_CODE (_p1))
    9403              :                 {
    9404            1 :                 case CALL_EXPR:
    9405            1 :                   switch (get_call_combined_fn (_p1))
    9406              :                     {
    9407            1 :                     case CFN_POPCOUNT:
    9408            1 :                       if (call_expr_nargs (_p1) == 1)
    9409              :     {
    9410            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9411            1 :                           {
    9412            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9413            1 :                             tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9414            1 :                             if (res) return res;
    9415              :                           }
    9416              :                         }
    9417              :                       break;
    9418              :                     default:;
    9419              :                     }
    9420              :                   break;
    9421            4 :                 default:;
    9422              :                 }
    9423            4 :               switch (TREE_CODE (_q20))
    9424              :                 {
    9425            0 :                 case BIT_AND_EXPR:
    9426            0 :                   {
    9427            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9428            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9429            0 :                     switch (TREE_CODE (_p1))
    9430              :                       {
    9431            0 :                       case CALL_EXPR:
    9432            0 :                         switch (get_call_combined_fn (_p1))
    9433              :                           {
    9434            0 :                           case CFN_POPCOUNT:
    9435            0 :                             if (call_expr_nargs (_p1) == 1)
    9436              :     {
    9437            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9438            0 :                                 switch (TREE_CODE (_q60))
    9439              :                                   {
    9440            0 :                                   case BIT_IOR_EXPR:
    9441            0 :                                     {
    9442            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9443            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9444            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9445              :                                         {
    9446            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9447              :                                             {
    9448            0 :                                               {
    9449            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9450            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9451            0 :                                                 if (res) return res;
    9452              :                                               }
    9453              :                                             }
    9454              :                                         }
    9455            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9456              :                                         {
    9457            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9458              :                                             {
    9459            0 :                                               {
    9460            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9461            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9462            0 :                                                 if (res) return res;
    9463              :                                               }
    9464              :                                             }
    9465              :                                         }
    9466              :                                       break;
    9467              :                                     }
    9468              :                                   default:;
    9469              :                                   }
    9470              :                               }
    9471              :                             break;
    9472              :                           default:;
    9473              :                           }
    9474              :                         break;
    9475              :                       default:;
    9476              :                       }
    9477              :                     break;
    9478              :                   }
    9479            0 :                 case BIT_IOR_EXPR:
    9480            0 :                   {
    9481            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9482            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9483            0 :                     switch (TREE_CODE (_p1))
    9484              :                       {
    9485            0 :                       case CALL_EXPR:
    9486            0 :                         switch (get_call_combined_fn (_p1))
    9487              :                           {
    9488            0 :                           case CFN_POPCOUNT:
    9489            0 :                             if (call_expr_nargs (_p1) == 1)
    9490              :     {
    9491            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9492            0 :                                 switch (TREE_CODE (_q60))
    9493              :                                   {
    9494            0 :                                   case BIT_AND_EXPR:
    9495            0 :                                     {
    9496            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9497            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9498            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9499              :                                         {
    9500            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9501              :                                             {
    9502            0 :                                               {
    9503            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9504            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9505            0 :                                                 if (res) return res;
    9506              :                                               }
    9507              :                                             }
    9508              :                                         }
    9509            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9510              :                                         {
    9511            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9512              :                                             {
    9513            0 :                                               {
    9514            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9515            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9516            0 :                                                 if (res) return res;
    9517              :                                               }
    9518              :                                             }
    9519              :                                         }
    9520              :                                       break;
    9521              :                                     }
    9522              :                                   default:;
    9523              :                                   }
    9524              :                               }
    9525              :                             break;
    9526              :                           default:;
    9527              :                           }
    9528              :                         break;
    9529              :                       default:;
    9530              :                       }
    9531              :                     break;
    9532              :                   }
    9533            4 :                 default:;
    9534              :                 }
    9535            4 :               switch (TREE_CODE (_p1))
    9536              :                 {
    9537            0 :                 case MINUS_EXPR:
    9538            0 :                   {
    9539            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9540            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9541            0 :                     switch (TREE_CODE (_q40))
    9542              :                       {
    9543            0 :                       case CALL_EXPR:
    9544            0 :                         switch (get_call_combined_fn (_q40))
    9545              :                           {
    9546            0 :                           case CFN_POPCOUNT:
    9547            0 :                             if (call_expr_nargs (_q40) == 1)
    9548              :     {
    9549            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9550            0 :                                 switch (TREE_CODE (_q41))
    9551              :                                   {
    9552            0 :                                   case CALL_EXPR:
    9553            0 :                                     switch (get_call_combined_fn (_q41))
    9554              :                                       {
    9555            0 :                                       case CFN_POPCOUNT:
    9556            0 :                                         if (call_expr_nargs (_q41) == 1)
    9557              :     {
    9558            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    9559            0 :                                             switch (TREE_CODE (_q70))
    9560              :                                               {
    9561            0 :                                               case BIT_AND_EXPR:
    9562            0 :                                                 {
    9563            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9564            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9565            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9566              :                                                     {
    9567            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9568              :                                                         {
    9569            0 :                                                           {
    9570            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9571            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    9572            0 :                                                             if (res) return res;
    9573              :                                                           }
    9574              :                                                         }
    9575              :                                                     }
    9576            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9577              :                                                     {
    9578            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9579              :                                                         {
    9580            0 :                                                           {
    9581            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9582            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    9583            0 :                                                             if (res) return res;
    9584              :                                                           }
    9585              :                                                         }
    9586              :                                                     }
    9587              :                                                   break;
    9588              :                                                 }
    9589            0 :                                               case BIT_IOR_EXPR:
    9590            0 :                                                 {
    9591            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9592            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9593            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9594              :                                                     {
    9595            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9596              :                                                         {
    9597            0 :                                                           {
    9598            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9599            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    9600            0 :                                                             if (res) return res;
    9601              :                                                           }
    9602              :                                                         }
    9603              :                                                     }
    9604            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9605              :                                                     {
    9606            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9607              :                                                         {
    9608            0 :                                                           {
    9609            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9610            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    9611            0 :                                                             if (res) return res;
    9612              :                                                           }
    9613              :                                                         }
    9614              :                                                     }
    9615              :                                                   break;
    9616              :                                                 }
    9617              :                                               default:;
    9618              :                                               }
    9619              :                                           }
    9620              :                                         break;
    9621              :                                       default:;
    9622              :                                       }
    9623              :                                     break;
    9624              :                                   default:;
    9625              :                                   }
    9626              :                               }
    9627              :                             break;
    9628              :                           default:;
    9629              :                           }
    9630              :                         break;
    9631              :                       default:;
    9632              :                       }
    9633              :                     break;
    9634              :                   }
    9635              :                 default:;
    9636              :                 }
    9637              :             }
    9638              :           break;
    9639            0 :         case CFN_LOG:
    9640            0 :           if (call_expr_nargs (_p0) == 1)
    9641              :     {
    9642            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9643            0 :               switch (TREE_CODE (_p1))
    9644              :                 {
    9645            0 :                 case CALL_EXPR:
    9646            0 :                   switch (get_call_combined_fn (_p1))
    9647              :                     {
    9648            0 :                     case CFN_LOG:
    9649            0 :                       if (call_expr_nargs (_p1) == 1)
    9650              :     {
    9651            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9652            0 :                           {
    9653            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9654            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_LOG);
    9655            0 :                             if (res) return res;
    9656              :                           }
    9657              :                         }
    9658              :                       break;
    9659              :                     default:;
    9660              :                     }
    9661              :                   break;
    9662              :                 default:;
    9663              :                 }
    9664              :             }
    9665              :           break;
    9666            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
    9667            0 :           if (call_expr_nargs (_p0) == 1)
    9668              :     {
    9669            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9670            0 :               switch (TREE_CODE (_p1))
    9671              :                 {
    9672            0 :                 case CALL_EXPR:
    9673            0 :                   switch (get_call_combined_fn (_p1))
    9674              :                     {
    9675            0 :                     case CFN_BUILT_IN_POPCOUNTIMAX:
    9676            0 :                       if (call_expr_nargs (_p1) == 1)
    9677              :     {
    9678            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9679            0 :                           {
    9680            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9681            0 :                             tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9682            0 :                             if (res) return res;
    9683              :                           }
    9684              :                         }
    9685              :                       break;
    9686              :                     default:;
    9687              :                     }
    9688              :                   break;
    9689            0 :                 default:;
    9690              :                 }
    9691            0 :               switch (TREE_CODE (_q20))
    9692              :                 {
    9693            0 :                 case BIT_AND_EXPR:
    9694            0 :                   {
    9695            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9696            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9697            0 :                     switch (TREE_CODE (_p1))
    9698              :                       {
    9699            0 :                       case CALL_EXPR:
    9700            0 :                         switch (get_call_combined_fn (_p1))
    9701              :                           {
    9702            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    9703            0 :                             if (call_expr_nargs (_p1) == 1)
    9704              :     {
    9705            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9706            0 :                                 switch (TREE_CODE (_q60))
    9707              :                                   {
    9708            0 :                                   case BIT_IOR_EXPR:
    9709            0 :                                     {
    9710            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9711            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9712            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9713              :                                         {
    9714            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9715              :                                             {
    9716            0 :                                               {
    9717            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9718            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9719            0 :                                                 if (res) return res;
    9720              :                                               }
    9721              :                                             }
    9722              :                                         }
    9723            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9724              :                                         {
    9725            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9726              :                                             {
    9727            0 :                                               {
    9728            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9729            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9730            0 :                                                 if (res) return res;
    9731              :                                               }
    9732              :                                             }
    9733              :                                         }
    9734              :                                       break;
    9735              :                                     }
    9736              :                                   default:;
    9737              :                                   }
    9738              :                               }
    9739              :                             break;
    9740              :                           default:;
    9741              :                           }
    9742              :                         break;
    9743              :                       default:;
    9744              :                       }
    9745              :                     break;
    9746              :                   }
    9747            0 :                 case BIT_IOR_EXPR:
    9748            0 :                   {
    9749            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9750            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9751            0 :                     switch (TREE_CODE (_p1))
    9752              :                       {
    9753            0 :                       case CALL_EXPR:
    9754            0 :                         switch (get_call_combined_fn (_p1))
    9755              :                           {
    9756            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    9757            0 :                             if (call_expr_nargs (_p1) == 1)
    9758              :     {
    9759            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9760            0 :                                 switch (TREE_CODE (_q60))
    9761              :                                   {
    9762            0 :                                   case BIT_AND_EXPR:
    9763            0 :                                     {
    9764            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9765            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9766            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9767              :                                         {
    9768            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9769              :                                             {
    9770            0 :                                               {
    9771            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9772            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9773            0 :                                                 if (res) return res;
    9774              :                                               }
    9775              :                                             }
    9776              :                                         }
    9777            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9778              :                                         {
    9779            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9780              :                                             {
    9781            0 :                                               {
    9782            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9783            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9784            0 :                                                 if (res) return res;
    9785              :                                               }
    9786              :                                             }
    9787              :                                         }
    9788              :                                       break;
    9789              :                                     }
    9790              :                                   default:;
    9791              :                                   }
    9792              :                               }
    9793              :                             break;
    9794              :                           default:;
    9795              :                           }
    9796              :                         break;
    9797              :                       default:;
    9798              :                       }
    9799              :                     break;
    9800              :                   }
    9801            0 :                 default:;
    9802              :                 }
    9803            0 :               switch (TREE_CODE (_p1))
    9804              :                 {
    9805            0 :                 case MINUS_EXPR:
    9806            0 :                   {
    9807            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9808            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9809            0 :                     switch (TREE_CODE (_q40))
    9810              :                       {
    9811            0 :                       case CALL_EXPR:
    9812            0 :                         switch (get_call_combined_fn (_q40))
    9813              :                           {
    9814            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    9815            0 :                             if (call_expr_nargs (_q40) == 1)
    9816              :     {
    9817            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9818            0 :                                 switch (TREE_CODE (_q41))
    9819              :                                   {
    9820            0 :                                   case CALL_EXPR:
    9821            0 :                                     switch (get_call_combined_fn (_q41))
    9822              :                                       {
    9823            0 :                                       case CFN_BUILT_IN_POPCOUNTIMAX:
    9824            0 :                                         if (call_expr_nargs (_q41) == 1)
    9825              :     {
    9826            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    9827            0 :                                             switch (TREE_CODE (_q70))
    9828              :                                               {
    9829            0 :                                               case BIT_AND_EXPR:
    9830            0 :                                                 {
    9831            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9832            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9833            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9834              :                                                     {
    9835            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9836              :                                                         {
    9837            0 :                                                           {
    9838            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9839            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9840            0 :                                                             if (res) return res;
    9841              :                                                           }
    9842              :                                                         }
    9843              :                                                     }
    9844            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9845              :                                                     {
    9846            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9847              :                                                         {
    9848            0 :                                                           {
    9849            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9850            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9851            0 :                                                             if (res) return res;
    9852              :                                                           }
    9853              :                                                         }
    9854              :                                                     }
    9855              :                                                   break;
    9856              :                                                 }
    9857            0 :                                               case BIT_IOR_EXPR:
    9858            0 :                                                 {
    9859            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9860            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9861            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9862              :                                                     {
    9863            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9864              :                                                         {
    9865            0 :                                                           {
    9866            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9867            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9868            0 :                                                             if (res) return res;
    9869              :                                                           }
    9870              :                                                         }
    9871              :                                                     }
    9872            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9873              :                                                     {
    9874            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9875              :                                                         {
    9876            0 :                                                           {
    9877            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9878            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9879            0 :                                                             if (res) return res;
    9880              :                                                           }
    9881              :                                                         }
    9882              :                                                     }
    9883              :                                                   break;
    9884              :                                                 }
    9885              :                                               default:;
    9886              :                                               }
    9887              :                                           }
    9888              :                                         break;
    9889              :                                       default:;
    9890              :                                       }
    9891              :                                     break;
    9892              :                                   default:;
    9893              :                                   }
    9894              :                               }
    9895              :                             break;
    9896              :                           default:;
    9897              :                           }
    9898              :                         break;
    9899              :                       default:;
    9900              :                       }
    9901              :                     break;
    9902              :                   }
    9903              :                 default:;
    9904              :                 }
    9905              :             }
    9906              :           break;
    9907            0 :         case CFN_LOG2:
    9908            0 :           if (call_expr_nargs (_p0) == 1)
    9909              :     {
    9910            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9911            0 :               switch (TREE_CODE (_p1))
    9912              :                 {
    9913            0 :                 case CALL_EXPR:
    9914            0 :                   switch (get_call_combined_fn (_p1))
    9915              :                     {
    9916            0 :                     case CFN_LOG2:
    9917            0 :                       if (call_expr_nargs (_p1) == 1)
    9918              :     {
    9919            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9920            0 :                           {
    9921            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9922            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_LOG2);
    9923            0 :                             if (res) return res;
    9924              :                           }
    9925              :                         }
    9926              :                       break;
    9927              :                     default:;
    9928              :                     }
    9929              :                   break;
    9930              :                 default:;
    9931              :                 }
    9932              :             }
    9933              :           break;
    9934          135 :         case CFN_BUILT_IN_POPCOUNTL:
    9935          135 :           if (call_expr_nargs (_p0) == 1)
    9936              :     {
    9937          135 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9938          135 :               switch (TREE_CODE (_p1))
    9939              :                 {
    9940           69 :                 case CALL_EXPR:
    9941           69 :                   switch (get_call_combined_fn (_p1))
    9942              :                     {
    9943           69 :                     case CFN_BUILT_IN_POPCOUNTL:
    9944           69 :                       if (call_expr_nargs (_p1) == 1)
    9945              :     {
    9946           69 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9947           69 :                           {
    9948           69 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9949           69 :                             tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9950           69 :                             if (res) return res;
    9951              :                           }
    9952              :                         }
    9953              :                       break;
    9954              :                     default:;
    9955              :                     }
    9956              :                   break;
    9957          135 :                 default:;
    9958              :                 }
    9959          135 :               switch (TREE_CODE (_q20))
    9960              :                 {
    9961            0 :                 case BIT_AND_EXPR:
    9962            0 :                   {
    9963            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9964            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9965            0 :                     switch (TREE_CODE (_p1))
    9966              :                       {
    9967            0 :                       case CALL_EXPR:
    9968            0 :                         switch (get_call_combined_fn (_p1))
    9969              :                           {
    9970            0 :                           case CFN_BUILT_IN_POPCOUNTL:
    9971            0 :                             if (call_expr_nargs (_p1) == 1)
    9972              :     {
    9973            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9974            0 :                                 switch (TREE_CODE (_q60))
    9975              :                                   {
    9976            0 :                                   case BIT_IOR_EXPR:
    9977            0 :                                     {
    9978            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9979            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9980            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9981              :                                         {
    9982            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9983              :                                             {
    9984            0 :                                               {
    9985            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9986            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9987            0 :                                                 if (res) return res;
    9988              :                                               }
    9989              :                                             }
    9990              :                                         }
    9991            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9992              :                                         {
    9993            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9994              :                                             {
    9995            0 :                                               {
    9996            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9997            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9998            0 :                                                 if (res) return res;
    9999              :                                               }
   10000              :                                             }
   10001              :                                         }
   10002              :                                       break;
   10003              :                                     }
   10004              :                                   default:;
   10005              :                                   }
   10006              :                               }
   10007              :                             break;
   10008              :                           default:;
   10009              :                           }
   10010              :                         break;
   10011              :                       default:;
   10012              :                       }
   10013              :                     break;
   10014              :                   }
   10015            0 :                 case BIT_IOR_EXPR:
   10016            0 :                   {
   10017            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
   10018            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
   10019            0 :                     switch (TREE_CODE (_p1))
   10020              :                       {
   10021            0 :                       case CALL_EXPR:
   10022            0 :                         switch (get_call_combined_fn (_p1))
   10023              :                           {
   10024            0 :                           case CFN_BUILT_IN_POPCOUNTL:
   10025            0 :                             if (call_expr_nargs (_p1) == 1)
   10026              :     {
   10027            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
   10028            0 :                                 switch (TREE_CODE (_q60))
   10029              :                                   {
   10030            0 :                                   case BIT_AND_EXPR:
   10031            0 :                                     {
   10032            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
   10033            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
   10034            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10035              :                                         {
   10036            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10037              :                                             {
   10038            0 :                                               {
   10039            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
   10040            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
   10041            0 :                                                 if (res) return res;
   10042              :                                               }
   10043              :                                             }
   10044              :                                         }
   10045            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10046              :                                         {
   10047            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10048              :                                             {
   10049            0 :                                               {
   10050            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
   10051            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
   10052            0 :                                                 if (res) return res;
   10053              :                                               }
   10054              :                                             }
   10055              :                                         }
   10056              :                                       break;
   10057              :                                     }
   10058              :                                   default:;
   10059              :                                   }
   10060              :                               }
   10061              :                             break;
   10062              :                           default:;
   10063              :                           }
   10064              :                         break;
   10065              :                       default:;
   10066              :                       }
   10067              :                     break;
   10068              :                   }
   10069          135 :                 default:;
   10070              :                 }
   10071          135 :               switch (TREE_CODE (_p1))
   10072              :                 {
   10073            0 :                 case MINUS_EXPR:
   10074            0 :                   {
   10075            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   10076            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
   10077            0 :                     switch (TREE_CODE (_q40))
   10078              :                       {
   10079            0 :                       case CALL_EXPR:
   10080            0 :                         switch (get_call_combined_fn (_q40))
   10081              :                           {
   10082            0 :                           case CFN_BUILT_IN_POPCOUNTL:
   10083            0 :                             if (call_expr_nargs (_q40) == 1)
   10084              :     {
   10085            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   10086            0 :                                 switch (TREE_CODE (_q41))
   10087              :                                   {
   10088            0 :                                   case CALL_EXPR:
   10089            0 :                                     switch (get_call_combined_fn (_q41))
   10090              :                                       {
   10091            0 :                                       case CFN_BUILT_IN_POPCOUNTL:
   10092            0 :                                         if (call_expr_nargs (_q41) == 1)
   10093              :     {
   10094            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
   10095            0 :                                             switch (TREE_CODE (_q70))
   10096              :                                               {
   10097            0 :                                               case BIT_AND_EXPR:
   10098            0 :                                                 {
   10099            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10100            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10101            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10102              :                                                     {
   10103            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10104              :                                                         {
   10105            0 :                                                           {
   10106            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10107            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10108            0 :                                                             if (res) return res;
   10109              :                                                           }
   10110              :                                                         }
   10111              :                                                     }
   10112            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10113              :                                                     {
   10114            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10115              :                                                         {
   10116            0 :                                                           {
   10117            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10118            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10119            0 :                                                             if (res) return res;
   10120              :                                                           }
   10121              :                                                         }
   10122              :                                                     }
   10123              :                                                   break;
   10124              :                                                 }
   10125            0 :                                               case BIT_IOR_EXPR:
   10126            0 :                                                 {
   10127            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10128            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10129            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10130              :                                                     {
   10131            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10132              :                                                         {
   10133            0 :                                                           {
   10134            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10135            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10136            0 :                                                             if (res) return res;
   10137              :                                                           }
   10138              :                                                         }
   10139              :                                                     }
   10140            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10141              :                                                     {
   10142            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10143              :                                                         {
   10144            0 :                                                           {
   10145            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10146            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10147            0 :                                                             if (res) return res;
   10148              :                                                           }
   10149              :                                                         }
   10150              :                                                     }
   10151              :                                                   break;
   10152              :                                                 }
   10153              :                                               default:;
   10154              :                                               }
   10155              :                                           }
   10156              :                                         break;
   10157              :                                       default:;
   10158              :                                       }
   10159              :                                     break;
   10160              :                                   default:;
   10161              :                                   }
   10162              :                               }
   10163              :                             break;
   10164              :                           default:;
   10165              :                           }
   10166              :                         break;
   10167              :                       default:;
   10168              :                       }
   10169              :                     break;
   10170              :                   }
   10171              :                 default:;
   10172              :                 }
   10173              :             }
   10174              :           break;
   10175            0 :         case CFN_LOG10:
   10176            0 :           if (call_expr_nargs (_p0) == 1)
   10177              :     {
   10178            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10179            0 :               switch (TREE_CODE (_p1))
   10180              :                 {
   10181            0 :                 case CALL_EXPR:
   10182            0 :                   switch (get_call_combined_fn (_p1))
   10183              :                     {
   10184            0 :                     case CFN_LOG10:
   10185            0 :                       if (call_expr_nargs (_p1) == 1)
   10186              :     {
   10187            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10188            0 :                           {
   10189            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10190            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_LOG10);
   10191            0 :                             if (res) return res;
   10192              :                           }
   10193              :                         }
   10194              :                       break;
   10195              :                     default:;
   10196              :                     }
   10197              :                   break;
   10198              :                 default:;
   10199              :                 }
   10200              :             }
   10201              :           break;
   10202            0 :         case CFN_BUILT_IN_LOG10:
   10203            0 :           if (call_expr_nargs (_p0) == 1)
   10204              :     {
   10205            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10206            0 :               switch (TREE_CODE (_p1))
   10207              :                 {
   10208            0 :                 case CALL_EXPR:
   10209            0 :                   switch (get_call_combined_fn (_p1))
   10210              :                     {
   10211            0 :                     case CFN_BUILT_IN_LOG10:
   10212            0 :                       if (call_expr_nargs (_p1) == 1)
   10213              :     {
   10214            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10215            0 :                           {
   10216            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10217            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10);
   10218            0 :                             if (res) return res;
   10219              :                           }
   10220              :                         }
   10221              :                       break;
   10222              :                     default:;
   10223              :                     }
   10224              :                   break;
   10225              :                 default:;
   10226              :                 }
   10227              :             }
   10228              :           break;
   10229            0 :         case CFN_BUILT_IN_LOG2F:
   10230            0 :           if (call_expr_nargs (_p0) == 1)
   10231              :     {
   10232            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10233            0 :               switch (TREE_CODE (_p1))
   10234              :                 {
   10235            0 :                 case CALL_EXPR:
   10236            0 :                   switch (get_call_combined_fn (_p1))
   10237              :                     {
   10238            0 :                     case CFN_BUILT_IN_LOG2F:
   10239            0 :                       if (call_expr_nargs (_p1) == 1)
   10240              :     {
   10241            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10242            0 :                           {
   10243            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10244            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F);
   10245            0 :                             if (res) return res;
   10246              :                           }
   10247              :                         }
   10248              :                       break;
   10249              :                     default:;
   10250              :                     }
   10251              :                   break;
   10252              :                 default:;
   10253              :                 }
   10254              :             }
   10255              :           break;
   10256            0 :         case CFN_BUILT_IN_LOG2L:
   10257            0 :           if (call_expr_nargs (_p0) == 1)
   10258              :     {
   10259            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10260            0 :               switch (TREE_CODE (_p1))
   10261              :                 {
   10262            0 :                 case CALL_EXPR:
   10263            0 :                   switch (get_call_combined_fn (_p1))
   10264              :                     {
   10265            0 :                     case CFN_BUILT_IN_LOG2L:
   10266            0 :                       if (call_expr_nargs (_p1) == 1)
   10267              :     {
   10268            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10269            0 :                           {
   10270            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10271            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L);
   10272            0 :                             if (res) return res;
   10273              :                           }
   10274              :                         }
   10275              :                       break;
   10276              :                     default:;
   10277              :                     }
   10278              :                   break;
   10279              :                 default:;
   10280              :                 }
   10281              :             }
   10282              :           break;
   10283              :         default:;
   10284              :         }
   10285              :       break;
   10286     60961851 :     default:;
   10287              :     }
   10288     60961851 :   switch (TREE_CODE (_p1))
   10289              :     {
   10290            0 :     case VEC_PERM_EXPR:
   10291            0 :       {
   10292            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10293            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10294            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10295            0 :         switch (TREE_CODE (_q30))
   10296              :           {
   10297            0 :           case MULT_EXPR:
   10298            0 :             {
   10299            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10300            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10301            0 :               if (tree_vec_same_elem_p (_q41))
   10302              :                 {
   10303            0 :                   if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
   10304              :                     {
   10305            0 :                       {
   10306            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q41, _q32, _p0 };
   10307            0 :                         tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
   10308            0 :                         if (res) return res;
   10309              :                       }
   10310              :                     }
   10311              :                 }
   10312            0 :               if (tree_vec_same_elem_p (_q40))
   10313              :                 {
   10314            0 :                   if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
   10315              :                     {
   10316            0 :                       {
   10317            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q40, _q32, _p0 };
   10318            0 :                         tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
   10319            0 :                         if (res) return res;
   10320              :                       }
   10321              :                     }
   10322              :                 }
   10323              :               break;
   10324              :             }
   10325              :           default:;
   10326              :           }
   10327              :         break;
   10328              :       }
   10329              :     default:;
   10330              :     }
   10331              :   return NULL_TREE;
   10332              : }
   10333              : 
   10334              : tree
   10335       851992 : generic_simplify_UNLE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10336              : {
   10337       851992 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10338       851992 :   switch (TREE_CODE (_p0))
   10339              :     {
   10340            0 :     case VEC_COND_EXPR:
   10341            0 :       {
   10342            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10343            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10344            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10345            0 :         switch (TREE_CODE (_p1))
   10346              :           {
   10347            0 :           case VEC_COND_EXPR:
   10348            0 :             {
   10349            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10350            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10351            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10352            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10353              :                 {
   10354            0 :                   {
   10355            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10356            0 :                     if (VECTOR_TYPE_P (type)
   10357            0 :  && (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
   10358            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10359            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10360              :  || (optimize_vectors_before_lowering_p ()
   10361            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10362              : )
   10363              :                       {
   10364            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1769;
   10365            0 :                         {
   10366            0 :                           tree res_op0;
   10367            0 :                           res_op0 = captures[1];
   10368            0 :                           tree res_op1;
   10369            0 :                           {
   10370            0 :                             tree _o1[2], _r1;
   10371            0 :                             _o1[0] = captures[2];
   10372            0 :                             _o1[1] = captures[5];
   10373            0 :                             _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10374            0 :                             if (EXPR_P (_r1))
   10375            0 :                               goto next_after_fail1769;
   10376            0 :                             res_op1 = _r1;
   10377              :                           }
   10378            0 :                           tree res_op2;
   10379            0 :                           {
   10380            0 :                             tree _o1[2], _r1;
   10381            0 :                             _o1[0] = captures[3];
   10382            0 :                             _o1[1] = captures[6];
   10383            0 :                             _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10384            0 :                             if (EXPR_P (_r1))
   10385            0 :                               goto next_after_fail1769;
   10386            0 :                             res_op2 = _r1;
   10387              :                           }
   10388            0 :                           tree _r;
   10389            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10390            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   10391            0 :                           return _r;
   10392              :                         }
   10393            0 : next_after_fail1769:;
   10394              :                       }
   10395              :                   }
   10396              :                 }
   10397              :               break;
   10398              :             }
   10399            0 :           default:;
   10400              :           }
   10401            0 :         {
   10402            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10403            0 :           if (VECTOR_TYPE_P (type)
   10404            0 :  && (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
   10405            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10406            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10407              :  || (optimize_vectors_before_lowering_p ()
   10408            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10409              : )
   10410              :             {
   10411            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1770;
   10412            0 :               {
   10413            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1770;
   10414            0 :                 tree res_op0;
   10415            0 :                 res_op0 = captures[1];
   10416            0 :                 tree res_op1;
   10417            0 :                 {
   10418            0 :                   tree _o1[2], _r1;
   10419            0 :                   _o1[0] = captures[2];
   10420            0 :                   _o1[1] = unshare_expr (captures[4]);
   10421            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10422            0 :                   if (EXPR_P (_r1))
   10423            0 :                     goto next_after_fail1770;
   10424            0 :                   res_op1 = _r1;
   10425              :                 }
   10426            0 :                 tree res_op2;
   10427            0 :                 {
   10428            0 :                   tree _o1[2], _r1;
   10429            0 :                   _o1[0] = captures[3];
   10430            0 :                   _o1[1] = captures[4];
   10431            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10432            0 :                   if (EXPR_P (_r1))
   10433            0 :                     goto next_after_fail1770;
   10434            0 :                   res_op2 = _r1;
   10435              :                 }
   10436            0 :                 tree _r;
   10437            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10438            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
   10439            0 :                 return _r;
   10440              :               }
   10441            0 : next_after_fail1770:;
   10442              :             }
   10443              :         }
   10444            0 :         break;
   10445              :       }
   10446       851992 :     default:;
   10447              :     }
   10448       851992 :   switch (TREE_CODE (_p1))
   10449              :     {
   10450            0 :     case VEC_COND_EXPR:
   10451            0 :       {
   10452            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10453            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10454            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10455            0 :         {
   10456            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10457            0 :           if (VECTOR_TYPE_P (type)
   10458            0 :  && (TREE_CODE_CLASS (UNLE_EXPR) != tcc_comparison
   10459            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10460            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10461              :  || (optimize_vectors_before_lowering_p ()
   10462            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10463              : )
   10464              :             {
   10465            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1771;
   10466            0 :               {
   10467            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1771;
   10468            0 :                 tree res_op0;
   10469            0 :                 res_op0 = captures[2];
   10470            0 :                 tree res_op1;
   10471            0 :                 {
   10472            0 :                   tree _o1[2], _r1;
   10473            0 :                   _o1[0] = unshare_expr (captures[0]);
   10474            0 :                   _o1[1] = captures[3];
   10475            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10476            0 :                   if (EXPR_P (_r1))
   10477            0 :                     goto next_after_fail1771;
   10478            0 :                   res_op1 = _r1;
   10479              :                 }
   10480            0 :                 tree res_op2;
   10481            0 :                 {
   10482            0 :                   tree _o1[2], _r1;
   10483            0 :                   _o1[0] = captures[0];
   10484            0 :                   _o1[1] = captures[4];
   10485            0 :                   _r1 = fold_build2_loc (loc, UNLE_EXPR, type, _o1[0], _o1[1]);
   10486            0 :                   if (EXPR_P (_r1))
   10487            0 :                     goto next_after_fail1771;
   10488            0 :                   res_op2 = _r1;
   10489              :                 }
   10490            0 :                 tree _r;
   10491            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10492            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   10493            0 :                 return _r;
   10494              :               }
   10495            0 : next_after_fail1771:;
   10496              :             }
   10497              :         }
   10498            0 :         break;
   10499              :       }
   10500       851992 :     default:;
   10501              :     }
   10502       851992 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10503              :     {
   10504           30 :       {
   10505           30 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10506           30 :         tree res = generic_simplify_563 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   10507           30 :         if (res) return res;
   10508              :       }
   10509              :     }
   10510       851962 :   switch (TREE_CODE (_p0))
   10511              :     {
   10512           96 :     case FLOAT_EXPR:
   10513           96 :       {
   10514           96 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10515           96 :         switch (TREE_CODE (_p1))
   10516              :           {
   10517            0 :           case FLOAT_EXPR:
   10518            0 :             {
   10519            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10520            0 :               {
   10521            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10522            0 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, UNLE_EXPR, LE_EXPR);
   10523            0 :                 if (res) return res;
   10524              :               }
   10525            0 :               break;
   10526              :             }
   10527              :           default:;
   10528              :           }
   10529              :         break;
   10530              :       }
   10531          112 :     case NEGATE_EXPR:
   10532          112 :       {
   10533          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10534          112 :         switch (TREE_CODE (_p1))
   10535              :           {
   10536            0 :           case NEGATE_EXPR:
   10537            0 :             {
   10538            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10539            0 :               {
   10540            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10541            0 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNLE_EXPR, UNGE_EXPR);
   10542            0 :                 if (res) return res;
   10543              :               }
   10544            0 :               break;
   10545              :             }
   10546          112 :           default:;
   10547              :           }
   10548          112 :       if (CONSTANT_CLASS_P (_p1))
   10549              :         {
   10550          112 :           {
   10551          112 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10552          112 :             tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, UNLE_EXPR, UNGE_EXPR);
   10553          112 :             if (res) return res;
   10554              :           }
   10555              :         }
   10556              :         break;
   10557              :       }
   10558       851850 :     default:;
   10559              :     }
   10560       851850 :   switch (TREE_CODE (_p1))
   10561              :     {
   10562       496449 :     case REAL_CST:
   10563       496449 :       {
   10564       496449 :         {
   10565       496449 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10566       496449 :           tree res = generic_simplify_561 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   10567       496449 :           if (res) return res;
   10568              :         }
   10569       496447 :         break;
   10570              :       }
   10571              :     default:;
   10572              :     }
   10573              :   return NULL_TREE;
   10574              : }
   10575              : 
   10576              : tree
   10577      3249532 : 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)
   10578              : {
   10579      3249532 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10580      3249532 :   switch (TREE_CODE (_p0))
   10581              :     {
   10582       327790 :     case LE_EXPR:
   10583       327790 :       {
   10584       327790 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10585       327790 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10586       327790 :         switch (TREE_CODE (_q20))
   10587              :           {
   10588           90 :           case POINTER_PLUS_EXPR:
   10589           90 :             {
   10590           90 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10591           90 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10592           90 :               switch (TREE_CODE (_q31))
   10593              :                 {
   10594            2 :                 case INTEGER_CST:
   10595            2 :                   {
   10596            2 :                     switch (TREE_CODE (_p1))
   10597              :                       {
   10598            2 :                       case LE_EXPR:
   10599            2 :                         {
   10600            2 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   10601            2 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   10602            2 :                           switch (TREE_CODE (_q70))
   10603              :                             {
   10604            2 :                             case POINTER_PLUS_EXPR:
   10605            2 :                               {
   10606            2 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   10607            2 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   10608            2 :                                 if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   10609              :                                   {
   10610            2 :                                     if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
   10611              :                                       {
   10612            2 :                                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10613              :                                           {
   10614            2 :                                             {
   10615            2 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
   10616            2 :                                               const enum tree_code cmp = LE_EXPR;
   10617            2 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   10618            1 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   10619            3 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   10620              : )
   10621              :                                                 {
   10622            1 :                                                   {
   10623            1 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   10624            1 :  offset_int rhs = off * 2;
   10625            1 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   10626              : )
   10627              :                                                         {
   10628            1 :                                                           {
   10629            1 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   10630            1 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   10631            1 :                                                               if (cmp == LT_EXPR
   10632              : )
   10633              :                                                                 {
   10634              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1785;
   10635              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1785;
   10636              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1785;
   10637              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1785;
   10638              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1785;
   10639              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1785;
   10640              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1785;
   10641              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1785;
   10642              :                                                                   {
   10643              :                                                                     tree res_op0;
   10644              :                                                                     {
   10645              :                                                                       tree _o1[1], _r1;
   10646              :                                                                       {
   10647              :                                                                         tree _o2[2], _r2;
   10648              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   10649              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   10650              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   10651              :                                                                         _o1[0] = _r2;
   10652              :                                                                       }
   10653              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   10654              :                                                                         {
   10655              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   10656              :                                                                         }
   10657              :                                                                       else
   10658              :                                                                         _r1 = _o1[0];
   10659              :                                                                       res_op0 = _r1;
   10660              :                                                                     }
   10661              :                                                                     tree res_op1;
   10662              :                                                                     res_op1 =  rhs_tree;
   10663              :                                                                     tree _r;
   10664              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10665              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
   10666            1 :                                                                     return _r;
   10667              :                                                                   }
   10668              : next_after_fail1785:;
   10669              :                                                                 }
   10670              :                                                               else
   10671              :                                                                 {
   10672            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1786;
   10673            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1786;
   10674            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1786;
   10675            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1786;
   10676            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1786;
   10677            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1786;
   10678            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1786;
   10679            1 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1786;
   10680            1 :                                                                   {
   10681            1 :                                                                     tree res_op0;
   10682            1 :                                                                     {
   10683            1 :                                                                       tree _o1[1], _r1;
   10684            1 :                                                                       {
   10685            1 :                                                                         tree _o2[2], _r2;
   10686            1 :                                                                         {
   10687            1 :                                                                           tree _o3[2], _r3;
   10688            1 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   10689            1 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   10690            1 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   10691            1 :                                                                           _o2[0] = _r3;
   10692              :                                                                         }
   10693            1 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   10694            1 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   10695            1 :                                                                         _o1[0] = _r2;
   10696              :                                                                       }
   10697            1 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   10698              :                                                                         {
   10699            1 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   10700              :                                                                         }
   10701              :                                                                       else
   10702              :                                                                         _r1 = _o1[0];
   10703            1 :                                                                       res_op0 = _r1;
   10704              :                                                                     }
   10705            1 :                                                                     tree res_op1;
   10706            1 :                                                                     res_op1 =  rhs_tree;
   10707            1 :                                                                     tree _r;
   10708            1 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10709            1 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
   10710            1 :                                                                     return _r;
   10711              :                                                                   }
   10712            0 : next_after_fail1786:;
   10713              :                                                                 }
   10714              :                                                           }
   10715              :                                                         }
   10716              :                                                   }
   10717              :                                                 }
   10718              :                                             }
   10719              :                                           }
   10720              :                                       }
   10721              :                                   }
   10722              :                                 break;
   10723              :                               }
   10724              :                             default:;
   10725              :                             }
   10726              :                           break;
   10727              :                         }
   10728            0 :                       case GE_EXPR:
   10729            0 :                         {
   10730            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   10731            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   10732            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10733              :                             {
   10734            0 :                               switch (TREE_CODE (_q71))
   10735              :                                 {
   10736            0 :                                 case POINTER_PLUS_EXPR:
   10737            0 :                                   {
   10738            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   10739            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   10740            0 :                                     if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
   10741              :                                       {
   10742            0 :                                         if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   10743              :                                           {
   10744            0 :                                             {
   10745            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
   10746            0 :                                               const enum tree_code cmp = LE_EXPR;
   10747            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   10748            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   10749            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   10750              : )
   10751              :                                                 {
   10752            0 :                                                   {
   10753            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   10754            0 :  offset_int rhs = off * 2;
   10755            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   10756              : )
   10757              :                                                         {
   10758            0 :                                                           {
   10759            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   10760            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   10761            0 :                                                               if (cmp == LT_EXPR
   10762              : )
   10763              :                                                                 {
   10764              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1787;
   10765              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1787;
   10766              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1787;
   10767              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1787;
   10768              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1787;
   10769              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1787;
   10770              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1787;
   10771              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1787;
   10772              :                                                                   {
   10773              :                                                                     tree res_op0;
   10774              :                                                                     {
   10775              :                                                                       tree _o1[1], _r1;
   10776              :                                                                       {
   10777              :                                                                         tree _o2[2], _r2;
   10778              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   10779              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   10780              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   10781              :                                                                         _o1[0] = _r2;
   10782              :                                                                       }
   10783              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   10784              :                                                                         {
   10785              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   10786              :                                                                         }
   10787              :                                                                       else
   10788              :                                                                         _r1 = _o1[0];
   10789              :                                                                       res_op0 = _r1;
   10790              :                                                                     }
   10791              :                                                                     tree res_op1;
   10792              :                                                                     res_op1 =  rhs_tree;
   10793              :                                                                     tree _r;
   10794              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10795              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
   10796            0 :                                                                     return _r;
   10797              :                                                                   }
   10798              : next_after_fail1787:;
   10799              :                                                                 }
   10800              :                                                               else
   10801              :                                                                 {
   10802            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1788;
   10803            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1788;
   10804            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1788;
   10805            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1788;
   10806            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1788;
   10807            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1788;
   10808            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1788;
   10809            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1788;
   10810            0 :                                                                   {
   10811            0 :                                                                     tree res_op0;
   10812            0 :                                                                     {
   10813            0 :                                                                       tree _o1[1], _r1;
   10814            0 :                                                                       {
   10815            0 :                                                                         tree _o2[2], _r2;
   10816            0 :                                                                         {
   10817            0 :                                                                           tree _o3[2], _r3;
   10818            0 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   10819            0 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   10820            0 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   10821            0 :                                                                           _o2[0] = _r3;
   10822              :                                                                         }
   10823            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   10824            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   10825            0 :                                                                         _o1[0] = _r2;
   10826              :                                                                       }
   10827            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   10828              :                                                                         {
   10829            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   10830              :                                                                         }
   10831              :                                                                       else
   10832              :                                                                         _r1 = _o1[0];
   10833            0 :                                                                       res_op0 = _r1;
   10834              :                                                                     }
   10835            0 :                                                                     tree res_op1;
   10836            0 :                                                                     res_op1 =  rhs_tree;
   10837            0 :                                                                     tree _r;
   10838            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10839            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
   10840            0 :                                                                     return _r;
   10841              :                                                                   }
   10842            0 : next_after_fail1788:;
   10843              :                                                                 }
   10844              :                                                           }
   10845              :                                                         }
   10846              :                                                   }
   10847              :                                                 }
   10848              :                                             }
   10849              :                                           }
   10850              :                                       }
   10851              :                                     break;
   10852              :                                   }
   10853              :                                 default:;
   10854              :                                 }
   10855              :                             }
   10856              :                           break;
   10857              :                         }
   10858              :                       default:;
   10859              :                       }
   10860              :                     break;
   10861              :                   }
   10862              :                 default:;
   10863              :                 }
   10864              :               break;
   10865              :             }
   10866              :           default:;
   10867              :           }
   10868              :         break;
   10869              :       }
   10870       754420 :     case LT_EXPR:
   10871       754420 :       {
   10872       754420 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10873       754420 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10874       754420 :         switch (TREE_CODE (_q20))
   10875              :           {
   10876           13 :           case POINTER_PLUS_EXPR:
   10877           13 :             {
   10878           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10879           13 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10880           13 :               switch (TREE_CODE (_q31))
   10881              :                 {
   10882            7 :                 case INTEGER_CST:
   10883            7 :                   {
   10884            7 :                     switch (TREE_CODE (_p1))
   10885              :                       {
   10886            2 :                       case LT_EXPR:
   10887            2 :                         {
   10888            2 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   10889            2 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   10890            2 :                           switch (TREE_CODE (_q70))
   10891              :                             {
   10892            2 :                             case POINTER_PLUS_EXPR:
   10893            2 :                               {
   10894            2 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   10895            2 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   10896            2 :                                 if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   10897              :                                   {
   10898            2 :                                     if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
   10899              :                                       {
   10900            2 :                                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10901              :                                           {
   10902            2 :                                             {
   10903            2 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
   10904            2 :                                               const enum tree_code cmp = LT_EXPR;
   10905            2 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   10906            1 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   10907            3 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   10908              : )
   10909              :                                                 {
   10910            1 :                                                   {
   10911            1 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   10912            1 :  offset_int rhs = off * 2;
   10913            1 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   10914              : )
   10915              :                                                         {
   10916            1 :                                                           {
   10917            1 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   10918            1 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   10919            1 :                                                               if (cmp == LT_EXPR
   10920              : )
   10921              :                                                                 {
   10922            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1789;
   10923            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1789;
   10924            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1789;
   10925            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1789;
   10926            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1789;
   10927            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1789;
   10928            1 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1789;
   10929            1 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1789;
   10930            1 :                                                                   {
   10931            1 :                                                                     tree res_op0;
   10932            1 :                                                                     {
   10933            1 :                                                                       tree _o1[1], _r1;
   10934            1 :                                                                       {
   10935            1 :                                                                         tree _o2[2], _r2;
   10936            1 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   10937            1 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   10938            1 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   10939            1 :                                                                         _o1[0] = _r2;
   10940              :                                                                       }
   10941            1 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   10942              :                                                                         {
   10943            1 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   10944              :                                                                         }
   10945              :                                                                       else
   10946              :                                                                         _r1 = _o1[0];
   10947            1 :                                                                       res_op0 = _r1;
   10948              :                                                                     }
   10949            1 :                                                                     tree res_op1;
   10950            1 :                                                                     res_op1 =  rhs_tree;
   10951            1 :                                                                     tree _r;
   10952            1 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10953            1 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
   10954            1 :                                                                     return _r;
   10955              :                                                                   }
   10956            0 : next_after_fail1789:;
   10957              :                                                                 }
   10958              :                                                               else
   10959              :                                                                 {
   10960              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1790;
   10961              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1790;
   10962              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1790;
   10963              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1790;
   10964              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1790;
   10965              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1790;
   10966              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1790;
   10967              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1790;
   10968              :                                                                   {
   10969              :                                                                     tree res_op0;
   10970              :                                                                     {
   10971              :                                                                       tree _o1[1], _r1;
   10972              :                                                                       {
   10973              :                                                                         tree _o2[2], _r2;
   10974              :                                                                         {
   10975              :                                                                           tree _o3[2], _r3;
   10976              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   10977              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   10978              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   10979              :                                                                           _o2[0] = _r3;
   10980              :                                                                         }
   10981              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   10982              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   10983              :                                                                         _o1[0] = _r2;
   10984              :                                                                       }
   10985              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   10986              :                                                                         {
   10987              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   10988              :                                                                         }
   10989              :                                                                       else
   10990              :                                                                         _r1 = _o1[0];
   10991              :                                                                       res_op0 = _r1;
   10992              :                                                                     }
   10993              :                                                                     tree res_op1;
   10994              :                                                                     res_op1 =  rhs_tree;
   10995              :                                                                     tree _r;
   10996              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10997              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
   10998              :                                                                     return _r;
   10999              :                                                                   }
   11000              : next_after_fail1790:;
   11001              :                                                                 }
   11002              :                                                           }
   11003              :                                                         }
   11004              :                                                   }
   11005              :                                                 }
   11006              :                                             }
   11007              :                                           }
   11008              :                                       }
   11009              :                                   }
   11010              :                                 break;
   11011              :                               }
   11012              :                             default:;
   11013              :                             }
   11014              :                           break;
   11015              :                         }
   11016            0 :                       case GT_EXPR:
   11017            0 :                         {
   11018            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11019            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11020            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   11021              :                             {
   11022            0 :                               switch (TREE_CODE (_q71))
   11023              :                                 {
   11024            0 :                                 case POINTER_PLUS_EXPR:
   11025            0 :                                   {
   11026            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   11027            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   11028            0 :                                     if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
   11029              :                                       {
   11030            0 :                                         if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   11031              :                                           {
   11032            0 :                                             {
   11033            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
   11034            0 :                                               const enum tree_code cmp = LT_EXPR;
   11035            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11036            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11037            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11038              : )
   11039              :                                                 {
   11040            0 :                                                   {
   11041            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11042            0 :  offset_int rhs = off * 2;
   11043            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11044              : )
   11045              :                                                         {
   11046            0 :                                                           {
   11047            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11048            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11049            0 :                                                               if (cmp == LT_EXPR
   11050              : )
   11051              :                                                                 {
   11052            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1791;
   11053            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1791;
   11054            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1791;
   11055            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1791;
   11056            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1791;
   11057            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1791;
   11058            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1791;
   11059            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1791;
   11060            0 :                                                                   {
   11061            0 :                                                                     tree res_op0;
   11062            0 :                                                                     {
   11063            0 :                                                                       tree _o1[1], _r1;
   11064            0 :                                                                       {
   11065            0 :                                                                         tree _o2[2], _r2;
   11066            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11067            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11068            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11069            0 :                                                                         _o1[0] = _r2;
   11070              :                                                                       }
   11071            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11072              :                                                                         {
   11073            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11074              :                                                                         }
   11075              :                                                                       else
   11076              :                                                                         _r1 = _o1[0];
   11077            0 :                                                                       res_op0 = _r1;
   11078              :                                                                     }
   11079            0 :                                                                     tree res_op1;
   11080            0 :                                                                     res_op1 =  rhs_tree;
   11081            0 :                                                                     tree _r;
   11082            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11083            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
   11084            0 :                                                                     return _r;
   11085              :                                                                   }
   11086            0 : next_after_fail1791:;
   11087              :                                                                 }
   11088              :                                                               else
   11089              :                                                                 {
   11090              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1792;
   11091              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1792;
   11092              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1792;
   11093              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1792;
   11094              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1792;
   11095              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1792;
   11096              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1792;
   11097              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1792;
   11098              :                                                                   {
   11099              :                                                                     tree res_op0;
   11100              :                                                                     {
   11101              :                                                                       tree _o1[1], _r1;
   11102              :                                                                       {
   11103              :                                                                         tree _o2[2], _r2;
   11104              :                                                                         {
   11105              :                                                                           tree _o3[2], _r3;
   11106              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11107              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11108              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11109              :                                                                           _o2[0] = _r3;
   11110              :                                                                         }
   11111              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11112              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11113              :                                                                         _o1[0] = _r2;
   11114              :                                                                       }
   11115              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11116              :                                                                         {
   11117              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11118              :                                                                         }
   11119              :                                                                       else
   11120              :                                                                         _r1 = _o1[0];
   11121              :                                                                       res_op0 = _r1;
   11122              :                                                                     }
   11123              :                                                                     tree res_op1;
   11124              :                                                                     res_op1 =  rhs_tree;
   11125              :                                                                     tree _r;
   11126              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11127              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
   11128              :                                                                     return _r;
   11129              :                                                                   }
   11130              : next_after_fail1792:;
   11131              :                                                                 }
   11132              :                                                           }
   11133              :                                                         }
   11134              :                                                   }
   11135              :                                                 }
   11136              :                                             }
   11137              :                                           }
   11138              :                                       }
   11139              :                                     break;
   11140              :                                   }
   11141              :                                 default:;
   11142              :                                 }
   11143              :                             }
   11144              :                           break;
   11145              :                         }
   11146              :                       default:;
   11147              :                       }
   11148              :                     break;
   11149              :                   }
   11150              :                 default:;
   11151              :                 }
   11152              :               break;
   11153              :             }
   11154              :           default:;
   11155              :           }
   11156              :         break;
   11157              :       }
   11158        18381 :     case GE_EXPR:
   11159        18381 :       {
   11160        18381 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11161        18381 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11162        18381 :         switch (TREE_CODE (_q21))
   11163              :           {
   11164            0 :           case POINTER_PLUS_EXPR:
   11165            0 :             {
   11166            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   11167            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   11168            0 :               switch (TREE_CODE (_q41))
   11169              :                 {
   11170            0 :                 case INTEGER_CST:
   11171            0 :                   {
   11172            0 :                     switch (TREE_CODE (_p1))
   11173              :                       {
   11174            0 :                       case LE_EXPR:
   11175            0 :                         {
   11176            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11177            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11178            0 :                           switch (TREE_CODE (_q70))
   11179              :                             {
   11180            0 :                             case POINTER_PLUS_EXPR:
   11181            0 :                               {
   11182            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   11183            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   11184            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11185              :                                   {
   11186            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
   11187              :                                       {
   11188            0 :                                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   11189              :                                           {
   11190            0 :                                             {
   11191            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
   11192            0 :                                               const enum tree_code cmp = LE_EXPR;
   11193            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11194            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11195            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11196              : )
   11197              :                                                 {
   11198            0 :                                                   {
   11199            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11200            0 :  offset_int rhs = off * 2;
   11201            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11202              : )
   11203              :                                                         {
   11204            0 :                                                           {
   11205            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11206            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11207            0 :                                                               if (cmp == LT_EXPR
   11208              : )
   11209              :                                                                 {
   11210              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1793;
   11211              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1793;
   11212              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1793;
   11213              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1793;
   11214              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1793;
   11215              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1793;
   11216              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1793;
   11217              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1793;
   11218              :                                                                   {
   11219              :                                                                     tree res_op0;
   11220              :                                                                     {
   11221              :                                                                       tree _o1[1], _r1;
   11222              :                                                                       {
   11223              :                                                                         tree _o2[2], _r2;
   11224              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11225              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11226              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11227              :                                                                         _o1[0] = _r2;
   11228              :                                                                       }
   11229              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11230              :                                                                         {
   11231              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11232              :                                                                         }
   11233              :                                                                       else
   11234              :                                                                         _r1 = _o1[0];
   11235              :                                                                       res_op0 = _r1;
   11236              :                                                                     }
   11237              :                                                                     tree res_op1;
   11238              :                                                                     res_op1 =  rhs_tree;
   11239              :                                                                     tree _r;
   11240              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11241              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
   11242            0 :                                                                     return _r;
   11243              :                                                                   }
   11244              : next_after_fail1793:;
   11245              :                                                                 }
   11246              :                                                               else
   11247              :                                                                 {
   11248            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1794;
   11249            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1794;
   11250            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1794;
   11251            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1794;
   11252            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1794;
   11253            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1794;
   11254            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1794;
   11255            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1794;
   11256            0 :                                                                   {
   11257            0 :                                                                     tree res_op0;
   11258            0 :                                                                     {
   11259            0 :                                                                       tree _o1[1], _r1;
   11260            0 :                                                                       {
   11261            0 :                                                                         tree _o2[2], _r2;
   11262            0 :                                                                         {
   11263            0 :                                                                           tree _o3[2], _r3;
   11264            0 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11265            0 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11266            0 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11267            0 :                                                                           _o2[0] = _r3;
   11268              :                                                                         }
   11269            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11270            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11271            0 :                                                                         _o1[0] = _r2;
   11272              :                                                                       }
   11273            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11274              :                                                                         {
   11275            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11276              :                                                                         }
   11277              :                                                                       else
   11278              :                                                                         _r1 = _o1[0];
   11279            0 :                                                                       res_op0 = _r1;
   11280              :                                                                     }
   11281            0 :                                                                     tree res_op1;
   11282            0 :                                                                     res_op1 =  rhs_tree;
   11283            0 :                                                                     tree _r;
   11284            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11285            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
   11286            0 :                                                                     return _r;
   11287              :                                                                   }
   11288            0 : next_after_fail1794:;
   11289              :                                                                 }
   11290              :                                                           }
   11291              :                                                         }
   11292              :                                                   }
   11293              :                                                 }
   11294              :                                             }
   11295              :                                           }
   11296              :                                       }
   11297              :                                   }
   11298              :                                 break;
   11299              :                               }
   11300              :                             default:;
   11301              :                             }
   11302              :                           break;
   11303              :                         }
   11304            0 :                       case GE_EXPR:
   11305            0 :                         {
   11306            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11307            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11308            0 :                           if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   11309              :                             {
   11310            0 :                               switch (TREE_CODE (_q71))
   11311              :                                 {
   11312            0 :                                 case POINTER_PLUS_EXPR:
   11313            0 :                                   {
   11314            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   11315            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   11316            0 :                                     if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
   11317              :                                       {
   11318            0 :                                         if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
   11319              :                                           {
   11320            0 :                                             {
   11321            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
   11322            0 :                                               const enum tree_code cmp = LE_EXPR;
   11323            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11324            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11325            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11326              : )
   11327              :                                                 {
   11328            0 :                                                   {
   11329            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11330            0 :  offset_int rhs = off * 2;
   11331            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11332              : )
   11333              :                                                         {
   11334            0 :                                                           {
   11335            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11336            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11337            0 :                                                               if (cmp == LT_EXPR
   11338              : )
   11339              :                                                                 {
   11340              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1795;
   11341              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1795;
   11342              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1795;
   11343              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1795;
   11344              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1795;
   11345              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1795;
   11346              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1795;
   11347              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1795;
   11348              :                                                                   {
   11349              :                                                                     tree res_op0;
   11350              :                                                                     {
   11351              :                                                                       tree _o1[1], _r1;
   11352              :                                                                       {
   11353              :                                                                         tree _o2[2], _r2;
   11354              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11355              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11356              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11357              :                                                                         _o1[0] = _r2;
   11358              :                                                                       }
   11359              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11360              :                                                                         {
   11361              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11362              :                                                                         }
   11363              :                                                                       else
   11364              :                                                                         _r1 = _o1[0];
   11365              :                                                                       res_op0 = _r1;
   11366              :                                                                     }
   11367              :                                                                     tree res_op1;
   11368              :                                                                     res_op1 =  rhs_tree;
   11369              :                                                                     tree _r;
   11370              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11371              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
   11372            0 :                                                                     return _r;
   11373              :                                                                   }
   11374              : next_after_fail1795:;
   11375              :                                                                 }
   11376              :                                                               else
   11377              :                                                                 {
   11378            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1796;
   11379            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1796;
   11380            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1796;
   11381            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1796;
   11382            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1796;
   11383            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1796;
   11384            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1796;
   11385            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1796;
   11386            0 :                                                                   {
   11387            0 :                                                                     tree res_op0;
   11388            0 :                                                                     {
   11389            0 :                                                                       tree _o1[1], _r1;
   11390            0 :                                                                       {
   11391            0 :                                                                         tree _o2[2], _r2;
   11392            0 :                                                                         {
   11393            0 :                                                                           tree _o3[2], _r3;
   11394            0 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11395            0 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11396            0 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11397            0 :                                                                           _o2[0] = _r3;
   11398              :                                                                         }
   11399            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11400            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11401            0 :                                                                         _o1[0] = _r2;
   11402              :                                                                       }
   11403            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11404              :                                                                         {
   11405            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11406              :                                                                         }
   11407              :                                                                       else
   11408              :                                                                         _r1 = _o1[0];
   11409            0 :                                                                       res_op0 = _r1;
   11410              :                                                                     }
   11411            0 :                                                                     tree res_op1;
   11412            0 :                                                                     res_op1 =  rhs_tree;
   11413            0 :                                                                     tree _r;
   11414            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11415            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
   11416            0 :                                                                     return _r;
   11417              :                                                                   }
   11418            0 : next_after_fail1796:;
   11419              :                                                                 }
   11420              :                                                           }
   11421              :                                                         }
   11422              :                                                   }
   11423              :                                                 }
   11424              :                                             }
   11425              :                                           }
   11426              :                                       }
   11427              :                                     break;
   11428              :                                   }
   11429              :                                 default:;
   11430              :                                 }
   11431              :                             }
   11432              :                           break;
   11433              :                         }
   11434              :                       default:;
   11435              :                       }
   11436              :                     break;
   11437              :                   }
   11438              :                 default:;
   11439              :                 }
   11440              :               break;
   11441              :             }
   11442              :           default:;
   11443              :           }
   11444              :         break;
   11445              :       }
   11446        64657 :     case GT_EXPR:
   11447        64657 :       {
   11448        64657 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11449        64657 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11450        64657 :         switch (TREE_CODE (_q21))
   11451              :           {
   11452            0 :           case POINTER_PLUS_EXPR:
   11453            0 :             {
   11454            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   11455            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   11456            0 :               switch (TREE_CODE (_q41))
   11457              :                 {
   11458            0 :                 case INTEGER_CST:
   11459            0 :                   {
   11460            0 :                     switch (TREE_CODE (_p1))
   11461              :                       {
   11462            0 :                       case LT_EXPR:
   11463            0 :                         {
   11464            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11465            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11466            0 :                           switch (TREE_CODE (_q70))
   11467              :                             {
   11468            0 :                             case POINTER_PLUS_EXPR:
   11469            0 :                               {
   11470            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   11471            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   11472            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11473              :                                   {
   11474            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
   11475              :                                       {
   11476            0 :                                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   11477              :                                           {
   11478            0 :                                             {
   11479            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
   11480            0 :                                               const enum tree_code cmp = LT_EXPR;
   11481            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11482            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11483            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11484              : )
   11485              :                                                 {
   11486            0 :                                                   {
   11487            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11488            0 :  offset_int rhs = off * 2;
   11489            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11490              : )
   11491              :                                                         {
   11492            0 :                                                           {
   11493            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11494            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11495            0 :                                                               if (cmp == LT_EXPR
   11496              : )
   11497              :                                                                 {
   11498            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1797;
   11499            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1797;
   11500            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1797;
   11501            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1797;
   11502            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1797;
   11503            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1797;
   11504            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1797;
   11505            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1797;
   11506            0 :                                                                   {
   11507            0 :                                                                     tree res_op0;
   11508            0 :                                                                     {
   11509            0 :                                                                       tree _o1[1], _r1;
   11510            0 :                                                                       {
   11511            0 :                                                                         tree _o2[2], _r2;
   11512            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11513            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11514            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11515            0 :                                                                         _o1[0] = _r2;
   11516              :                                                                       }
   11517            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11518              :                                                                         {
   11519            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11520              :                                                                         }
   11521              :                                                                       else
   11522              :                                                                         _r1 = _o1[0];
   11523            0 :                                                                       res_op0 = _r1;
   11524              :                                                                     }
   11525            0 :                                                                     tree res_op1;
   11526            0 :                                                                     res_op1 =  rhs_tree;
   11527            0 :                                                                     tree _r;
   11528            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11529            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
   11530            0 :                                                                     return _r;
   11531              :                                                                   }
   11532            0 : next_after_fail1797:;
   11533              :                                                                 }
   11534              :                                                               else
   11535              :                                                                 {
   11536              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1798;
   11537              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1798;
   11538              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1798;
   11539              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1798;
   11540              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1798;
   11541              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1798;
   11542              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1798;
   11543              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1798;
   11544              :                                                                   {
   11545              :                                                                     tree res_op0;
   11546              :                                                                     {
   11547              :                                                                       tree _o1[1], _r1;
   11548              :                                                                       {
   11549              :                                                                         tree _o2[2], _r2;
   11550              :                                                                         {
   11551              :                                                                           tree _o3[2], _r3;
   11552              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11553              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11554              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11555              :                                                                           _o2[0] = _r3;
   11556              :                                                                         }
   11557              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11558              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11559              :                                                                         _o1[0] = _r2;
   11560              :                                                                       }
   11561              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11562              :                                                                         {
   11563              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11564              :                                                                         }
   11565              :                                                                       else
   11566              :                                                                         _r1 = _o1[0];
   11567              :                                                                       res_op0 = _r1;
   11568              :                                                                     }
   11569              :                                                                     tree res_op1;
   11570              :                                                                     res_op1 =  rhs_tree;
   11571              :                                                                     tree _r;
   11572              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11573              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
   11574              :                                                                     return _r;
   11575              :                                                                   }
   11576              : next_after_fail1798:;
   11577              :                                                                 }
   11578              :                                                           }
   11579              :                                                         }
   11580              :                                                   }
   11581              :                                                 }
   11582              :                                             }
   11583              :                                           }
   11584              :                                       }
   11585              :                                   }
   11586              :                                 break;
   11587              :                               }
   11588              :                             default:;
   11589              :                             }
   11590              :                           break;
   11591              :                         }
   11592            0 :                       case GT_EXPR:
   11593            0 :                         {
   11594            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11595            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11596            0 :                           if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   11597              :                             {
   11598            0 :                               switch (TREE_CODE (_q71))
   11599              :                                 {
   11600            0 :                                 case POINTER_PLUS_EXPR:
   11601            0 :                                   {
   11602            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   11603            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   11604            0 :                                     if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
   11605              :                                       {
   11606            0 :                                         if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
   11607              :                                           {
   11608            0 :                                             {
   11609            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
   11610            0 :                                               const enum tree_code cmp = LT_EXPR;
   11611            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11612            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11613            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11614              : )
   11615              :                                                 {
   11616            0 :                                                   {
   11617            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11618            0 :  offset_int rhs = off * 2;
   11619            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11620              : )
   11621              :                                                         {
   11622            0 :                                                           {
   11623            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11624            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11625            0 :                                                               if (cmp == LT_EXPR
   11626              : )
   11627              :                                                                 {
   11628            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1799;
   11629            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1799;
   11630            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1799;
   11631            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1799;
   11632            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1799;
   11633            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1799;
   11634            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1799;
   11635            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1799;
   11636            0 :                                                                   {
   11637            0 :                                                                     tree res_op0;
   11638            0 :                                                                     {
   11639            0 :                                                                       tree _o1[1], _r1;
   11640            0 :                                                                       {
   11641            0 :                                                                         tree _o2[2], _r2;
   11642            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11643            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11644            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11645            0 :                                                                         _o1[0] = _r2;
   11646              :                                                                       }
   11647            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11648              :                                                                         {
   11649            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11650              :                                                                         }
   11651              :                                                                       else
   11652              :                                                                         _r1 = _o1[0];
   11653            0 :                                                                       res_op0 = _r1;
   11654              :                                                                     }
   11655            0 :                                                                     tree res_op1;
   11656            0 :                                                                     res_op1 =  rhs_tree;
   11657            0 :                                                                     tree _r;
   11658            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11659            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
   11660            0 :                                                                     return _r;
   11661              :                                                                   }
   11662            0 : next_after_fail1799:;
   11663              :                                                                 }
   11664              :                                                               else
   11665              :                                                                 {
   11666              :                                                                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1800;
   11667              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1800;
   11668              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1800;
   11669              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1800;
   11670              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1800;
   11671              :                                                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1800;
   11672              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1800;
   11673              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1800;
   11674              :                                                                   {
   11675              :                                                                     tree res_op0;
   11676              :                                                                     {
   11677              :                                                                       tree _o1[1], _r1;
   11678              :                                                                       {
   11679              :                                                                         tree _o2[2], _r2;
   11680              :                                                                         {
   11681              :                                                                           tree _o3[2], _r3;
   11682              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11683              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11684              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11685              :                                                                           _o2[0] = _r3;
   11686              :                                                                         }
   11687              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11688              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11689              :                                                                         _o1[0] = _r2;
   11690              :                                                                       }
   11691              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11692              :                                                                         {
   11693              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11694              :                                                                         }
   11695              :                                                                       else
   11696              :                                                                         _r1 = _o1[0];
   11697              :                                                                       res_op0 = _r1;
   11698              :                                                                     }
   11699              :                                                                     tree res_op1;
   11700              :                                                                     res_op1 =  rhs_tree;
   11701              :                                                                     tree _r;
   11702              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11703              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
   11704              :                                                                     return _r;
   11705              :                                                                   }
   11706              : next_after_fail1800:;
   11707              :                                                                 }
   11708              :                                                           }
   11709              :                                                         }
   11710              :                                                   }
   11711              :                                                 }
   11712              :                                             }
   11713              :                                           }
   11714              :                                       }
   11715              :                                     break;
   11716              :                                   }
   11717              :                                 default:;
   11718              :                                 }
   11719              :                             }
   11720              :                           break;
   11721              :                         }
   11722              :                       default:;
   11723              :                       }
   11724              :                     break;
   11725              :                   }
   11726              :                 default:;
   11727              :                 }
   11728              :               break;
   11729              :             }
   11730              :           default:;
   11731              :           }
   11732              :         break;
   11733              :       }
   11734              :     default:;
   11735              :     }
   11736              :   return NULL_TREE;
   11737              : }
   11738              : #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.