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: 54.7 % 7330 4013
Test Date: 2026-08-22 16:33:35 Functions: 67.1 % 79 53
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    110030883 : tree_zero_one_valued_p (tree t)
      11              : {
      12    110030883 :   const tree type = TREE_TYPE (t);
      13    110030883 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    110030883 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    103794459 :   {
      16    103794459 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
      17    207588918 :     if (INTEGRAL_TYPE_P (type)
      18     71642994 :  && (TYPE_UNSIGNED (type)
      19     13553966 :  || TYPE_PRECISION (type) > 1)
      20    247078794 :  && wi::leu_p (tree_nonzero_bits (captures[0]), 1)
      21              : )
      22              :       {
      23      1244663 :         {
      24      1244663 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 28, __FILE__, __LINE__, false);
      25    110030883 :           return true;
      26              :         }
      27              :       }
      28              :   }
      29    102549796 :   switch (TREE_CODE (t))
      30              :     {
      31       300180 :     case BIT_AND_EXPR:
      32       300180 :       {
      33       300180 :         tree _p0 = TREE_OPERAND (t, 0);
      34       300180 :         tree _p1 = TREE_OPERAND (t, 1);
      35       300180 :         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              :                     return true;
      45              :                   }
      46              :                 }
      47              :             }
      48              :           }
      49       300180 :         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              :                     return true;
      59              :                   }
      60              :                 }
      61              :             }
      62              :           }
      63              :         break;
      64              :       }
      65     45110248 :     CASE_CONVERT:
      66     45110248 :       {
      67     45110248 :         tree _p0 = TREE_OPERAND (t, 0);
      68     45110248 :         {
      69     45110248 :           tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      70     90213403 :           if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
      71     40466695 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
      72     35724613 :  || TYPE_PRECISION (TREE_TYPE (captures[1])) > 1)
      73     40466687 :  && INTEGRAL_TYPE_P (type)
      74     40466673 :  && (TYPE_UNSIGNED (type)
      75      1923456 :  || TYPE_PRECISION (type) > 1)
      76    130687169 :  && 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              :                 return true;
      82              :               }
      83              :             }
      84              :         }
      85              :         break;
      86              :       }
      87    102549796 :     default:;
      88              :     }
      89    102549796 : if (tree_truth_valued_p (t))
      90              :   {
      91       174380 :     {
      92       174380 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      93       174380 :       if (INTEGRAL_TYPE_P (type)
      94       174380 :  && (TYPE_UNSIGNED (type)
      95       174019 :  || TYPE_PRECISION (type) > 1)
      96              : )
      97              :         {
      98       172727 :           {
      99       172727 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 31, __FILE__, __LINE__, false);
     100              :             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           90 : generic_simplify_10 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     131              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     132              : {
     133           90 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     134           90 :   {
     135           90 :  bool wascmp;
     136           90 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
     137           90 :  && (!wascmp || element_precision (type) == 1)
     138              : )
     139              :         {
     140            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail84;
     141            0 :           {
     142            0 :             tree _r;
     143            0 :             _r = captures[0];
     144            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
     145            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     146            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
     147            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     148            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 59, __FILE__, __LINE__, true);
     149            0 :             return _r;
     150              :           }
     151            0 : next_after_fail84:;
     152              :         }
     153              :   }
     154           90 :   return NULL_TREE;
     155              : }
     156              : 
     157              : tree
     158            1 : generic_simplify_16 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     159              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     160              : {
     161            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     162            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail90;
     163            1 :   {
     164            1 :     tree res_op0;
     165            1 :     res_op0 = captures[1];
     166            1 :     tree res_op1;
     167            1 :     {
     168            1 :       tree _o1[1], _r1;
     169            1 :       _o1[0] = captures[2];
     170            1 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     171            1 :       res_op1 = _r1;
     172              :     }
     173            1 :     tree _r;
     174            1 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     175            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 65, __FILE__, __LINE__, true);
     176              :     return _r;
     177              :   }
     178            0 : next_after_fail90:;
     179            0 :   return NULL_TREE;
     180              : }
     181              : 
     182              : tree
     183          151 : generic_simplify_26 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     184              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     185              :  const enum tree_code ARG_UNUSED (opo),
     186              :  const enum tree_code ARG_UNUSED (opi))
     187              : {
     188          151 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     189          151 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail100;
     190          151 :   {
     191          151 :     tree res_op0;
     192          151 :     {
     193          151 :       tree _o1[1], _r1;
     194          151 :       _o1[0] = captures[1];
     195          151 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     196          151 :       res_op0 = _r1;
     197              :     }
     198          151 :     tree res_op1;
     199          151 :     res_op1 = captures[2];
     200          151 :     tree _r;
     201          151 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     202          151 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 75, __FILE__, __LINE__, true);
     203              :     return _r;
     204              :   }
     205            0 : next_after_fail100:;
     206            0 :   return NULL_TREE;
     207              : }
     208              : 
     209              : tree
     210            0 : generic_simplify_33 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     211              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     212              :  const enum tree_code ARG_UNUSED (op),
     213              :  const enum tree_code ARG_UNUSED (cmp),
     214              :  const enum tree_code ARG_UNUSED (icmp))
     215              : {
     216            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     217            0 :   if (INTEGRAL_TYPE_P (type)
     218            0 :  && invert_tree_comparison (cmp, HONOR_NANS (captures[1])) == icmp
     219            0 :  && canonicalize_math_after_vectorization_p ()
     220              : )
     221              :     {
     222              :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail109;
     223              :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail109;
     224              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail109;
     225              :       {
     226              :         tree res_op0;
     227              :         res_op0 = captures[0];
     228              :         tree res_op1;
     229              :         res_op1 = captures[3];
     230              :         tree res_op2;
     231              :         res_op2 = captures[5];
     232              :         tree _r;
     233              :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     234              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 83, __FILE__, __LINE__, true);
     235              :         return _r;
     236              :       }
     237            0 : next_after_fail109:;
     238              :     }
     239            0 :   return NULL_TREE;
     240              : }
     241              : 
     242              : tree
     243           19 : generic_simplify_40 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     244              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     245              :  const enum tree_code ARG_UNUSED (op))
     246              : {
     247           19 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     248           38 :   if (INTEGRAL_TYPE_P (type)
     249           19 :  && operand_equal_p (captures[2], captures[6], 0)
     250           38 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[4])) == 0
     251              : )
     252              :     {
     253            0 :       {
     254            0 :  tree t = type;
     255            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     256            0 :  t = unsigned_type_for (t);
     257            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), wi::to_wide (captures[7]));
     258            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail117;
     259            0 :           if (TREE_SIDE_EFFECTS (captures[7])) goto next_after_fail117;
     260            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail117;
     261            0 :           {
     262            0 :             tree res_op0;
     263            0 :             {
     264            0 :               tree _o1[2], _r1;
     265            0 :               {
     266            0 :                 tree _o2[1], _r2;
     267            0 :                 _o2[0] = captures[2];
     268            0 :                 if (TREE_TYPE (_o2[0]) != t)
     269              :                   {
     270            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     271              :                   }
     272              :                 else
     273              :                   _r2 = _o2[0];
     274            0 :                 _o1[0] = _r2;
     275              :               }
     276            0 :               _o1[1] =  wide_int_to_tree (t, c);
     277            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     278            0 :               res_op0 = _r1;
     279              :             }
     280            0 :             tree _r;
     281            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     282            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
     283            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
     284            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 85, __FILE__, __LINE__, true);
     285            0 :             return _r;
     286              :           }
     287            0 : next_after_fail117:;
     288            0 :       }
     289              :     }
     290              :   return NULL_TREE;
     291              : }
     292              : 
     293              : tree
     294            0 : generic_simplify_52 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     295              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     296              : {
     297            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     298            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     299            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
     300            0 :  && !TYPE_SATURATING (TREE_TYPE (captures[0]))
     301            0 :  && (
     302              : 
     303            0 :  || !TREE_SIDE_EFFECTS (captures[0]))
     304              : )
     305              :     {
     306            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail131;
     307            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail131;
     308            0 :       {
     309            0 :         tree res_op0;
     310            0 :         res_op0 = captures[0];
     311            0 :         tree _r;
     312            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     313            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 100, __FILE__, __LINE__, true);
     314              :         return _r;
     315              :       }
     316            0 : next_after_fail131:;
     317              :     }
     318              :   return NULL_TREE;
     319              : }
     320              : 
     321              : tree
     322            0 : generic_simplify_59 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     323              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     324              : {
     325            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     326            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail139;
     327            0 :   {
     328            0 :     tree res_op0;
     329            0 :     res_op0 = captures[0];
     330            0 :     tree res_op1;
     331            0 :     res_op1 = captures[1];
     332            0 :     tree _r;
     333            0 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     334            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 108, __FILE__, __LINE__, true);
     335              :     return _r;
     336              :   }
     337            0 : next_after_fail139:;
     338            0 :   return NULL_TREE;
     339              : }
     340              : 
     341              : tree
     342            2 : generic_simplify_63 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     343              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     344              : {
     345            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     346            2 :   if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
     347            2 :  && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
     348            2 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[0]))
     349            4 :  && !TYPE_SATURATING (TREE_TYPE (captures[0]))
     350              : )
     351              :     {
     352            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail143;
     353            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail143;
     354            2 :       {
     355            2 :         tree res_op0;
     356            2 :         {
     357            2 :           tree _o1[1], _r1;
     358            2 :           {
     359            2 :             tree _o2[2], _r2;
     360            2 :             _o2[0] = captures[1];
     361            2 :             _o2[1] = captures[2];
     362            2 :             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     363            2 :             _o1[0] = _r2;
     364              :           }
     365            2 :           if (TREE_TYPE (_o1[0]) != type)
     366              :             {
     367            1 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     368              :             }
     369              :           else
     370              :             _r1 = _o1[0];
     371            2 :           res_op0 = _r1;
     372              :         }
     373            2 :         tree _r;
     374            2 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     375            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 111, __FILE__, __LINE__, true);
     376              :         return _r;
     377              :       }
     378            2 : next_after_fail143:;
     379              :     }
     380              :   return NULL_TREE;
     381              : }
     382              : 
     383              : tree
     384      2339903 : generic_simplify_74 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     385              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     386              :  const enum tree_code ARG_UNUSED (plusminus))
     387              : {
     388      2339903 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     389      2339903 :   if (!TYPE_SATURATING (type)
     390      2339903 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     391              : )
     392              :     {
     393          113 :       if (!ANY_INTEGRAL_TYPE_P (type)
     394      2339676 :  || TYPE_OVERFLOW_WRAPS (type)
     395      4068461 :  || (INTEGRAL_TYPE_P (type)
     396      1728672 :  && tree_expr_nonzero_p (captures[1])
     397      3273089 :  && expr_not_equal_to (captures[1], wi::minus_one (TYPE_PRECISION (type)),
     398              :  gimple_match_ctx (captures[0])))
     399              : )
     400              :         {
     401      1544113 :           if (single_use (captures[0]) || single_use (captures[3])
     402              : )
     403              :             {
     404      1544113 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail162;
     405      1544113 :               {
     406      1544113 :                 tree res_op0;
     407      1544113 :                 {
     408      1544113 :                   tree _o1[2], _r1;
     409      1544113 :                   _o1[0] = captures[2];
     410      1544113 :                   _o1[1] = captures[4];
     411      1544113 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     412      1544113 :                   res_op0 = _r1;
     413              :                 }
     414      1544113 :                 tree res_op1;
     415      1544113 :                 res_op1 = captures[1];
     416      1544113 :                 tree _r;
     417      1544113 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     418      1544113 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 130, __FILE__, __LINE__, true);
     419              :                 return _r;
     420              :               }
     421            0 : next_after_fail162:;
     422              :             }
     423              :           else
     424              :             {
     425              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail163;
     426              :               {
     427              :                 tree res_op0;
     428              :                 {
     429              :                   tree _o1[2], _r1;
     430              :                   _o1[0] = captures[2];
     431              :                   _o1[1] = captures[4];
     432              :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     433              :                   res_op0 = _r1;
     434              :                 }
     435              :                 tree res_op1;
     436              :                 res_op1 = captures[1];
     437              :                 tree _r;
     438              :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     439              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 131, __FILE__, __LINE__, true);
     440              :                 return _r;
     441              :               }
     442              : next_after_fail163:;
     443              :             }
     444              :         }
     445              :     }
     446              :   return NULL_TREE;
     447              : }
     448              : 
     449              : tree
     450            4 : generic_simplify_86 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     451              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     452              :  const combined_fn ARG_UNUSED (POPCOUNT))
     453              : {
     454            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     455            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail176;
     456            4 :   {
     457            4 :     tree res_op0;
     458            4 :     {
     459            4 :       tree _o1[1], _r1;
     460            4 :       _o1[0] = captures[2];
     461            4 :       _r1 = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, _o1[0]);
     462            4 :       if (!_r1)
     463            0 :         goto next_after_fail176;
     464            4 :       res_op0 = _r1;
     465              :     }
     466            4 :     tree res_op1;
     467            4 :     {
     468            4 :       tree _o1[1], _r1;
     469            4 :       _o1[0] = captures[3];
     470            4 :       _r1 = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, _o1[0]);
     471            4 :       if (!_r1)
     472            0 :         goto next_after_fail176;
     473            4 :       res_op1 = _r1;
     474              :     }
     475            4 :     tree _r;
     476            4 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     477            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 144, __FILE__, __LINE__, true);
     478              :     return _r;
     479              :   }
     480            4 : next_after_fail176:;
     481              :   return NULL_TREE;
     482              : }
     483              : 
     484              : tree
     485            0 : generic_simplify_94 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     486              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     487              : {
     488            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     489            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail184;
     490            0 :   {
     491            0 :     tree res_op0;
     492            0 :     res_op0 = unshare_expr (captures[2]);
     493            0 :     tree res_op1;
     494            0 :     {
     495            0 :       tree _o1[2], _r1;
     496            0 :       _o1[0] = captures[1];
     497            0 :       _o1[1] = captures[2];
     498            0 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     499            0 :       res_op1 = _r1;
     500              :     }
     501            0 :     tree _r;
     502            0 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     503            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 152, __FILE__, __LINE__, true);
     504              :     return _r;
     505              :   }
     506            0 : next_after_fail184:;
     507            0 :   return NULL_TREE;
     508              : }
     509              : 
     510              : tree
     511            1 : generic_simplify_101 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     512              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     513              : {
     514            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     515            1 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     516            1 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     517              : )
     518              :     {
     519            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail191;
     520            1 :       {
     521            1 :         tree res_op0;
     522            1 :         {
     523            1 :           tree _o1[2], _r1;
     524            1 :           {
     525            1 :             tree _o2[1], _r2;
     526            1 :             _o2[0] = captures[3];
     527            1 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     528            1 :             _o1[0] = _r2;
     529              :           }
     530            1 :           _o1[1] = captures[0];
     531            1 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     532            1 :           res_op0 = _r1;
     533              :         }
     534            1 :         tree _r;
     535            1 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     536            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 159, __FILE__, __LINE__, true);
     537              :         return _r;
     538              :       }
     539            0 : next_after_fail191:;
     540              :     }
     541              :   return NULL_TREE;
     542              : }
     543              : 
     544              : tree
     545          664 : generic_simplify_109 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     546              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     547              : {
     548          664 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     549          664 :   if (!TYPE_SATURATING (type)
     550              : )
     551              :     {
     552          664 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     553         1328 :  && !FIXED_POINT_TYPE_P (type)
     554              : )
     555              :         {
     556          664 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     557              : )
     558              :             {
     559           24 :               if (!CONSTANT_CLASS_P (captures[2])
     560              : )
     561              :                 {
     562           24 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail201;
     563           24 :                   {
     564           24 :                     tree res_op0;
     565           24 :                     {
     566           24 :                       tree _o1[1], _r1;
     567           24 :                       _o1[0] = captures[2];
     568           24 :                       if (TREE_TYPE (_o1[0]) != type)
     569              :                         {
     570           24 :                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     571              :                         }
     572              :                       else
     573              :                         _r1 = _o1[0];
     574           24 :                       res_op0 = _r1;
     575              :                     }
     576           24 :                     tree res_op1;
     577           24 :                     {
     578           24 :                       tree _o1[2], _r1;
     579           24 :                       _o1[0] = captures[0];
     580           24 :                       {
     581           24 :                         tree _o2[1], _r2;
     582           24 :                         _o2[0] = captures[1];
     583           24 :                         if (TREE_TYPE (_o2[0]) != type)
     584              :                           {
     585           24 :                             _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     586              :                           }
     587              :                         else
     588              :                           _r2 = _o2[0];
     589           24 :                         _o1[1] = _r2;
     590              :                       }
     591           24 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     592           24 :                       if (EXPR_P (_r1))
     593            0 :                         goto next_after_fail201;
     594           24 :                       res_op1 = _r1;
     595              :                     }
     596           24 :                     tree _r;
     597           24 :                     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     598           24 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 168, __FILE__, __LINE__, true);
     599              :                     return _r;
     600              :                   }
     601          664 : next_after_fail201:;
     602              :                 }
     603              :             }
     604              :           else
     605              :             {
     606         1280 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     607         1280 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
     608              : )
     609              :                 {
     610            1 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail202;
     611            1 :                   {
     612            1 :                     tree res_op0;
     613            1 :                     {
     614            1 :                       tree _o1[2], _r1;
     615            1 :                       _o1[0] = captures[2];
     616            1 :                       {
     617            1 :                         tree _o2[2], _r2;
     618            1 :                         {
     619            1 :                           tree _o3[1], _r3;
     620            1 :                           _o3[0] = captures[0];
     621            1 :                           if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o1[0]))
     622              :                             {
     623            1 :                               _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
     624              :                             }
     625              :                           else
     626              :                             _r3 = _o3[0];
     627            1 :                           _o2[0] = _r3;
     628              :                         }
     629            1 :                         _o2[1] = captures[1];
     630            1 :                         _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     631            1 :                         if (EXPR_P (_r2))
     632            0 :                           goto next_after_fail202;
     633            1 :                         _o1[1] = _r2;
     634              :                       }
     635            1 :                       _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     636            1 :                       res_op0 = _r1;
     637              :                     }
     638            1 :                     tree _r;
     639            1 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     640            1 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 169, __FILE__, __LINE__, true);
     641              :                     return _r;
     642              :                   }
     643          664 : next_after_fail202:;
     644              :                 }
     645              :               else
     646              :                 {
     647          639 :                   if (types_match (type, captures[2]) && !TYPE_OVERFLOW_SANITIZED (type)
     648              : )
     649              :                     {
     650          630 :                       {
     651          630 :  tree cst = const_binop (MINUS_EXPR, type, captures[0], captures[1]);
     652          630 :                           if (cst && !TREE_OVERFLOW (cst)
     653              : )
     654              :                             {
     655          630 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail203;
     656          630 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail203;
     657          630 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail203;
     658          630 :                               {
     659          630 :                                 tree res_op0;
     660          630 :                                 res_op0 =  cst;
     661          630 :                                 tree res_op1;
     662          630 :                                 res_op1 = captures[2];
     663          630 :                                 tree _r;
     664          630 :                                 _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     665          630 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 170, __FILE__, __LINE__, true);
     666              :                                 return _r;
     667              :                               }
     668          664 : next_after_fail203:;
     669              :                             }
     670              :                       }
     671              :                     }
     672              :                 }
     673              :             }
     674              :         }
     675              :     }
     676              :   return NULL_TREE;
     677              : }
     678              : 
     679              : tree
     680        20455 : generic_simplify_131 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     681              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     682              : {
     683        20455 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     684        20455 :   {
     685        20455 :  bool wascmp;
     686        20455 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
     687        20455 :  && (!wascmp || element_precision (type) == 1)
     688              : )
     689              :         {
     690            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail231;
     691            1 :           {
     692            1 :             tree res_op0;
     693            1 :             res_op0 = captures[0];
     694            1 :             tree res_op1;
     695            1 :             {
     696            1 :               tree _o1[1], _r1;
     697            1 :               _o1[0] = captures[3];
     698            1 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     699            1 :               res_op1 = _r1;
     700              :             }
     701            1 :             tree _r;
     702            1 :             _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     703            1 :             if (TREE_SIDE_EFFECTS (captures[2]))
     704            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     705            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 195, __FILE__, __LINE__, true);
     706            1 :             return _r;
     707              :           }
     708            0 : next_after_fail231:;
     709              :         }
     710              :   }
     711        20454 :   return NULL_TREE;
     712              : }
     713              : 
     714              : tree
     715           93 : generic_simplify_144 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     716              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     717              :  const enum tree_code ARG_UNUSED (op),
     718              :  const enum tree_code ARG_UNUSED (rop))
     719              : {
     720           93 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     721           93 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
     722           93 :  && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
     723              : )
     724              :     {
     725           61 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail244;
     726           61 :       {
     727           61 :         tree res_op0;
     728           61 :         {
     729           61 :           tree _o1[2], _r1;
     730           61 :           {
     731           61 :             tree _o2[1], _r2;
     732           61 :             _o2[0] = captures[0];
     733           61 :             if (TREE_TYPE (_o2[0]) != type)
     734              :               {
     735            1 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
     736              :               }
     737              :             else
     738              :               _r2 = _o2[0];
     739           61 :             _o1[0] = _r2;
     740              :           }
     741           61 :           {
     742           61 :             tree _o2[1], _r2;
     743           61 :             _o2[0] = captures[1];
     744           61 :             if (TREE_TYPE (_o2[0]) != type)
     745              :               {
     746            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
     747              :               }
     748              :             else
     749              :               _r2 = _o2[0];
     750           61 :             _o1[1] = _r2;
     751              :           }
     752           61 :           _r1 = fold_build2_loc (loc, rop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     753           61 :           res_op0 = _r1;
     754              :         }
     755           61 :         tree _r;
     756           61 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     757           61 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 204, __FILE__, __LINE__, true);
     758              :         return _r;
     759              :       }
     760            0 : next_after_fail244:;
     761              :     }
     762              :   return NULL_TREE;
     763              : }
     764              : 
     765              : tree
     766           82 : generic_simplify_158 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     767              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     768              :  const enum tree_code ARG_UNUSED (op))
     769              : {
     770           82 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     771           82 :   if (bitwise_equal_p (captures[4], captures[7])
     772              : )
     773              :     {
     774           16 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail263;
     775           16 :       {
     776           16 :         tree res_op0;
     777           16 :         {
     778           16 :           tree _o1[2], _r1;
     779           16 :           {
     780           16 :             tree _o2[2], _r2;
     781           16 :             _o2[0] = captures[5];
     782           16 :             {
     783           16 :               tree _o3[1], _r3;
     784           16 :               _o3[0] = captures[6];
     785           16 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     786              :                 {
     787           16 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     788              :                 }
     789              :               else
     790              :                 _r3 = _o3[0];
     791           16 :               _o2[1] = _r3;
     792              :             }
     793           16 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     794           16 :             _o1[0] = _r2;
     795              :           }
     796           16 :           {
     797           16 :             tree _o2[1], _r2;
     798           16 :             _o2[0] = captures[4];
     799           16 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     800              :               {
     801            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     802              :               }
     803              :             else
     804              :               _r2 = _o2[0];
     805           16 :             _o1[1] = _r2;
     806              :           }
     807           16 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     808           16 :           res_op0 = _r1;
     809              :         }
     810           16 :         tree _r;
     811           16 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     812           16 :         if (TREE_SIDE_EFFECTS (captures[7]))
     813            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     814           16 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 213, __FILE__, __LINE__, true);
     815              :         return _r;
     816              :       }
     817            0 : next_after_fail263:;
     818              :     }
     819              :   return NULL_TREE;
     820              : }
     821              : 
     822              : tree
     823            3 : generic_simplify_168 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     824              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     825              :  const enum tree_code ARG_UNUSED (code2),
     826              :  const enum tree_code ARG_UNUSED (code1))
     827              : {
     828            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     829            3 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     830            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     831            3 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     832            3 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     833            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     834            3 :  && bitwise_equal_p (captures[2], captures[5]))
     835              : )
     836              :     {
     837            3 :       {
     838            3 :  bool one_before = false;
     839            3 :  bool one_after = false;
     840            3 :  int cmp = 0;
     841            3 :  bool allbits = true;
     842            3 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     843            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     844              :  {
     845            0 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     846            0 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     847            0 :  auto t2 = wi::to_wide (captures[5]);
     848            0 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     849            0 :  if (cmp < 0
     850            0 :  && t1 == t2 - 1)
     851              :  one_before = true;
     852            0 :  if (cmp > 0
     853            0 :  && t1 == t2 + 1)
     854              :  one_after = true;
     855              :  }
     856            3 :  bool val;
     857            3 :  switch (code2)
     858              :  {
     859            0 :  case EQ_EXPR: val = (cmp == 0); break;
     860            0 :  case NE_EXPR: val = (cmp != 0); break;
     861            0 :  case LT_EXPR: val = (cmp < 0); break;
     862            3 :  case GT_EXPR: val = (cmp > 0); break;
     863            0 :  case LE_EXPR: val = (cmp <= 0); break;
     864            0 :  case GE_EXPR: val = (cmp >= 0); break;
     865            0 :  default: gcc_unreachable ();
     866              :  }
     867            3 :           if (code1 == EQ_EXPR && val
     868              : )
     869              :             {
     870            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail276;
     871            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail276;
     872            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail276;
     873            0 :               {
     874            0 :                 tree _r;
     875            0 :                 _r = captures[3];
     876            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 223, __FILE__, __LINE__, true);
     877              :                 return _r;
     878              :               }
     879            3 : next_after_fail276:;
     880              :             }
     881              :           else
     882              :             {
     883            3 :               if (code1 == NE_EXPR && val && allbits
     884              : )
     885              :                 {
     886            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail277;
     887            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail277;
     888            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail277;
     889            0 :                   {
     890            0 :                     tree _r;
     891            0 :                     _r =  constant_boolean_node (true, type);
     892            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
     893            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     894            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 224, __FILE__, __LINE__, true);
     895              :                     return _r;
     896              :                   }
     897            3 : next_after_fail277:;
     898              :                 }
     899              :               else
     900              :                 {
     901            3 :                   if (code1 == NE_EXPR && !val && allbits
     902              : )
     903              :                     {
     904            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail278;
     905            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail278;
     906            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail278;
     907            0 :                       {
     908            0 :                         tree _r;
     909            0 :                         _r = captures[0];
     910            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 225, __FILE__, __LINE__, true);
     911              :                         return _r;
     912              :                       }
     913            3 : next_after_fail278:;
     914              :                     }
     915              :                   else
     916              :                     {
     917            3 :                       if (code1 == EQ_EXPR
     918            3 :  && code2 == GT_EXPR
     919            3 :  && cmp == 0
     920            3 :  && allbits
     921            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     922            3 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     923            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     924              : )
     925              :                         {
     926            3 :                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail279;
     927            3 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail279;
     928            3 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail279;
     929            3 :                           {
     930            3 :                             tree res_op0;
     931            3 :                             res_op0 = captures[4];
     932            3 :                             tree res_op1;
     933            3 :                             res_op1 = captures[5];
     934            3 :                             tree _r;
     935            3 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     936            3 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 226, __FILE__, __LINE__, true);
     937              :                             return _r;
     938              :                           }
     939            3 : next_after_fail279:;
     940              :                         }
     941              :                       else
     942              :                         {
     943            0 :                           if (code1 == EQ_EXPR
     944            0 :  && code2 == LT_EXPR
     945            0 :  && cmp == 0
     946            0 :  && allbits
     947            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     948            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     949            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     950              : )
     951              :                             {
     952            0 :                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail280;
     953            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail280;
     954            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail280;
     955            0 :                               {
     956            0 :                                 tree res_op0;
     957            0 :                                 res_op0 = captures[4];
     958            0 :                                 tree res_op1;
     959            0 :                                 res_op1 = captures[5];
     960            0 :                                 tree _r;
     961            0 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     962            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 227, __FILE__, __LINE__, true);
     963              :                                 return _r;
     964              :                               }
     965            3 : next_after_fail280:;
     966              :                             }
     967              :                           else
     968              :                             {
     969            0 :                               if (code1 == EQ_EXPR
     970            0 :  && code2 == GE_EXPR
     971              :  && one_before
     972            0 :  && allbits
     973            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     974            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     975            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     976              : )
     977              :                                 {
     978            0 :                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail281;
     979            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail281;
     980            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail281;
     981            0 :                                   {
     982            0 :                                     tree res_op0;
     983            0 :                                     res_op0 = captures[4];
     984            0 :                                     tree res_op1;
     985            0 :                                     {
     986            0 :                                       tree _o1[1], _r1;
     987            0 :                                       _o1[0] = captures[2];
     988            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     989              :                                         {
     990            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     991              :                                         }
     992              :                                       else
     993              :                                         _r1 = _o1[0];
     994            0 :                                       res_op1 = _r1;
     995              :                                     }
     996            0 :                                     tree _r;
     997            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     998            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 228, __FILE__, __LINE__, true);
     999              :                                     return _r;
    1000              :                                   }
    1001            3 : next_after_fail281:;
    1002              :                                 }
    1003              :                               else
    1004              :                                 {
    1005            0 :                                   if (code1 == EQ_EXPR
    1006            0 :  && code2 == LE_EXPR
    1007              :  && one_after
    1008            0 :  && allbits
    1009            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    1010            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
    1011            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    1012              : )
    1013              :                                     {
    1014            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail282;
    1015            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail282;
    1016            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail282;
    1017            0 :                                       {
    1018            0 :                                         tree res_op0;
    1019            0 :                                         res_op0 = captures[4];
    1020            0 :                                         tree res_op1;
    1021            0 :                                         {
    1022            0 :                                           tree _o1[1], _r1;
    1023            0 :                                           _o1[0] = captures[2];
    1024            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1025              :                                             {
    1026            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1027              :                                             }
    1028              :                                           else
    1029              :                                             _r1 = _o1[0];
    1030            0 :                                           res_op1 = _r1;
    1031              :                                         }
    1032            0 :                                         tree _r;
    1033            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1034            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 229, __FILE__, __LINE__, true);
    1035              :                                         return _r;
    1036              :                                       }
    1037            3 : next_after_fail282:;
    1038              :                                     }
    1039              :                                 }
    1040              :                             }
    1041              :                         }
    1042              :                     }
    1043              :                 }
    1044              :             }
    1045              :       }
    1046              :     }
    1047              :   return NULL_TREE;
    1048              : }
    1049              : 
    1050              : tree
    1051            8 : generic_simplify_212 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1052              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1053              :  const combined_fn ARG_UNUSED (POW))
    1054              : {
    1055            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1056            8 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1057              : )
    1058              :     {
    1059            8 :       if (!TREE_OVERFLOW (captures[2])
    1060              : )
    1061              :         {
    1062            8 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail356;
    1063            8 :           {
    1064            8 :             tree res_op0;
    1065            8 :             res_op0 = captures[0];
    1066            8 :             tree res_op1;
    1067            8 :             {
    1068            8 :               tree _o1[2], _r1;
    1069            8 :               _o1[0] = captures[2];
    1070            8 :               _o1[1] =  build_one_cst (type);
    1071            8 :               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1072            8 :               res_op1 = _r1;
    1073              :             }
    1074            8 :             tree _r;
    1075            8 :             _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
    1076            8 :             if (!_r)
    1077            0 :               goto next_after_fail356;
    1078            8 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 268, __FILE__, __LINE__, true);
    1079              :             return _r;
    1080              :           }
    1081            8 : next_after_fail356:;
    1082              :         }
    1083              :     }
    1084              :   return NULL_TREE;
    1085              : }
    1086              : 
    1087              : tree
    1088        20980 : generic_simplify_219 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1089              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1090              :  const enum tree_code ARG_UNUSED (cmp),
    1091              :  const enum tree_code ARG_UNUSED (mod))
    1092              : {
    1093        20980 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1094        20980 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1095              : )
    1096              :     {
    1097        20980 :       {
    1098        20980 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    1099        20980 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail363;
    1100        20980 :           {
    1101        20980 :             tree res_op0;
    1102        20980 :             {
    1103        20980 :               tree _o1[2], _r1;
    1104        20980 :               {
    1105        20980 :                 tree _o2[1], _r2;
    1106        20980 :                 _o2[0] = captures[0];
    1107        20980 :                 if (TREE_TYPE (_o2[0]) != utype)
    1108              :                   {
    1109        20980 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1110              :                   }
    1111              :                 else
    1112              :                   _r2 = _o2[0];
    1113        20980 :                 _o1[0] = _r2;
    1114              :               }
    1115        20980 :               {
    1116        20980 :                 tree _o2[1], _r2;
    1117        20980 :                 _o2[0] = captures[1];
    1118        20980 :                 if (TREE_TYPE (_o2[0]) != utype)
    1119              :                   {
    1120        20980 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1121              :                   }
    1122              :                 else
    1123              :                   _r2 = _o2[0];
    1124        20980 :                 _o1[1] = _r2;
    1125              :               }
    1126        20980 :               _r1 = fold_build2_loc (loc, mod, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1127        20980 :               res_op0 = _r1;
    1128              :             }
    1129        20980 :             tree res_op1;
    1130        20980 :             {
    1131        20980 :               tree _o1[1], _r1;
    1132        20980 :               _o1[0] = captures[2];
    1133        20980 :               if (TREE_TYPE (_o1[0]) != utype)
    1134              :                 {
    1135        20980 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1136              :                 }
    1137              :               else
    1138              :                 _r1 = _o1[0];
    1139        20980 :               res_op1 = _r1;
    1140              :             }
    1141        20980 :             tree _r;
    1142        20980 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1143        20980 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 275, __FILE__, __LINE__, true);
    1144              :             return _r;
    1145              :           }
    1146            0 : next_after_fail363:;
    1147              :       }
    1148              :     }
    1149              :   return NULL_TREE;
    1150              : }
    1151              : 
    1152              : tree
    1153         6149 : generic_simplify_233 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1154              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1155              :  const enum tree_code ARG_UNUSED (op))
    1156              : {
    1157         6149 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1158         6149 :   if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1159         6149 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1160         6149 :  && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
    1161              : )
    1162              :     {
    1163         6149 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail394;
    1164         6149 :       {
    1165         6149 :         tree res_op0;
    1166         6149 :         res_op0 = captures[3];
    1167         6149 :         tree res_op1;
    1168         6149 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
    1169         6149 :         tree _r;
    1170         6149 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1171         6149 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1172            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1173         6149 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 305, __FILE__, __LINE__, true);
    1174              :         return _r;
    1175              :       }
    1176            0 : next_after_fail394:;
    1177              :     }
    1178              :   return NULL_TREE;
    1179              : }
    1180              : 
    1181              : tree
    1182          104 : generic_simplify_241 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1183              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1184              :  const enum tree_code ARG_UNUSED (cmp),
    1185              :  const enum tree_code ARG_UNUSED (ocmp))
    1186              : {
    1187          104 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1188          104 :   if (!integer_zerop (captures[1])
    1189           22 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[1]))
    1190          116 :  && (VECTOR_TYPE_P (type) || !VECTOR_TYPE_P (TREE_TYPE (captures[0])))
    1191              : )
    1192              :     {
    1193           12 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail402;
    1194           12 :       {
    1195           12 :         tree res_op0;
    1196           12 :         res_op0 = captures[0];
    1197           12 :         tree res_op1;
    1198           12 :         res_op1 = captures[1];
    1199           12 :         tree _r;
    1200           12 :         _r = fold_build2_loc (loc, ocmp, type, res_op0, res_op1);
    1201           12 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 312, __FILE__, __LINE__, true);
    1202              :         return _r;
    1203              :       }
    1204            0 : next_after_fail402:;
    1205              :     }
    1206              :   return NULL_TREE;
    1207              : }
    1208              : 
    1209              : tree
    1210          738 : generic_simplify_248 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1211              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1212              :  const enum tree_code ARG_UNUSED (cmp))
    1213              : {
    1214          738 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1215          738 :   if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1216          738 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1217              : )
    1218              :     {
    1219           42 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail410;
    1220           42 :       {
    1221           42 :         tree _r;
    1222           42 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1223           42 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1224            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1225           42 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1226            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1227           42 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1228            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1229           42 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 320, __FILE__, __LINE__, true);
    1230              :         return _r;
    1231              :       }
    1232            0 : next_after_fail410:;
    1233              :     }
    1234              :   else
    1235              :     {
    1236          696 :       if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1237          696 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1238              : )
    1239              :         {
    1240          696 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail411;
    1241          696 :           {
    1242          696 :             tree res_op0;
    1243          696 :             res_op0 = captures[0];
    1244          696 :             tree res_op1;
    1245          696 :             res_op1 = captures[2];
    1246          696 :             tree _r;
    1247          696 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1248          696 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1249            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1250          696 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 321, __FILE__, __LINE__, true);
    1251              :             return _r;
    1252              :           }
    1253            0 : next_after_fail411:;
    1254              :         }
    1255              :     }
    1256              :   return NULL_TREE;
    1257              : }
    1258              : 
    1259              : tree
    1260          383 : generic_simplify_259 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1261              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1262              :  const enum tree_code ARG_UNUSED (rotate),
    1263              :  const enum tree_code ARG_UNUSED (invrot),
    1264              :  const enum tree_code ARG_UNUSED (cmp))
    1265              : {
    1266          383 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1267          383 :   if (integer_zerop (captures[2]) || integer_all_onesp (captures[2])
    1268              : )
    1269              :     {
    1270            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail433;
    1271            0 :       {
    1272            0 :         tree res_op0;
    1273            0 :         res_op0 = captures[0];
    1274            0 :         tree res_op1;
    1275            0 :         res_op1 = captures[2];
    1276            0 :         tree _r;
    1277            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1278            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1279            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1280            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 343, __FILE__, __LINE__, true);
    1281              :         return _r;
    1282              :       }
    1283            0 : next_after_fail433:;
    1284              :     }
    1285              :   return NULL_TREE;
    1286              : }
    1287              : 
    1288              : tree
    1289        95708 : 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              : {
    1293        95708 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1294        95708 :   if (single_use (captures[0])
    1295              : )
    1296              :     {
    1297        95708 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail440;
    1298        95708 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail440;
    1299        95708 :       {
    1300        95708 :         tree res_op0;
    1301        95708 :         res_op0 = captures[1];
    1302        95708 :         tree res_op1;
    1303        95708 :         res_op1 = captures[2];
    1304        95708 :         tree _r;
    1305        95708 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1306        95708 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 350, __FILE__, __LINE__, true);
    1307              :         return _r;
    1308              :       }
    1309        95708 : next_after_fail440:;
    1310              :     }
    1311              :   return NULL_TREE;
    1312              : }
    1313              : 
    1314              : tree
    1315       174732 : generic_simplify_269 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1316              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1317              :  const enum tree_code ARG_UNUSED (cmp))
    1318              : {
    1319       174732 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1320       344464 :   if (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1321       175457 :  || ! tree_expr_maybe_nan_p (captures[0])
    1322              : )
    1323              :     {
    1324       169081 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail448;
    1325       169081 :       {
    1326       169081 :         tree _r;
    1327       169081 :         _r =  constant_boolean_node (true, type);
    1328       169081 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1329            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1330       169081 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 357, __FILE__, __LINE__, true);
    1331              :         return _r;
    1332              :       }
    1333            0 : next_after_fail448:;
    1334              :     }
    1335              :   else
    1336              :     {
    1337         5651 :       if (cmp != EQ_EXPR
    1338         5651 :  && (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1339           79 :  || ! flag_trapping_math)
    1340              : )
    1341              :         {
    1342            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail449;
    1343            0 :           {
    1344            0 :             tree res_op0;
    1345            0 :             res_op0 = unshare_expr (captures[0]);
    1346            0 :             tree res_op1;
    1347            0 :             res_op1 = captures[0];
    1348            0 :             tree _r;
    1349            0 :             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1350            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 358, __FILE__, __LINE__, true);
    1351              :             return _r;
    1352              :           }
    1353            0 : next_after_fail449:;
    1354              :         }
    1355              :     }
    1356              :   return NULL_TREE;
    1357              : }
    1358              : 
    1359              : tree
    1360        19768 : generic_simplify_276 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1361              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1362              :  const enum tree_code ARG_UNUSED (cmp))
    1363              : {
    1364        19768 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1365        19768 :   if (flag_associative_math
    1366              : )
    1367              :     {
    1368           13 :       {
    1369           13 :  tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
    1370           13 :           if (tem && !TREE_OVERFLOW (tem)
    1371              : )
    1372              :             {
    1373           13 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail470;
    1374           13 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail470;
    1375           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail470;
    1376           13 :               {
    1377           13 :                 tree res_op0;
    1378           13 :                 res_op0 =  tem;
    1379           13 :                 tree res_op1;
    1380           13 :                 res_op1 = captures[1];
    1381           13 :                 tree _r;
    1382           13 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1383           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 378, __FILE__, __LINE__, true);
    1384              :                 return _r;
    1385              :               }
    1386        19768 : next_after_fail470:;
    1387              :             }
    1388              :       }
    1389              :     }
    1390              :   return NULL_TREE;
    1391              : }
    1392              : 
    1393              : tree
    1394           59 : generic_simplify_282 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1395              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1396              :  const enum tree_code ARG_UNUSED (cmp),
    1397              :  const enum tree_code ARG_UNUSED (scmp))
    1398              : {
    1399           59 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1400           96 :   if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1401           96 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1402           37 :  && (cmp == EQ_EXPR
    1403           37 :  || cmp == NE_EXPR
    1404           36 :  || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    1405              : )
    1406              :     {
    1407           23 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail503;
    1408           23 :       {
    1409           23 :         tree res_op0;
    1410           23 :         res_op0 = captures[0];
    1411           23 :         tree res_op1;
    1412           23 :         res_op1 = captures[1];
    1413           23 :         tree _r;
    1414           23 :         _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1415           23 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 411, __FILE__, __LINE__, true);
    1416              :         return _r;
    1417              :       }
    1418            0 : next_after_fail503:;
    1419              :     }
    1420              :   return NULL_TREE;
    1421              : }
    1422              : 
    1423              : tree
    1424     20106319 : generic_simplify_285 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1425              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1426              :  const enum tree_code ARG_UNUSED (cmp))
    1427              : {
    1428     20106319 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1429     39911216 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1430     12092025 :  && !(targetm.have_canonicalize_funcptr_for_compare ()
    1431            0 :  && ((POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1432            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1]))))
    1433            0 :  || (POINTER_TYPE_P (TREE_TYPE (captures[3]))
    1434            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[3]))))))
    1435     20106319 :  && single_use (captures[0])
    1436              : )
    1437              :     {
    1438     12092025 :       if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    1439      5282933 :  && (TREE_CODE (captures[3]) == INTEGER_CST
    1440      1955529 :  || captures[2] != captures[3])
    1441      3327404 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1442              :  || cmp == NE_EXPR
    1443      1535875 :  || cmp == EQ_EXPR)
    1444      2271109 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1445     14323107 :  && (TREE_CODE (TREE_TYPE (captures[1])) != BOOLEAN_TYPE
    1446         1796 :  || TREE_CODE (TREE_TYPE (captures[3])) == BOOLEAN_TYPE)
    1447              : )
    1448              :         {
    1449      2231054 :           if (TREE_CODE (captures[2]) == INTEGER_CST
    1450              : )
    1451              :             {
    1452      2231054 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail513;
    1453      2231054 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail513;
    1454      2231054 :               {
    1455      2231054 :                 tree res_op0;
    1456      2231054 :                 res_op0 = captures[1];
    1457      2231054 :                 tree res_op1;
    1458      2231054 :                 res_op1 =  force_fit_type (TREE_TYPE (captures[1]),
    1459      2231054 :  wide_int::from (wi::to_wide (captures[2]),
    1460      2231054 :  MAX (TYPE_PRECISION (TREE_TYPE (captures[2])),
    1461              :  TYPE_PRECISION (TREE_TYPE (captures[1]))),
    1462      2231054 :  TYPE_SIGN (TREE_TYPE (captures[2]))),
    1463      2231054 :  0, TREE_OVERFLOW (captures[2]));
    1464      2231054 :                 tree _r;
    1465      2231054 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1466      2231054 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 413, __FILE__, __LINE__, true);
    1467              :                 return _r;
    1468              :               }
    1469     20106319 : next_after_fail513:;
    1470              :             }
    1471              :           else
    1472              :             {
    1473            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail514;
    1474            0 :               {
    1475            0 :                 tree res_op0;
    1476            0 :                 res_op0 = captures[1];
    1477            0 :                 tree res_op1;
    1478            0 :                 {
    1479            0 :                   tree _o1[1], _r1;
    1480            0 :                   _o1[0] = captures[2];
    1481            0 :                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1482              :                     {
    1483            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1484              :                     }
    1485              :                   else
    1486              :                     _r1 = _o1[0];
    1487            0 :                   res_op1 = _r1;
    1488              :                 }
    1489            0 :                 tree _r;
    1490            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1491            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 414, __FILE__, __LINE__, true);
    1492              :                 return _r;
    1493              :               }
    1494            0 : next_after_fail514:;
    1495              :             }
    1496              :         }
    1497              :       else
    1498              :         {
    1499      9860971 :           if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    1500              : )
    1501              :             {
    1502      5830342 :               if ((cmp == EQ_EXPR || cmp == NE_EXPR
    1503      2951966 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1504       405704 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1505       320876 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    1506      8697480 :  && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]))
    1507      5745496 :  || ((TYPE_PRECISION (TREE_TYPE (captures[1]))
    1508      5745496 :  >= TYPE_PRECISION (TREE_TYPE (captures[3])))
    1509            0 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1510            0 :  == TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
    1511      5745496 :  || (TREE_CODE (captures[2]) == INTEGER_CST
    1512      4641930 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1513      4641930 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))))
    1514              : )
    1515              :                 {
    1516      4607843 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail515;
    1517      4607843 :                   {
    1518      4607843 :                     tree res_op0;
    1519      4607843 :                     res_op0 = captures[1];
    1520      4607843 :                     tree res_op1;
    1521      4607843 :                     {
    1522      4607843 :                       tree _o1[1], _r1;
    1523      4607843 :                       _o1[0] = captures[3];
    1524      4607843 :                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1525              :                         {
    1526      4607825 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1527              :                         }
    1528              :                       else
    1529              :                         _r1 = _o1[0];
    1530      4607843 :                       res_op1 = _r1;
    1531              :                     }
    1532      4607843 :                     tree _r;
    1533      4607843 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1534      4607843 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 415, __FILE__, __LINE__, true);
    1535              :                     return _r;
    1536              :                   }
    1537            0 : next_after_fail515:;
    1538              :                 }
    1539              :               else
    1540              :                 {
    1541      1222499 :                   if (TREE_CODE (captures[2]) == INTEGER_CST
    1542        83409 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1543      1305908 :  && !int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    1544              : )
    1545              :                     {
    1546        37428 :                       {
    1547        37428 :  tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1548        37428 :  tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1549        37428 :  bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[2]));
    1550        37428 :  bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[2], min));
    1551        37428 :                           if (above || below
    1552              : )
    1553              :                             {
    1554        31462 :                               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1555              : )
    1556              :                                 {
    1557        26678 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail516;
    1558        26678 :                                   {
    1559        26678 :                                     tree _r;
    1560        26678 :                                     _r =  constant_boolean_node (cmp != EQ_EXPR, type);
    1561        26678 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1562           10 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1563        26678 :                                     if (TREE_SIDE_EFFECTS (captures[2]))
    1564            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1565        26678 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 416, __FILE__, __LINE__, true);
    1566              :                                     return _r;
    1567              :                                   }
    1568            0 : next_after_fail516:;
    1569              :                                 }
    1570              :                               else
    1571              :                                 {
    1572         4784 :                                   if (cmp == LT_EXPR || cmp == LE_EXPR
    1573              : )
    1574              :                                     {
    1575         4241 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail517;
    1576         4241 :                                       {
    1577         4241 :                                         tree _r;
    1578         4241 :                                         _r =  constant_boolean_node (above, type);
    1579         4241 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1580           10 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1581         4241 :                                         if (TREE_SIDE_EFFECTS (captures[2]))
    1582            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1583         4241 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 417, __FILE__, __LINE__, true);
    1584              :                                         return _r;
    1585              :                                       }
    1586            0 : next_after_fail517:;
    1587              :                                     }
    1588              :                                   else
    1589              :                                     {
    1590          543 :                                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1591              : )
    1592              :                                         {
    1593          543 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail518;
    1594          543 :                                           {
    1595          543 :                                             tree _r;
    1596          543 :                                             _r =  constant_boolean_node (!above, type);
    1597          543 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1598            4 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1599          543 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    1600            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1601          543 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 418, __FILE__, __LINE__, true);
    1602              :                                             return _r;
    1603              :                                           }
    1604            0 : next_after_fail518:;
    1605              :                                         }
    1606              :                                     }
    1607              :                                 }
    1608              :                             }
    1609              :                       }
    1610              :                     }
    1611              :                 }
    1612              :             }
    1613              :           else
    1614              :             {
    1615      8058461 :               if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1616      3788067 :  && (TYPE_PRECISION (TREE_TYPE (captures[0]))
    1617      3788067 :  < TYPE_PRECISION (TREE_TYPE (captures[1])))
    1618       978664 :  && (cmp == EQ_EXPR || cmp == NE_EXPR)
    1619      4678441 :  && types_match (TREE_TYPE (captures[1]),
    1620       647812 :  TREE_TYPE (captures[3]))
    1621              : )
    1622              :                 {
    1623            0 :                   {
    1624            0 :  tree itype = TREE_TYPE (captures[0]);
    1625            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail519;
    1626            0 :                       {
    1627            0 :                         tree res_op0;
    1628            0 :                         {
    1629            0 :                           tree _o1[1], _r1;
    1630            0 :                           {
    1631            0 :                             tree _o2[2], _r2;
    1632            0 :                             _o2[0] = captures[1];
    1633            0 :                             _o2[1] = captures[3];
    1634            0 :                             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1635            0 :                             _o1[0] = _r2;
    1636              :                           }
    1637            0 :                           if (TREE_TYPE (_o1[0]) != itype)
    1638              :                             {
    1639            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    1640              :                             }
    1641              :                           else
    1642              :                             _r1 = _o1[0];
    1643            0 :                           res_op0 = _r1;
    1644              :                         }
    1645            0 :                         tree res_op1;
    1646            0 :                         res_op1 =  build_zero_cst (itype);
    1647            0 :                         tree _r;
    1648            0 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1649            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 419, __FILE__, __LINE__, true);
    1650              :                         return _r;
    1651              :                       }
    1652            0 : next_after_fail519:;
    1653              :                   }
    1654              :                 }
    1655              :             }
    1656              :         }
    1657              :     }
    1658              :   else
    1659              :     {
    1660     15472834 :       if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
    1661      1138584 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1662       569292 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1])))
    1663      9152640 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1664       569173 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[3])))
    1665              : )
    1666              :         {
    1667       569173 :           {
    1668       569173 :  tree type1 = TREE_TYPE (captures[3]);
    1669       569173 :  if (TREE_CODE (captures[3]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
    1670              :  {
    1671       360807 :  REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[3]);
    1672       360807 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (float_type_node)
    1673       360807 :  && exact_real_truncate (TYPE_MODE (float_type_node), &orig))
    1674       182788 :  type1 = float_type_node;
    1675       360807 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (double_type_node)
    1676       360807 :  && exact_real_truncate (TYPE_MODE (double_type_node), &orig))
    1677          292 :  type1 = double_type_node;
    1678              :  }
    1679       569173 :  tree newtype
    1680       569173 :  = (element_precision (TREE_TYPE (captures[1])) > element_precision (type1)
    1681       569173 :  ? TREE_TYPE (captures[1]) : type1);
    1682       569173 :               if (element_precision (TREE_TYPE (captures[0])) > element_precision (newtype)
    1683       569173 :  && (!VECTOR_TYPE_P (type) || is_truth_type_for (newtype, type))
    1684              : )
    1685              :                 {
    1686        44742 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail520;
    1687        44742 :                   {
    1688        44742 :                     tree res_op0;
    1689        44742 :                     {
    1690        44742 :                       tree _o1[1], _r1;
    1691        44742 :                       _o1[0] = captures[1];
    1692        44742 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1693              :                         {
    1694        11488 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1695              :                         }
    1696              :                       else
    1697              :                         _r1 = _o1[0];
    1698        44742 :                       res_op0 = _r1;
    1699              :                     }
    1700        44742 :                     tree res_op1;
    1701        44742 :                     {
    1702        44742 :                       tree _o1[1], _r1;
    1703        44742 :                       _o1[0] = captures[3];
    1704        44742 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1705              :                         {
    1706        44742 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1707              :                         }
    1708              :                       else
    1709              :                         _r1 = _o1[0];
    1710        44742 :                       res_op1 = _r1;
    1711              :                     }
    1712        44742 :                     tree _r;
    1713        44742 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1714        44742 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 420, __FILE__, __LINE__, true);
    1715              :                     return _r;
    1716              :                   }
    1717            0 : next_after_fail520:;
    1718              :                 }
    1719              :           }
    1720              :         }
    1721              :     }
    1722              :   return NULL_TREE;
    1723              : }
    1724              : 
    1725              : tree
    1726           45 : generic_simplify_317 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1727              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1728              :  const enum tree_code ARG_UNUSED (cmp),
    1729              :  const enum tree_code ARG_UNUSED (rep),
    1730              :  const combined_fn ARG_UNUSED (popcount))
    1731              : {
    1732           45 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1733           45 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail586;
    1734           45 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail586;
    1735           45 :   {
    1736           45 :     tree res_op0;
    1737           45 :     res_op0 = captures[0];
    1738           45 :     tree res_op1;
    1739           45 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1740           45 :     tree _r;
    1741           45 :     _r = fold_build2_loc (loc, rep, type, res_op0, res_op1);
    1742           45 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 476, __FILE__, __LINE__, true);
    1743              :     return _r;
    1744              :   }
    1745           45 : next_after_fail586:;
    1746              :   return NULL_TREE;
    1747              : }
    1748              : 
    1749              : tree
    1750       290248 : generic_simplify_322 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1751              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1752              :  const enum tree_code ARG_UNUSED (cmp))
    1753              : {
    1754       290248 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1755       290248 :   if (cmp != NE_EXPR
    1756       281443 :  || ! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1757       302632 :  || ! tree_expr_maybe_nan_p (captures[0])
    1758              : )
    1759              :     {
    1760       283678 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail594;
    1761       283678 :       {
    1762       283678 :         tree _r;
    1763       283678 :         _r =  constant_boolean_node (false, type);
    1764       283678 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1765            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1766       283678 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 484, __FILE__, __LINE__, true);
    1767              :         return _r;
    1768              :       }
    1769            0 : next_after_fail594:;
    1770              :     }
    1771              :   return NULL_TREE;
    1772              : }
    1773              : 
    1774              : tree
    1775            0 : generic_simplify_327 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1776              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1777              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1778              : {
    1779            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1780            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail599;
    1781            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail599;
    1782            0 :   {
    1783            0 :     tree _r;
    1784            0 :     _r = captures[1];
    1785            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 489, __FILE__, __LINE__, true);
    1786              :     return _r;
    1787              :   }
    1788            0 : next_after_fail599:;
    1789              :   return NULL_TREE;
    1790              : }
    1791              : 
    1792              : tree
    1793          896 : generic_simplify_334 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1794              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1795              :  const enum tree_code ARG_UNUSED (div))
    1796              : {
    1797          896 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1798         1792 :   if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
    1799          896 :  && !integer_zerop (captures[0])
    1800         1163 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
    1801              : )
    1802              :     {
    1803          111 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail608;
    1804          111 :       {
    1805          111 :         tree _r;
    1806          111 :         _r =  build_one_cst (type);
    1807          111 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1808            2 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1809          111 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 496, __FILE__, __LINE__, true);
    1810              :         return _r;
    1811              :       }
    1812            0 : next_after_fail608:;
    1813              :     }
    1814              :   return NULL_TREE;
    1815              : }
    1816              : 
    1817              : tree
    1818          192 : generic_simplify_340 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1819              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1820              :  const enum tree_code ARG_UNUSED (div))
    1821              : {
    1822          192 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1823          192 :   if (ANY_INTEGRAL_TYPE_P (type)
    1824              : )
    1825              :     {
    1826          192 :       if (TYPE_OVERFLOW_UNDEFINED (type) && !TYPE_OVERFLOW_SANITIZED (type)
    1827              : )
    1828              :         {
    1829          164 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail615;
    1830          164 :           {
    1831          164 :             tree _r;
    1832          164 :             _r = captures[1];
    1833          164 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1834            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1835          164 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 503, __FILE__, __LINE__, true);
    1836              :             return _r;
    1837              :           }
    1838            0 : next_after_fail615:;
    1839              :         }
    1840              :     }
    1841              :   return NULL_TREE;
    1842              : }
    1843              : 
    1844              : tree
    1845       221239 : generic_simplify_344 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1846              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1847              :  const enum tree_code ARG_UNUSED (mod))
    1848              : {
    1849       221239 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1850       221239 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail619;
    1851       221239 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail619;
    1852       221239 :   {
    1853       221239 :     tree _r;
    1854       221239 :     _r =  build_zero_cst (type);
    1855       221239 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1856           48 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1857       221239 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 507, __FILE__, __LINE__, true);
    1858              :     return _r;
    1859              :   }
    1860       221239 : next_after_fail619:;
    1861              :   return NULL_TREE;
    1862              : }
    1863              : 
    1864              : tree
    1865            0 : generic_simplify_353 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1866              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1867              :  const combined_fn ARG_UNUSED (SQRT))
    1868              : {
    1869            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1870            0 :   if (flag_unsafe_math_optimizations
    1871              : )
    1872              :     {
    1873            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail630;
    1874            0 :       {
    1875            0 :         tree res_op0;
    1876            0 :         res_op0 = captures[0];
    1877            0 :         tree _r;
    1878            0 :         _r = maybe_build_call_expr_loc (loc, SQRT, type, 1, res_op0);
    1879            0 :         if (!_r)
    1880            0 :           goto next_after_fail630;
    1881            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 518, __FILE__, __LINE__, true);
    1882              :         return _r;
    1883              :       }
    1884            0 : next_after_fail630:;
    1885              :     }
    1886              :   return NULL_TREE;
    1887              : }
    1888              : 
    1889              : tree
    1890            6 : generic_simplify_359 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1891              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1892              :  const combined_fn ARG_UNUSED (TAN),
    1893              :  const combined_fn ARG_UNUSED (SIN),
    1894              :  const combined_fn ARG_UNUSED (COS))
    1895              : {
    1896            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1897            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1898              : )
    1899              :     {
    1900            6 :       if (! HONOR_NANS (captures[1])
    1901            6 :  && ! HONOR_INFINITIES (captures[1])
    1902              : )
    1903              :         {
    1904            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail636;
    1905            6 :           {
    1906            6 :             tree res_op0;
    1907            6 :             res_op0 =  build_one_cst (type);
    1908            6 :             tree res_op1;
    1909            6 :             {
    1910            6 :               tree _o1[1], _r1;
    1911            6 :               _o1[0] = captures[1];
    1912            6 :               _r1 = maybe_build_call_expr_loc (loc, COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1913            6 :               if (!_r1)
    1914            0 :                 goto next_after_fail636;
    1915            6 :               res_op1 = _r1;
    1916              :             }
    1917            6 :             tree _r;
    1918            6 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1919            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 524, __FILE__, __LINE__, true);
    1920              :             return _r;
    1921              :           }
    1922            6 : next_after_fail636:;
    1923              :         }
    1924              :     }
    1925              :   return NULL_TREE;
    1926              : }
    1927              : 
    1928              : tree
    1929            9 : generic_simplify_368 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1930              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1931              : {
    1932            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1933            9 :   if (INTEGRAL_TYPE_P (type)
    1934            9 :  && !TYPE_UNSIGNED (type)
    1935              : )
    1936              :     {
    1937            9 :       {
    1938            9 :  tree utype = unsigned_type_for (type);
    1939            9 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail651;
    1940            9 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail651;
    1941            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail651;
    1942            9 :           {
    1943            9 :             tree res_op0;
    1944            9 :             {
    1945            9 :               tree _o1[2], _r1;
    1946            9 :               {
    1947            9 :                 tree _o2[1], _r2;
    1948            9 :                 _o2[0] = captures[0];
    1949            9 :                 if (TREE_TYPE (_o2[0]) != utype)
    1950              :                   {
    1951            9 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1952              :                   }
    1953              :                 else
    1954              :                   _r2 = _o2[0];
    1955            9 :                 _o1[0] = _r2;
    1956              :               }
    1957            9 :               {
    1958            9 :                 tree _o2[1], _r2;
    1959            9 :                 _o2[0] = captures[1];
    1960            9 :                 if (TREE_TYPE (_o2[0]) != utype)
    1961              :                   {
    1962            9 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1963              :                   }
    1964              :                 else
    1965              :                   _r2 = _o2[0];
    1966            9 :                 _o1[1] = _r2;
    1967              :               }
    1968            9 :               _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1969            9 :               res_op0 = _r1;
    1970              :             }
    1971            9 :             tree _r;
    1972            9 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1973            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 539, __FILE__, __LINE__, true);
    1974              :             return _r;
    1975              :           }
    1976            9 : next_after_fail651:;
    1977              :       }
    1978              :     }
    1979              :   return NULL_TREE;
    1980              : }
    1981              : 
    1982              : tree
    1983            0 : generic_simplify_376 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1984              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1985              :  const enum tree_code ARG_UNUSED (op))
    1986              : {
    1987            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1988            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail659;
    1989            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail659;
    1990            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail659;
    1991            0 :   {
    1992            0 :     tree _r;
    1993            0 :     _r = captures[2];
    1994            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 547, __FILE__, __LINE__, true);
    1995              :     return _r;
    1996              :   }
    1997            0 : next_after_fail659:;
    1998              :   return NULL_TREE;
    1999              : }
    2000              : 
    2001              : tree
    2002           58 : generic_simplify_383 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2003              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2004              :  const enum tree_code ARG_UNUSED (op))
    2005              : {
    2006           58 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2007           58 :   if (bitwise_equal_p (captures[0], captures[2])
    2008            8 :  && tree_expr_nonzero_p (captures[3])
    2009           66 :  && expr_no_side_effects_p (captures[3])
    2010              : )
    2011              :     {
    2012            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail670;
    2013            1 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail670;
    2014            1 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail670;
    2015            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail670;
    2016            1 :       {
    2017            1 :         tree _r;
    2018            1 :         _r = captures[1];
    2019            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 558, __FILE__, __LINE__, true);
    2020              :         return _r;
    2021              :       }
    2022           58 : next_after_fail670:;
    2023              :     }
    2024              :   return NULL_TREE;
    2025              : }
    2026              : 
    2027              : tree
    2028            0 : generic_simplify_390 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2029              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2030              :  const enum tree_code ARG_UNUSED (cmp))
    2031              : {
    2032            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2033            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail678;
    2034            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail678;
    2035            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail678;
    2036            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail678;
    2037            0 :   {
    2038            0 :     tree _r;
    2039            0 :     _r = captures[0];
    2040            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 566, __FILE__, __LINE__, true);
    2041              :     return _r;
    2042              :   }
    2043            0 : next_after_fail678:;
    2044              :   return NULL_TREE;
    2045              : }
    2046              : 
    2047              : tree
    2048          444 : generic_simplify_398 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2049              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2050              :  const enum tree_code ARG_UNUSED (op),
    2051              :  const enum tree_code ARG_UNUSED (neg_op))
    2052              : {
    2053          444 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2054          444 :   if (flag_unsafe_math_optimizations
    2055              : )
    2056              :     {
    2057            4 :       if (!HONOR_SIGNED_ZEROS (captures[1]) && !HONOR_INFINITIES (captures[1])
    2058              : )
    2059              :         {
    2060            4 :           if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[0]))
    2061              : )
    2062              :             {
    2063            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail688;
    2064            2 :               {
    2065            2 :                 tree res_op0;
    2066            2 :                 res_op0 = captures[1];
    2067            2 :                 tree res_op1;
    2068            2 :                 res_op1 = captures[2];
    2069            2 :                 tree _r;
    2070            2 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2071            2 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    2072            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2073            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 574, __FILE__, __LINE__, true);
    2074              :                 return _r;
    2075              :               }
    2076            0 : next_after_fail688:;
    2077              :             }
    2078              :           else
    2079              :             {
    2080            2 :               if (real_less (TREE_REAL_CST_PTR (captures[0]), &dconst0)
    2081              : )
    2082              :                 {
    2083            2 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail689;
    2084            2 :                   {
    2085            2 :                     tree res_op0;
    2086            2 :                     res_op0 = captures[1];
    2087            2 :                     tree res_op1;
    2088            2 :                     res_op1 = captures[2];
    2089            2 :                     tree _r;
    2090            2 :                     _r = fold_build2_loc (loc, neg_op, type, res_op0, res_op1);
    2091            2 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    2092            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2093            2 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 575, __FILE__, __LINE__, true);
    2094              :                     return _r;
    2095              :                   }
    2096            0 : next_after_fail689:;
    2097              :                 }
    2098              :             }
    2099              :         }
    2100              :     }
    2101              :   return NULL_TREE;
    2102              : }
    2103              : 
    2104              : tree
    2105            0 : generic_simplify_408 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2106              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2107              :  const enum tree_code ARG_UNUSED (ltge),
    2108              :  const enum tree_code ARG_UNUSED (neeq))
    2109              : {
    2110            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2111            0 :   if (!HONOR_NANS (captures[0])
    2112              : )
    2113              :     {
    2114            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail701;
    2115            0 :       {
    2116            0 :         tree res_op0;
    2117            0 :         res_op0 = captures[0];
    2118            0 :         tree res_op1;
    2119            0 :         res_op1 = captures[1];
    2120            0 :         tree _r;
    2121            0 :         _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
    2122            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 587, __FILE__, __LINE__, true);
    2123              :         return _r;
    2124              :       }
    2125            0 : next_after_fail701:;
    2126              :     }
    2127              :   return NULL_TREE;
    2128              : }
    2129              : 
    2130              : tree
    2131          611 : generic_simplify_416 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2132              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2133              :  const enum tree_code ARG_UNUSED (cmp))
    2134              : {
    2135          611 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2136          611 :   if (wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    2137              : )
    2138              :     {
    2139          611 :       {
    2140          611 :  wi::overflow_type ovf;
    2141          611 :  wide_int prod = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[1]),
    2142         1222 :  TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
    2143          611 :           if (ovf
    2144              : )
    2145              :             {
    2146            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail709;
    2147            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail709;
    2148            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail709;
    2149            0 :               {
    2150            0 :                 tree _r;
    2151            0 :                 _r =  constant_boolean_node (wi::lt_p (wi::to_wide (captures[2]), 0,
    2152            0 :  TYPE_SIGN (TREE_TYPE (captures[2])))
    2153            0 :  != (cmp == LT_EXPR || cmp == LE_EXPR), type);
    2154            0 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    2155            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2156            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 595, __FILE__, __LINE__, true);
    2157              :                 return _r;
    2158              :               }
    2159            0 : next_after_fail709:;
    2160              :             }
    2161              :           else
    2162              :             {
    2163          611 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail710;
    2164          611 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail710;
    2165          611 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail710;
    2166          611 :               {
    2167          611 :                 tree res_op0;
    2168          611 :                 res_op0 = captures[0];
    2169          611 :                 tree res_op1;
    2170          611 :                 res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
    2171          611 :                 tree _r;
    2172          611 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2173          611 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 596, __FILE__, __LINE__, true);
    2174              :                 return _r;
    2175              :               }
    2176            0 : next_after_fail710:;
    2177              :             }
    2178          611 :       }
    2179              :     }
    2180              :   return NULL_TREE;
    2181              : }
    2182              : 
    2183              : tree
    2184        32306 : generic_simplify_431 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2185              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2186              :  const enum tree_code ARG_UNUSED (cmp))
    2187              : {
    2188        32306 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2189        64518 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2190        64518 :  && bitmask_inv_cst_vector_p (captures[2])
    2191              : )
    2192              :     {
    2193           28 :       {
    2194           28 :  wide_int c = wi::to_wide (captures[3]) | wi::bit_not (wi::to_wide (captures[2]));
    2195           28 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail763;
    2196           28 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail763;
    2197           28 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail763;
    2198           28 :           {
    2199           28 :             tree res_op0;
    2200           28 :             res_op0 = captures[1];
    2201           28 :             tree res_op1;
    2202           28 :             res_op1 =  wide_int_to_tree (TREE_TYPE (captures[1]), c);
    2203           28 :             tree _r;
    2204           28 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2205           28 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 632, __FILE__, __LINE__, true);
    2206           28 :             return _r;
    2207              :           }
    2208            0 : next_after_fail763:;
    2209           28 :       }
    2210              :     }
    2211              :   return NULL_TREE;
    2212              : }
    2213              : 
    2214              : tree
    2215            0 : generic_simplify_434 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2216              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2217              :  const enum tree_code ARG_UNUSED (cmp))
    2218              : {
    2219            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2220            0 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2221            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2222              : )
    2223              :     {
    2224            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail766;
    2225            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail766;
    2226            0 :       {
    2227            0 :         tree res_op0;
    2228            0 :         res_op0 = captures[1];
    2229            0 :         tree res_op1;
    2230            0 :         res_op1 = captures[0];
    2231            0 :         tree _r;
    2232            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2233            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 616, __FILE__, __LINE__, true);
    2234              :         return _r;
    2235              :       }
    2236            0 : next_after_fail766:;
    2237              :     }
    2238              :   return NULL_TREE;
    2239              : }
    2240              : 
    2241              : tree
    2242           71 : generic_simplify_438 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2243              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2244              :  const enum tree_code ARG_UNUSED (cmp),
    2245              :  const enum tree_code ARG_UNUSED (out))
    2246              : {
    2247           71 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2248          142 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2249           71 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2250           71 :  && TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2251           56 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2252           56 :  && (TYPE_PRECISION (TREE_TYPE (captures[1]))
    2253           56 :  >= 2 * TYPE_PRECISION (TREE_TYPE (captures[2])))
    2254           56 :  && TYPE_MAX_VALUE (TREE_TYPE (captures[2]))
    2255           56 :  && (wi::to_widest (captures[4])
    2256          127 :  == wi::to_widest (TYPE_MAX_VALUE (TREE_TYPE (captures[2]))))
    2257           56 :  && types_match (captures[2], captures[3])
    2258           56 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2259          183 :  && (optab_handler (umulv4_optab, TYPE_MODE (TREE_TYPE (captures[2])))
    2260              :  != CODE_FOR_nothing)
    2261              : )
    2262              :     {
    2263           56 :       {
    2264           56 :  tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
    2265           56 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail770;
    2266           56 :           {
    2267           56 :             tree res_op0;
    2268           56 :             {
    2269           56 :               tree _o1[1], _r1;
    2270           56 :               {
    2271           56 :                 tree _o2[2], _r2;
    2272           56 :                 _o2[0] = captures[2];
    2273           56 :                 _o2[1] = captures[3];
    2274           56 :                 _r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
    2275           56 :                 if (!_r2)
    2276            0 :                   goto next_after_fail770;
    2277           56 :                 _o1[0] = _r2;
    2278              :               }
    2279           56 :               _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2280           56 :               res_op0 = _r1;
    2281              :             }
    2282           56 :             tree res_op1;
    2283           56 :             res_op1 =  build_zero_cst (t);
    2284           56 :             tree _r;
    2285           56 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2286           56 :             if (TREE_SIDE_EFFECTS (captures[4]))
    2287            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2288           56 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 635, __FILE__, __LINE__, true);
    2289              :             return _r;
    2290              :           }
    2291           71 : next_after_fail770:;
    2292              :       }
    2293              :     }
    2294              :   return NULL_TREE;
    2295              : }
    2296              : 
    2297              : tree
    2298            0 : generic_simplify_449 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2299              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2300              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2301              : {
    2302            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2303            0 :   {
    2304            0 :  tree tem = uniform_vector_p (captures[1]);
    2305            0 :       if (tem
    2306              : )
    2307              :         {
    2308            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail785;
    2309            0 :           {
    2310            0 :             tree res_op0;
    2311            0 :             res_op0 = captures[0];
    2312            0 :             tree res_op1;
    2313            0 :             res_op1 =  tem;
    2314            0 :             tree _r;
    2315            0 :             _r = fold_build2_loc (loc, shiftrotate, type, res_op0, res_op1);
    2316            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2317            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2318            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 649, __FILE__, __LINE__, true);
    2319              :             return _r;
    2320              :           }
    2321            0 : next_after_fail785:;
    2322              :         }
    2323              :   }
    2324              :   return NULL_TREE;
    2325              : }
    2326              : 
    2327              : tree
    2328          271 : generic_simplify_456 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2329              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2330              :  const combined_fn ARG_UNUSED (bswap))
    2331              : {
    2332          271 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2333          271 :   if (BITS_PER_UNIT == 8
    2334              :  && CHAR_TYPE_SIZE == 8
    2335          271 :  && tree_fits_uhwi_p (captures[2])
    2336              : )
    2337              :     {
    2338          271 :       {
    2339          271 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[0]));
    2340          271 :  unsigned HOST_WIDE_INT bits = tree_to_uhwi (captures[2]);
    2341          271 :  tree st = TYPE_PRECISION (type) > prec ? TREE_TYPE (captures[0]) : type;
    2342          271 :           if (TYPE_PRECISION (type) > prec
    2343            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2344            0 :  && TYPE_UNSIGNED (type)
    2345          271 :  && bits < prec && bits + 8 >= prec
    2346              : )
    2347              :             {
    2348            0 :               {
    2349            0 :  tree nst = build_int_cst (integer_type_node, prec - 8);
    2350            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail797;
    2351            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail797;
    2352            0 :                   {
    2353            0 :                     tree res_op0;
    2354            0 :                     {
    2355            0 :                       tree _o1[1], _r1;
    2356            0 :                       {
    2357            0 :                         tree _o2[2], _r2;
    2358            0 :                         {
    2359            0 :                           tree _o3[1], _r3;
    2360            0 :                           _o3[0] = captures[1];
    2361            0 :                           if (TREE_TYPE (_o3[0]) != st)
    2362              :                             {
    2363            0 :                               _r3 = fold_build1_loc (loc, NOP_EXPR, st, _o3[0]);
    2364              :                             }
    2365              :                           else
    2366              :                             _r3 = _o3[0];
    2367            0 :                           _o2[0] = _r3;
    2368              :                         }
    2369            0 :                         _o2[1] = nst;
    2370            0 :                         _r2 = fold_build2_loc (loc, LSHIFT_EXPR, st, _o2[0], _o2[1]);
    2371            0 :                         _o1[0] = _r2;
    2372              :                       }
    2373            0 :                       if (TREE_TYPE (_o1[0]) != type)
    2374              :                         {
    2375            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2376              :                         }
    2377              :                       else
    2378              :                         _r1 = _o1[0];
    2379            0 :                       res_op0 = _r1;
    2380              :                     }
    2381            0 :                     tree res_op1;
    2382            0 :                     res_op1 = captures[2];
    2383            0 :                     tree _r;
    2384            0 :                     _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    2385            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 660, __FILE__, __LINE__, true);
    2386              :                     return _r;
    2387              :                   }
    2388          271 : next_after_fail797:;
    2389              :               }
    2390              :             }
    2391              :           else
    2392              :             {
    2393          271 :               if (bits + 8 == prec
    2394              : )
    2395              :                 {
    2396           46 :                   if (TYPE_UNSIGNED (st)
    2397              : )
    2398              :                     {
    2399           36 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail798;
    2400           36 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail798;
    2401           36 :                       {
    2402           36 :                         tree res_op0;
    2403           36 :                         {
    2404           36 :                           tree _o1[1], _r1;
    2405           36 :                           _o1[0] = captures[1];
    2406           36 :                           if (TREE_TYPE (_o1[0]) != unsigned_char_type_node)
    2407              :                             {
    2408           36 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, unsigned_char_type_node, _o1[0]);
    2409              :                             }
    2410              :                           else
    2411              :                             _r1 = _o1[0];
    2412           36 :                           res_op0 = _r1;
    2413              :                         }
    2414           36 :                         tree _r;
    2415           36 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2416           36 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 661, __FILE__, __LINE__, true);
    2417              :                         return _r;
    2418              :                       }
    2419          271 : next_after_fail798:;
    2420              :                     }
    2421              :                   else
    2422              :                     {
    2423           10 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail799;
    2424           10 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail799;
    2425           10 :                       {
    2426           10 :                         tree res_op0;
    2427           10 :                         {
    2428           10 :                           tree _o1[1], _r1;
    2429           10 :                           _o1[0] = captures[1];
    2430           10 :                           if (TREE_TYPE (_o1[0]) != signed_char_type_node)
    2431              :                             {
    2432           10 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, signed_char_type_node, _o1[0]);
    2433              :                             }
    2434              :                           else
    2435              :                             _r1 = _o1[0];
    2436           10 :                           res_op0 = _r1;
    2437              :                         }
    2438           10 :                         tree _r;
    2439           10 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2440           10 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 662, __FILE__, __LINE__, true);
    2441              :                         return _r;
    2442              :                       }
    2443          271 : next_after_fail799:;
    2444              :                     }
    2445              :                 }
    2446              :               else
    2447              :                 {
    2448          225 :                   if (bits < prec && bits + 8 > prec
    2449              : )
    2450              :                     {
    2451           57 :                       {
    2452           57 :  tree nst = build_int_cst (integer_type_node, bits & 7);
    2453           57 :  tree bt = TYPE_UNSIGNED (st) ? unsigned_char_type_node
    2454           57 :  : signed_char_type_node;
    2455           57 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail800;
    2456           57 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail800;
    2457           57 :                           {
    2458           57 :                             tree res_op0;
    2459           57 :                             {
    2460           57 :                               tree _o1[2], _r1;
    2461           57 :                               {
    2462           57 :                                 tree _o2[1], _r2;
    2463           57 :                                 _o2[0] = captures[1];
    2464           57 :                                 if (TREE_TYPE (_o2[0]) != bt)
    2465              :                                   {
    2466           57 :                                     _r2 = fold_build1_loc (loc, NOP_EXPR, bt, _o2[0]);
    2467              :                                   }
    2468              :                                 else
    2469              :                                   _r2 = _o2[0];
    2470           57 :                                 _o1[0] = _r2;
    2471              :                               }
    2472           57 :                               _o1[1] = nst;
    2473           57 :                               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, bt, _o1[0], _o1[1]);
    2474           57 :                               res_op0 = _r1;
    2475              :                             }
    2476           57 :                             tree _r;
    2477           57 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2478           57 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 663, __FILE__, __LINE__, true);
    2479              :                             return _r;
    2480              :                           }
    2481          271 : next_after_fail800:;
    2482              :                       }
    2483              :                     }
    2484              :                 }
    2485              :             }
    2486              :       }
    2487              :     }
    2488              :   return NULL_TREE;
    2489              : }
    2490              : 
    2491              : tree
    2492            0 : generic_simplify_470 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2493              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2494              :  const combined_fn ARG_UNUSED (pow))
    2495              : {
    2496            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2497            0 :   if (flag_unsafe_math_optimizations
    2498              : )
    2499              :     {
    2500            0 :       if (! HONOR_INFINITIES (type)
    2501            0 :  && ! flag_trapping_math
    2502            0 :  && ! flag_errno_math
    2503              : )
    2504              :         {
    2505            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail828;
    2506            0 :           {
    2507            0 :             tree res_op0;
    2508            0 :             res_op0 = captures[2];
    2509            0 :             tree res_op1;
    2510            0 :             {
    2511            0 :               tree _o1[1], _r1;
    2512            0 :               _o1[0] = captures[3];
    2513            0 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2514            0 :               res_op1 = _r1;
    2515              :             }
    2516            0 :             tree _r;
    2517            0 :             _r = maybe_build_call_expr_loc (loc, pow, type, 2, res_op0, res_op1);
    2518            0 :             if (!_r)
    2519            0 :               goto next_after_fail828;
    2520            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2521            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2522            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 679, __FILE__, __LINE__, true);
    2523              :             return _r;
    2524              :           }
    2525            0 : next_after_fail828:;
    2526              :         }
    2527              :     }
    2528              :   return NULL_TREE;
    2529              : }
    2530              : 
    2531              : tree
    2532            0 : generic_simplify_476 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2533              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2534              :  const combined_fn ARG_UNUSED (HYPOT))
    2535              : {
    2536            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2537            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail834;
    2538            0 :   {
    2539            0 :     tree res_op0;
    2540            0 :     res_op0 = captures[0];
    2541            0 :     tree _r;
    2542            0 :     _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    2543            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2544            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2545            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 685, __FILE__, __LINE__, true);
    2546              :     return _r;
    2547              :   }
    2548            0 : next_after_fail834:;
    2549            0 :   return NULL_TREE;
    2550              : }
    2551              : 
    2552              : tree
    2553           21 : generic_simplify_480 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2554              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2555              : {
    2556           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2557           42 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2558           42 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    2559              : )
    2560              :     {
    2561            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail838;
    2562            0 :       {
    2563            0 :         tree res_op0;
    2564            0 :         res_op0 = captures[0];
    2565            0 :         tree res_op1;
    2566            0 :         res_op1 = captures[1];
    2567            0 :         tree _r;
    2568            0 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2569            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 689, __FILE__, __LINE__, true);
    2570              :         return _r;
    2571              :       }
    2572            0 : next_after_fail838:;
    2573              :     }
    2574              :   return NULL_TREE;
    2575              : }
    2576              : 
    2577              : tree
    2578          355 : generic_simplify_487 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2579              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2580              :  const enum tree_code ARG_UNUSED (bitop),
    2581              :  const enum tree_code ARG_UNUSED (op))
    2582              : {
    2583          355 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2584          355 :   {
    2585          355 :  tree pmop[2];
    2586          355 :  tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[5], op, captures[1], ERROR_MARK,
    2587              :  NULL_TREE, NULL_TREE, captures[2], bitop, captures[3],
    2588              :  captures[4], pmop);
    2589          355 :       if (utype
    2590              : )
    2591              :         {
    2592          354 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail845;
    2593          354 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail845;
    2594          354 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail845;
    2595          354 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail845;
    2596          354 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail845;
    2597          354 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail845;
    2598          354 :           {
    2599          354 :             tree res_op0;
    2600          354 :             {
    2601          354 :               tree _o1[2], _r1;
    2602          354 :               {
    2603          354 :                 tree _o2[2], _r2;
    2604          354 :                 {
    2605          354 :                   tree _o3[1], _r3;
    2606          354 :                   _o3[0] =  pmop[0];
    2607          354 :                   if (TREE_TYPE (_o3[0]) != utype)
    2608              :                     {
    2609           14 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2610              :                     }
    2611              :                   else
    2612              :                     _r3 = _o3[0];
    2613          354 :                   _o2[0] = _r3;
    2614              :                 }
    2615          354 :                 {
    2616          354 :                   tree _o3[1], _r3;
    2617          354 :                   _o3[0] =  pmop[1];
    2618          354 :                   if (TREE_TYPE (_o3[0]) != utype)
    2619              :                     {
    2620           74 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2621              :                     }
    2622              :                   else
    2623              :                     _r3 = _o3[0];
    2624          354 :                   _o2[1] = _r3;
    2625              :                 }
    2626          354 :                 _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2627          354 :                 _o1[0] = _r2;
    2628              :               }
    2629          354 :               {
    2630          354 :                 tree _o2[1], _r2;
    2631          354 :                 _o2[0] = captures[5];
    2632          354 :                 if (TREE_TYPE (_o2[0]) != utype)
    2633              :                   {
    2634           14 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2635              :                   }
    2636              :                 else
    2637              :                   _r2 = _o2[0];
    2638          354 :                 _o1[1] = _r2;
    2639              :               }
    2640          354 :               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2641          354 :               res_op0 = _r1;
    2642              :             }
    2643          354 :             tree _r;
    2644          354 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2645          354 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 695, __FILE__, __LINE__, true);
    2646          354 :             return _r;
    2647              :           }
    2648            1 : next_after_fail845:;
    2649              :         }
    2650              :   }
    2651            1 :   return NULL_TREE;
    2652              : }
    2653              : 
    2654              : tree
    2655          162 : generic_simplify_503 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2656              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2657              :  const enum tree_code ARG_UNUSED (code2),
    2658              :  const enum tree_code ARG_UNUSED (code1))
    2659              : {
    2660          162 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2661          162 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2662           50 :  && TREE_CODE (captures[4]) == INTEGER_CST)
    2663          162 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2664           14 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[2]))
    2665           10 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[2])))
    2666            4 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2667           10 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2668          102 :  && operand_equal_p (captures[2], captures[4]))
    2669              : )
    2670              :     {
    2671           54 :       {
    2672           54 :  int cmp = 0;
    2673           54 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2674           50 :  && TREE_CODE (captures[4]) == INTEGER_CST)
    2675           50 :  cmp = tree_int_cst_compare (captures[2], captures[4]);
    2676           54 :           if ((code1 == LT_EXPR || code1 == LE_EXPR)
    2677            4 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
    2678              : )
    2679              :             {
    2680            0 :               if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
    2681              : )
    2682              :                 {
    2683            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail875;
    2684            0 :                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail875;
    2685            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail875;
    2686            0 :                   {
    2687            0 :                     tree _r;
    2688            0 :                     _r = captures[0];
    2689            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 717, __FILE__, __LINE__, true);
    2690              :                     return _r;
    2691              :                   }
    2692          162 : next_after_fail875:;
    2693              :                 }
    2694              :               else
    2695              :                 {
    2696            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail876;
    2697            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail876;
    2698            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail876;
    2699            0 :                   {
    2700            0 :                     tree _r;
    2701            0 :                     _r = captures[3];
    2702            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 718, __FILE__, __LINE__, true);
    2703              :                     return _r;
    2704              :                   }
    2705          162 : next_after_fail876:;
    2706              :                 }
    2707              :             }
    2708              :           else
    2709              :             {
    2710           54 :               if ((code1 == GT_EXPR || code1 == GE_EXPR)
    2711           50 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
    2712              : )
    2713              :                 {
    2714            0 :                   if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
    2715              : )
    2716              :                     {
    2717            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail877;
    2718            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail877;
    2719            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail877;
    2720            0 :                       {
    2721            0 :                         tree _r;
    2722            0 :                         _r = captures[0];
    2723            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 719, __FILE__, __LINE__, true);
    2724              :                         return _r;
    2725              :                       }
    2726          162 : next_after_fail877:;
    2727              :                     }
    2728              :                   else
    2729              :                     {
    2730            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail878;
    2731            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail878;
    2732            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail878;
    2733            0 :                       {
    2734            0 :                         tree _r;
    2735            0 :                         _r = captures[3];
    2736            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 720, __FILE__, __LINE__, true);
    2737              :                         return _r;
    2738              :                       }
    2739          162 : next_after_fail878:;
    2740              :                     }
    2741              :                 }
    2742              :               else
    2743              :                 {
    2744           54 :                   if (cmp == 0
    2745            4 :  && ((code1 == LE_EXPR && code2 == GE_EXPR)
    2746            4 :  || (code1 == GE_EXPR && code2 == LE_EXPR))
    2747              : )
    2748              :                     {
    2749            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail879;
    2750            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail879;
    2751            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail879;
    2752            0 :                       {
    2753            0 :                         tree res_op0;
    2754            0 :                         res_op0 = captures[1];
    2755            0 :                         tree res_op1;
    2756            0 :                         res_op1 = captures[2];
    2757            0 :                         tree _r;
    2758            0 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2759            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 721, __FILE__, __LINE__, true);
    2760              :                         return _r;
    2761              :                       }
    2762          162 : next_after_fail879:;
    2763              :                     }
    2764              :                   else
    2765              :                     {
    2766           54 :                       if (cmp <= 0
    2767           53 :  && (code1 == LT_EXPR || code1 == LE_EXPR)
    2768            4 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
    2769              : )
    2770              :                         {
    2771            4 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail880;
    2772            4 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail880;
    2773            4 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail880;
    2774            4 :                           {
    2775            4 :                             tree _r;
    2776            4 :                             _r =  constant_boolean_node (false, type);
    2777            4 :                             if (TREE_SIDE_EFFECTS (captures[1]))
    2778            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2779            4 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 722, __FILE__, __LINE__, true);
    2780              :                             return _r;
    2781              :                           }
    2782          162 : next_after_fail880:;
    2783              :                         }
    2784              :                       else
    2785              :                         {
    2786           49 :                           if (cmp >= 0
    2787            1 :  && (code1 == GT_EXPR || code1 == GE_EXPR)
    2788            1 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
    2789              : )
    2790              :                             {
    2791            1 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail881;
    2792            1 :                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail881;
    2793            1 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail881;
    2794            1 :                               {
    2795            1 :                                 tree _r;
    2796            1 :                                 _r =  constant_boolean_node (false, type);
    2797            1 :                                 if (TREE_SIDE_EFFECTS (captures[1]))
    2798            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2799            1 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 723, __FILE__, __LINE__, true);
    2800              :                                 return _r;
    2801              :                               }
    2802          162 : next_after_fail881:;
    2803              :                             }
    2804              :                         }
    2805              :                     }
    2806              :                 }
    2807              :             }
    2808              :       }
    2809              :     }
    2810              :   return NULL_TREE;
    2811              : }
    2812              : 
    2813              : tree
    2814           34 : generic_simplify_520 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2815              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2816              :  const combined_fn ARG_UNUSED (bswap))
    2817              : {
    2818           34 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2819           34 :   if (BITS_PER_UNIT == 8
    2820           34 :  && tree_fits_uhwi_p (captures[2])
    2821           34 :  && tree_to_uhwi (captures[2]) < 256
    2822              : )
    2823              :     {
    2824           32 :       {
    2825           32 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[0]));
    2826           32 :  tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
    2827           32 :  tree nst = build_int_cst (integer_type_node, prec - 8);
    2828           32 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail921;
    2829           32 :           {
    2830           32 :             tree res_op0;
    2831           32 :             {
    2832           32 :               tree _o1[1], _r1;
    2833           32 :               {
    2834           32 :                 tree _o2[2], _r2;
    2835           32 :                 {
    2836           32 :                   tree _o3[1], _r3;
    2837           32 :                   _o3[0] = captures[1];
    2838           32 :                   if (TREE_TYPE (_o3[0]) != utype)
    2839              :                     {
    2840            0 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2841              :                     }
    2842              :                   else
    2843              :                     _r3 = _o3[0];
    2844           32 :                   _o2[0] = _r3;
    2845              :                 }
    2846           32 :                 _o2[1] = nst;
    2847           32 :                 _r2 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o2[0], _o2[1]);
    2848           32 :                 _o1[0] = _r2;
    2849              :               }
    2850           32 :               if (TREE_TYPE (_o1[0]) != type)
    2851              :                 {
    2852           18 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2853              :                 }
    2854              :               else
    2855              :                 _r1 = _o1[0];
    2856           32 :               res_op0 = _r1;
    2857              :             }
    2858           32 :             tree res_op1;
    2859           32 :             res_op1 = captures[2];
    2860           32 :             tree _r;
    2861           32 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2862           32 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 733, __FILE__, __LINE__, true);
    2863              :             return _r;
    2864              :           }
    2865            0 : next_after_fail921:;
    2866              :       }
    2867              :     }
    2868              :   return NULL_TREE;
    2869              : }
    2870              : 
    2871              : tree
    2872            3 : generic_simplify_523 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2873              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2874              :  const combined_fn ARG_UNUSED (POPCOUNT),
    2875              :  const combined_fn ARG_UNUSED (PARITY))
    2876              : {
    2877            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2878            3 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail925;
    2879            3 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail925;
    2880            3 :   {
    2881            3 :     tree res_op0;
    2882            3 :     res_op0 = captures[0];
    2883            3 :     tree _r;
    2884            3 :     _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
    2885            3 :     if (!_r)
    2886            0 :       goto next_after_fail925;
    2887            3 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 737, __FILE__, __LINE__, true);
    2888              :     return _r;
    2889              :   }
    2890            3 : next_after_fail925:;
    2891              :   return NULL_TREE;
    2892              : }
    2893              : 
    2894              : tree
    2895         3849 : generic_simplify_528 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2896              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2897              : {
    2898         3849 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2899         3849 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
    2900         3849 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2901              : )
    2902              :     {
    2903         3385 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail930;
    2904         3385 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail930;
    2905         3385 :       {
    2906         3385 :         tree res_op0;
    2907         3385 :         {
    2908         3385 :           tree _o1[1], _r1;
    2909         3385 :           _o1[0] = captures[0];
    2910         3385 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2911         3385 :           res_op0 = _r1;
    2912              :         }
    2913         3385 :         tree _r;
    2914         3385 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2915         3385 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 742, __FILE__, __LINE__, true);
    2916              :         return _r;
    2917              :       }
    2918         3849 : next_after_fail930:;
    2919              :     }
    2920              :   return NULL_TREE;
    2921              : }
    2922              : 
    2923              : tree
    2924            2 : generic_simplify_536 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2925              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2926              :  const enum tree_code ARG_UNUSED (rotate))
    2927              : {
    2928            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2929            2 :   if ((element_precision (TREE_TYPE (captures[2]))
    2930            2 :  <= element_precision (TREE_TYPE (captures[3]))
    2931            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2932            2 :  && (element_precision (type) <= element_precision (TREE_TYPE (captures[2]))
    2933            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
    2934              : )
    2935              :     {
    2936            2 :       {
    2937            2 :  tree rotate_type = TREE_TYPE (captures[2]);
    2938            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail938;
    2939            2 :           {
    2940            2 :             tree res_op0;
    2941            2 :             {
    2942            2 :               tree _o1[2], _r1;
    2943            2 :               {
    2944            2 :                 tree _o2[1], _r2;
    2945            2 :                 _o2[0] = captures[3];
    2946            2 :                 if (TREE_TYPE (_o2[0]) != rotate_type)
    2947              :                   {
    2948            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, rotate_type, _o2[0]);
    2949              :                   }
    2950              :                 else
    2951              :                   _r2 = _o2[0];
    2952            2 :                 _o1[0] = _r2;
    2953              :               }
    2954            2 :               _o1[1] = captures[4];
    2955            2 :               _r1 = fold_build2_loc (loc, rotate, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2956            2 :               res_op0 = _r1;
    2957              :             }
    2958            2 :             tree _r;
    2959            2 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2960            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 747, __FILE__, __LINE__, true);
    2961              :             return _r;
    2962              :           }
    2963            0 : next_after_fail938:;
    2964              :       }
    2965              :     }
    2966              :   return NULL_TREE;
    2967              : }
    2968              : 
    2969              : tree
    2970            6 : generic_simplify_549 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2971              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2972              :  const enum tree_code ARG_UNUSED (minmax),
    2973              :  const enum tree_code ARG_UNUSED (maxmin))
    2974              : {
    2975            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2976            6 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail953;
    2977            6 :   {
    2978            6 :     tree _r;
    2979            6 :     _r = captures[1];
    2980            6 :     if (TREE_SIDE_EFFECTS (captures[0]))
    2981            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2982            6 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 762, __FILE__, __LINE__, true);
    2983              :     return _r;
    2984              :   }
    2985            0 : next_after_fail953:;
    2986            0 :   return NULL_TREE;
    2987              : }
    2988              : 
    2989              : tree
    2990            0 : generic_simplify_558 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2991              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2992              :  const enum tree_code ARG_UNUSED (minmax),
    2993              :  const enum tree_code ARG_UNUSED (cmp))
    2994              : {
    2995            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2996            0 :   {
    2997            0 :  poly_int64 off0, off1;
    2998            0 :  tree base0, base1;
    2999            0 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    3000              :  off0, off1,
    3001              : 1
    3002              : );
    3003            0 :       if (equal == 1
    3004              : )
    3005              :         {
    3006            0 :           if (minmax == MIN_EXPR
    3007              : )
    3008              :             {
    3009            0 :               if (known_le (off0, off1)
    3010              : )
    3011              :                 {
    3012            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail967;
    3013            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail967;
    3014            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail967;
    3015            0 :                   {
    3016            0 :                     tree _r;
    3017            0 :                     _r = captures[0];
    3018            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 772, __FILE__, __LINE__, true);
    3019            0 :                     return _r;
    3020              :                   }
    3021            0 : next_after_fail967:;
    3022              :                 }
    3023              :               else
    3024              :                 {
    3025            0 :                   if (known_gt (off0, off1)
    3026              : )
    3027              :                     {
    3028            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail968;
    3029            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail968;
    3030            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail968;
    3031            0 :                       {
    3032            0 :                         tree _r;
    3033            0 :                         _r = captures[2];
    3034            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 773, __FILE__, __LINE__, true);
    3035              :                         return _r;
    3036              :                       }
    3037            0 : next_after_fail968:;
    3038              :                     }
    3039              :                 }
    3040              :             }
    3041              :           else
    3042              :             {
    3043            0 :               if (known_ge (off0, off1)
    3044              : )
    3045              :                 {
    3046            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail969;
    3047            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail969;
    3048            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail969;
    3049            0 :                   {
    3050            0 :                     tree _r;
    3051            0 :                     _r = captures[0];
    3052            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 774, __FILE__, __LINE__, true);
    3053              :                     return _r;
    3054              :                   }
    3055            0 : next_after_fail969:;
    3056              :                 }
    3057              :               else
    3058              :                 {
    3059            0 :                   if (known_lt (off0, off1)
    3060              : )
    3061              :                     {
    3062            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail970;
    3063            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail970;
    3064            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail970;
    3065            0 :                       {
    3066            0 :                         tree _r;
    3067            0 :                         _r = captures[2];
    3068            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 775, __FILE__, __LINE__, true);
    3069              :                         return _r;
    3070              :                       }
    3071            0 : next_after_fail970:;
    3072              :                     }
    3073              :                 }
    3074              :             }
    3075              :         }
    3076              :   }
    3077            0 :   return NULL_TREE;
    3078              : }
    3079              : 
    3080              : tree
    3081            0 : generic_simplify_576 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3082              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3083              :  const combined_fn ARG_UNUSED (cond_op))
    3084              : {
    3085            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3086            0 :   {
    3087            0 :  tree op_type = TREE_TYPE (captures[4]);
    3088            0 :       if (element_precision (type) == element_precision (op_type)
    3089              : )
    3090              :         {
    3091            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail994;
    3092            0 :           {
    3093            0 :             tree res_op0;
    3094            0 :             {
    3095            0 :               tree _o1[5], _r1;
    3096            0 :               _o1[0] = captures[0];
    3097            0 :               _o1[1] = captures[1];
    3098            0 :               _o1[2] = captures[2];
    3099            0 :               _o1[3] = captures[3];
    3100            0 :               {
    3101            0 :                 tree _o2[1], _r2;
    3102            0 :                 _o2[0] = captures[5];
    3103            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    3104              :                   {
    3105            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    3106              :                   }
    3107              :                 else
    3108              :                   _r2 = _o2[0];
    3109            0 :                 _o1[4] = _r2;
    3110              :               }
    3111            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 5, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
    3112            0 :               if (!_r1)
    3113            0 :                 goto next_after_fail994;
    3114            0 :               res_op0 = _r1;
    3115              :             }
    3116            0 :             tree _r;
    3117            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3118            0 :             if (TREE_SIDE_EFFECTS (captures[4]))
    3119            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3120            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 787, __FILE__, __LINE__, true);
    3121              :             return _r;
    3122              :           }
    3123            0 : next_after_fail994:;
    3124              :         }
    3125              :   }
    3126              :   return NULL_TREE;
    3127              : }
    3128              : 
    3129              : tree
    3130            0 : generic_simplify_585 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3131              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    3132              :  const enum tree_code ARG_UNUSED (rotate),
    3133              :  const enum tree_code ARG_UNUSED (orotate))
    3134              : {
    3135            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3136            0 :   {
    3137            0 :  auto prec = element_precision (TREE_TYPE (captures[0]));
    3138            0 :       if (prec == wi::to_wide (captures[2])
    3139              : )
    3140              :         {
    3141            0 :           if (expr_not_equal_to (captures[3], wi::uhwi (prec,
    3142            0 :  TYPE_PRECISION (TREE_TYPE (captures[3]))),
    3143              :  gimple_match_ctx (captures[1]))
    3144              : )
    3145              :             {
    3146            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1003;
    3147            0 :               {
    3148            0 :                 tree res_op0;
    3149            0 :                 res_op0 = captures[0];
    3150            0 :                 tree res_op1;
    3151            0 :                 res_op1 = captures[3];
    3152            0 :                 tree _r;
    3153            0 :                 _r = fold_build2_loc (loc, orotate, type, res_op0, res_op1);
    3154            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    3155            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3156            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 796, __FILE__, __LINE__, true);
    3157            0 :                 return _r;
    3158              :               }
    3159            0 : next_after_fail1003:;
    3160              :             }
    3161              :           else
    3162              :             {
    3163            0 :               if (single_use (captures[1])
    3164            0 :  && pow2p_hwi (prec)
    3165            0 :  && cfun
    3166            0 :  && (fold_before_rtl_expansion_p ()
    3167            0 :  || !flag_tree_vrp
    3168            0 :  || optimize_debug)
    3169              : )
    3170              :                 {
    3171            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1004;
    3172            0 :                   {
    3173            0 :                     tree res_op0;
    3174            0 :                     res_op0 = captures[0];
    3175            0 :                     tree res_op1;
    3176            0 :                     {
    3177            0 :                       tree _o1[2], _r1;
    3178            0 :                       _o1[0] = captures[3];
    3179            0 :                       _o1[1] =  build_int_cst (TREE_TYPE (captures[3]), prec - 1);
    3180            0 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3181            0 :                       res_op1 = _r1;
    3182              :                     }
    3183            0 :                     tree _r;
    3184            0 :                     _r = fold_build2_loc (loc, orotate, type, res_op0, res_op1);
    3185            0 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    3186            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3187            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 797, __FILE__, __LINE__, true);
    3188              :                     return _r;
    3189              :                   }
    3190            0 : next_after_fail1004:;
    3191              :                 }
    3192              :             }
    3193              :         }
    3194              :   }
    3195            0 :   return NULL_TREE;
    3196              : }
    3197              : 
    3198              : tree
    3199            0 : generic_simplify_607 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3200              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    3201              : {
    3202            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3203            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1028;
    3204            0 :   {
    3205            0 :     tree _r;
    3206            0 :     _r = captures[0];
    3207            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    3208            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3209            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 821, __FILE__, __LINE__, true);
    3210              :     return _r;
    3211              :   }
    3212            0 : next_after_fail1028:;
    3213            0 :   return NULL_TREE;
    3214              : }
    3215              : 
    3216              : tree
    3217            0 : generic_simplify_612 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3218              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3219              :  const combined_fn ARG_UNUSED (fns))
    3220              : {
    3221            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3222            0 :   if (canonicalize_math_p ()
    3223              : )
    3224              :     {
    3225            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1033;
    3226            0 :       {
    3227            0 :         tree res_op0;
    3228            0 :         res_op0 = captures[0];
    3229            0 :         tree _r;
    3230            0 :         _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3231            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 826, __FILE__, __LINE__, true);
    3232              :         return _r;
    3233              :       }
    3234            0 : next_after_fail1033:;
    3235              :     }
    3236              :   return NULL_TREE;
    3237              : }
    3238              : 
    3239              : tree
    3240            0 : generic_simplify_620 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3241              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3242              :  const combined_fn ARG_UNUSED (fmas))
    3243              : {
    3244            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3245            0 :   if (canonicalize_math_after_vectorization_p ()
    3246              : )
    3247              :     {
    3248              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1041;
    3249              :       {
    3250              :         tree res_op0;
    3251              :         res_op0 = captures[0];
    3252              :         tree res_op1;
    3253              :         res_op1 = captures[1];
    3254              :         tree res_op2;
    3255              :         res_op2 = captures[2];
    3256              :         tree _r;
    3257              :         _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3258              :         if (!_r)
    3259              :           goto next_after_fail1041;
    3260              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 834, __FILE__, __LINE__, true);
    3261              :         return _r;
    3262              :       }
    3263            0 : next_after_fail1041:;
    3264              :     }
    3265            0 :   return NULL_TREE;
    3266              : }
    3267              : 
    3268              : tree
    3269            0 : generic_simplify_630 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3270              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3271              : {
    3272            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3273            0 :   if (canonicalize_math_after_vectorization_p ()
    3274              : )
    3275              :     {
    3276              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1051;
    3277              :       {
    3278              :         tree res_op0;
    3279              :         res_op0 = captures[0];
    3280              :         tree res_op1;
    3281              :         res_op1 = captures[1];
    3282              :         tree res_op2;
    3283              :         res_op2 = captures[2];
    3284              :         tree res_op3;
    3285              :         res_op3 = captures[3];
    3286              :         tree res_op4;
    3287              :         res_op4 = captures[4];
    3288              :         tree _r;
    3289              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3290              :         if (!_r)
    3291              :           goto next_after_fail1051;
    3292              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 844, __FILE__, __LINE__, true);
    3293              :         return _r;
    3294              :       }
    3295            0 : next_after_fail1051:;
    3296              :     }
    3297            0 :   return NULL_TREE;
    3298              : }
    3299              : 
    3300              : tree
    3301            0 : generic_simplify_639 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3302              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3303              :  const combined_fn ARG_UNUSED (ctz))
    3304              : {
    3305            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3306            0 :   {
    3307            0 :  tree t = TREE_TYPE (captures[0]);
    3308            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1060;
    3309            0 :       {
    3310            0 :         tree res_op0;
    3311            0 :         {
    3312            0 :           tree _o1[1], _r1;
    3313            0 :           _o1[0] = captures[1];
    3314            0 :           if (TREE_TYPE (_o1[0]) != t)
    3315              :             {
    3316            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3317              :             }
    3318              :           else
    3319              :             _r1 = _o1[0];
    3320            0 :           res_op0 = _r1;
    3321              :         }
    3322            0 :         tree _r;
    3323            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3324            0 :         if (!_r)
    3325            0 :           goto next_after_fail1060;
    3326            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 850, __FILE__, __LINE__, true);
    3327              :         return _r;
    3328              :       }
    3329            0 : next_after_fail1060:;
    3330              :   }
    3331              :   return NULL_TREE;
    3332              : }
    3333              : 
    3334              : tree
    3335            0 : generic_simplify_649 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3336              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3337              :  const combined_fn ARG_UNUSED (bswap),
    3338              :  const combined_fn ARG_UNUSED (parity))
    3339              : {
    3340            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3341            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3342            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3343            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3344            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3345              : )
    3346              :     {
    3347            0 :       {
    3348            0 :  tree type0 = TREE_TYPE (captures[0]);
    3349            0 :  tree type1 = TREE_TYPE (captures[1]);
    3350            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1072;
    3351            0 :           {
    3352            0 :             tree res_op0;
    3353            0 :             {
    3354            0 :               tree _o1[1], _r1;
    3355            0 :               {
    3356            0 :                 tree _o2[1], _r2;
    3357            0 :                 _o2[0] = captures[2];
    3358            0 :                 if (TREE_TYPE (_o2[0]) != type1)
    3359              :                   {
    3360            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3361              :                   }
    3362              :                 else
    3363              :                   _r2 = _o2[0];
    3364            0 :                 _o1[0] = _r2;
    3365              :               }
    3366            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3367              :                 {
    3368            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3369              :                 }
    3370              :               else
    3371              :                 _r1 = _o1[0];
    3372            0 :               res_op0 = _r1;
    3373              :             }
    3374            0 :             tree _r;
    3375            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3376            0 :             if (!_r)
    3377            0 :               goto next_after_fail1072;
    3378            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 858, __FILE__, __LINE__, true);
    3379              :             return _r;
    3380              :           }
    3381            0 : next_after_fail1072:;
    3382              :       }
    3383              :     }
    3384              :   return NULL_TREE;
    3385              : }
    3386              : 
    3387              : tree
    3388      4353536 : generic_simplify_NEGATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3389              : {
    3390      4353536 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3391      4353536 :   switch (TREE_CODE (_p0))
    3392              :     {
    3393        41701 :     case PLUS_EXPR:
    3394        41701 :       {
    3395        41701 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3396        41701 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3397        41701 :         if (tree_negate_expr_p (_q21))
    3398              :           {
    3399        39601 :             {
    3400        39601 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3401        39601 :               tree res = generic_simplify_538 (loc, type, _p0, captures);
    3402        39601 :               if (res) return res;
    3403              :             }
    3404              :           }
    3405         2100 :         if (tree_negate_expr_p (_q20))
    3406              :           {
    3407           17 :             {
    3408           17 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    3409           17 :               tree res = generic_simplify_538 (loc, type, _p0, captures);
    3410           17 :               if (res) return res;
    3411              :             }
    3412              :           }
    3413              :         break;
    3414              :       }
    3415       117817 :     case MINUS_EXPR:
    3416       117817 :       {
    3417       117817 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3418       117817 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3419       117817 :         {
    3420       117817 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3421       117817 :           if ((ANY_INTEGRAL_TYPE_P (type) && !TYPE_OVERFLOW_SANITIZED (type))
    3422       195728 :  || (FLOAT_TYPE_P (type)
    3423        77911 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3424        77911 :  && !HONOR_SIGNED_ZEROS (type))
    3425              : )
    3426              :             {
    3427        39963 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1119;
    3428        39963 :               {
    3429        39963 :                 tree res_op0;
    3430        39963 :                 res_op0 = captures[1];
    3431        39963 :                 tree res_op1;
    3432        39963 :                 res_op1 = captures[0];
    3433        39963 :                 tree _r;
    3434        39963 :                 _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3435        39963 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    3436              :                 return _r;
    3437              :               }
    3438            0 : next_after_fail1119:;
    3439              :             }
    3440              :         }
    3441              :         break;
    3442              :       }
    3443           16 :     case POINTER_DIFF_EXPR:
    3444           16 :       {
    3445           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3446           16 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3447           16 :         {
    3448           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3449           16 :           tree res = generic_simplify_539 (loc, type, _p0, captures);
    3450           16 :           if (res) return res;
    3451              :         }
    3452            0 :         break;
    3453              :       }
    3454         5752 :     case MULT_EXPR:
    3455         5752 :       {
    3456         5752 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3457         5752 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3458         5752 :         if (tree_negate_expr_p (_q21))
    3459              :           {
    3460         1808 :             {
    3461         1808 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3462         1808 :               tree res = generic_simplify_542 (loc, type, _p0, captures);
    3463         1808 :               if (res) return res;
    3464              :             }
    3465              :           }
    3466         4339 :         if (tree_negate_expr_p (_q20))
    3467              :           {
    3468           35 :             {
    3469           35 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    3470           35 :               tree res = generic_simplify_542 (loc, type, _p0, captures);
    3471           35 :               if (res) return res;
    3472              :             }
    3473              :           }
    3474              :         break;
    3475              :       }
    3476          188 :     case RDIV_EXPR:
    3477          188 :       {
    3478          188 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3479          188 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3480          188 :         if (tree_negate_expr_p (_q21))
    3481              :           {
    3482           60 :             {
    3483           60 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3484           60 :               if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3485           60 :  && single_use (captures[0])
    3486              : )
    3487              :                 {
    3488           60 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1120;
    3489           60 :                   {
    3490           60 :                     tree res_op0;
    3491           60 :                     res_op0 = captures[1];
    3492           60 :                     tree res_op1;
    3493           60 :                     {
    3494           60 :                       tree _o1[1], _r1;
    3495           60 :                       _o1[0] = captures[2];
    3496           60 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3497           60 :                       res_op1 = _r1;
    3498              :                     }
    3499           60 :                     tree _r;
    3500           60 :                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    3501           60 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
    3502              :                     return _r;
    3503              :                   }
    3504            0 : next_after_fail1120:;
    3505              :                 }
    3506              :             }
    3507              :           }
    3508          128 :         if (tree_negate_expr_p (_q20))
    3509              :           {
    3510            0 :             {
    3511            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3512            0 :               if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3513            0 :  && single_use (captures[0])
    3514              : )
    3515              :                 {
    3516            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1121;
    3517            0 :                   {
    3518            0 :                     tree res_op0;
    3519            0 :                     {
    3520            0 :                       tree _o1[1], _r1;
    3521            0 :                       _o1[0] = captures[1];
    3522            0 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3523            0 :                       res_op0 = _r1;
    3524              :                     }
    3525            0 :                     tree res_op1;
    3526            0 :                     res_op1 = captures[2];
    3527            0 :                     tree _r;
    3528            0 :                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    3529            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    3530              :                     return _r;
    3531              :                   }
    3532            0 : next_after_fail1121:;
    3533              :                 }
    3534              :             }
    3535              :           }
    3536              :         break;
    3537              :       }
    3538      1386128 :     CASE_CONVERT:
    3539      1386128 :       {
    3540      1386128 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3541      1386128 :         switch (TREE_CODE (_q20))
    3542              :           {
    3543           64 :           case RSHIFT_EXPR:
    3544           64 :             {
    3545           64 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3546           64 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3547           64 :               switch (TREE_CODE (_q31))
    3548              :                 {
    3549           49 :                 case INTEGER_CST:
    3550           49 :                   {
    3551           49 :                     {
    3552           49 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    3553           49 :                       tree res = generic_simplify_543 (loc, type, _p0, captures);
    3554           49 :                       if (res) return res;
    3555              :                     }
    3556           42 :                     break;
    3557              :                   }
    3558              :                 default:;
    3559              :                 }
    3560              :               break;
    3561              :             }
    3562          214 :           case NEGATE_EXPR:
    3563          214 :             {
    3564          214 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3565          214 :               {
    3566          214 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3567          214 :                 if (!TYPE_SATURATING (type)
    3568              : )
    3569              :                   {
    3570          214 :                     if (INTEGRAL_TYPE_P (type)
    3571          214 :  && (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
    3572           23 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    3573           44 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    3574          213 :  && !TYPE_OVERFLOW_SANITIZED (type)
    3575          449 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    3576              : )
    3577              :                       {
    3578          213 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1122;
    3579          213 :                         {
    3580          213 :                           tree res_op0;
    3581          213 :                           res_op0 = captures[0];
    3582          213 :                           tree _r;
    3583          213 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3584          213 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    3585      4353536 :                           return _r;
    3586              :                         }
    3587            0 : next_after_fail1122:;
    3588              :                       }
    3589              :                   }
    3590              :               }
    3591              :               break;
    3592              :             }
    3593      1385908 :           default:;
    3594              :           }
    3595      1385908 :       {
    3596      1385908 :         tree _q20_pops[1];
    3597      1385908 :         if (tree_logical_inverted_value (_q20, _q20_pops))
    3598              :           {
    3599            1 :             tree _q30 = _q20_pops[0];
    3600            1 :             {
    3601            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3602            1 :               if (INTEGRAL_TYPE_P (type)
    3603            1 :  && TREE_CODE (type) != BOOLEAN_TYPE
    3604            1 :  && TYPE_PRECISION (type) > 1
    3605            1 :  && TREE_CODE (captures[2]) == SSA_NAME
    3606            1 :  && ssa_name_has_boolean_range (captures[2])
    3607              : )
    3608              :                 {
    3609            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1123;
    3610            0 :                   {
    3611            0 :                     tree res_op0;
    3612            0 :                     {
    3613            0 :                       tree _o1[1], _r1;
    3614            0 :                       _o1[0] = captures[2];
    3615            0 :                       if (TREE_TYPE (_o1[0]) != type)
    3616              :                         {
    3617            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3618              :                         }
    3619              :                       else
    3620              :                         _r1 = _o1[0];
    3621            0 :                       res_op0 = _r1;
    3622              :                     }
    3623            0 :                     tree res_op1;
    3624            0 :                     res_op1 =  build_all_ones_cst (type);
    3625            0 :                     tree _r;
    3626            0 :                     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3627            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    3628            0 :                     return _r;
    3629              :                   }
    3630            0 : next_after_fail1123:;
    3631              :                 }
    3632              :             }
    3633              :           }
    3634              :       }
    3635      1385908 :       if (tree_negate_expr_p (_q20))
    3636              :         {
    3637         2573 :           {
    3638         2573 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3639         2573 :             if (!TYPE_SATURATING (type)
    3640              : )
    3641              :               {
    3642         2573 :                 if (SCALAR_FLOAT_TYPE_P (type)
    3643         2573 :  && ((DECIMAL_FLOAT_TYPE_P (type)
    3644            0 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    3645            0 :  && TYPE_PRECISION (type) >= TYPE_PRECISION (TREE_TYPE (captures[0])))
    3646            0 :  || !HONOR_SIGN_DEPENDENT_ROUNDING (type))
    3647              : )
    3648              :                   {
    3649            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1124;
    3650            0 :                     {
    3651            0 :                       tree res_op0;
    3652            0 :                       {
    3653            0 :                         tree _o1[1], _r1;
    3654            0 :                         _o1[0] = captures[0];
    3655            0 :                         _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3656            0 :                         res_op0 = _r1;
    3657              :                       }
    3658            0 :                       tree _r;
    3659            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3660            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    3661      4353536 :                       return _r;
    3662              :                     }
    3663            0 : next_after_fail1124:;
    3664              :                   }
    3665              :               }
    3666              :           }
    3667              :         }
    3668              :         break;
    3669              :       }
    3670          385 :     case RSHIFT_EXPR:
    3671          385 :       {
    3672          385 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3673          385 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3674          385 :         switch (TREE_CODE (_q21))
    3675              :           {
    3676          367 :           case INTEGER_CST:
    3677          367 :             {
    3678          367 :               {
    3679          367 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3680          367 :                 tree res = generic_simplify_543 (loc, type, _p0, captures);
    3681          367 :                 if (res) return res;
    3682              :               }
    3683          330 :               break;
    3684              :             }
    3685              :           default:;
    3686              :           }
    3687              :         break;
    3688              :       }
    3689          147 :     case BIT_NOT_EXPR:
    3690          147 :       {
    3691          147 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3692          147 :         {
    3693          147 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3694          147 :           tree res = generic_simplify_540 (loc, type, _p0, captures);
    3695          147 :           if (res) return res;
    3696              :         }
    3697            0 :         break;
    3698              :       }
    3699         3891 :     case NEGATE_EXPR:
    3700         3891 :       {
    3701         3891 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3702         3891 :         {
    3703         3891 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3704         3891 :           tree res = generic_simplify_541 (loc, type, _p0, captures);
    3705         3891 :           if (res) return res;
    3706              :         }
    3707           26 :         break;
    3708              :       }
    3709           72 :     case VEC_COND_EXPR:
    3710           72 :       {
    3711           72 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3712           72 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3713           72 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3714           72 :         {
    3715           72 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3716           72 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1125;
    3717           72 :           {
    3718           72 :             tree res_op0;
    3719           72 :             res_op0 = captures[1];
    3720           72 :             tree res_op1;
    3721           72 :             {
    3722           72 :               tree _o1[1], _r1;
    3723           72 :               _o1[0] = captures[2];
    3724           72 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, type, _o1[0]);
    3725           72 :               if (EXPR_P (_r1))
    3726            0 :                 goto next_after_fail1125;
    3727           72 :               res_op1 = _r1;
    3728              :             }
    3729           72 :             tree res_op2;
    3730           72 :             {
    3731           72 :               tree _o1[1], _r1;
    3732           72 :               _o1[0] = captures[3];
    3733           72 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, type, _o1[0]);
    3734           72 :               if (EXPR_P (_r1))
    3735            0 :                 goto next_after_fail1125;
    3736           72 :               res_op2 = _r1;
    3737              :             }
    3738           72 :             tree _r;
    3739           72 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3740           72 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 868, __FILE__, __LINE__, true);
    3741              :             return _r;
    3742              :           }
    3743      4268098 : next_after_fail1125:;
    3744              :         }
    3745              :         break;
    3746              :       }
    3747       277830 :     case CALL_EXPR:
    3748       277830 :       switch (get_call_combined_fn (_p0))
    3749              :         {
    3750           12 :         case CFN_BUILT_IN_FMA:
    3751           12 :           if (call_expr_nargs (_p0) == 3)
    3752              :     {
    3753           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3754           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3755           12 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3756           12 :               {
    3757           12 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3758           12 :                 tree res = generic_simplify_544 (loc, type, _p0, captures, CFN_BUILT_IN_FMA);
    3759           12 :                 if (res) return res;
    3760              :               }
    3761              :             }
    3762              :           break;
    3763            0 :         case CFN_COND_FMA:
    3764            0 :           if (call_expr_nargs (_p0) == 5)
    3765              :     {
    3766            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3767            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3768            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3769            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3770            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3771            0 :               {
    3772            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3773            0 :                 const combined_fn fmas = CFN_COND_FMA;
    3774            0 :                 if (canonicalize_math_after_vectorization_p ()
    3775              : )
    3776              :                   {
    3777              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3778              : )
    3779              :                       {
    3780              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1126;
    3781              :                         {
    3782              :                           tree res_op0;
    3783              :                           res_op0 = captures[1];
    3784              :                           tree res_op1;
    3785              :                           res_op1 = captures[2];
    3786              :                           tree res_op2;
    3787              :                           res_op2 = captures[3];
    3788              :                           tree res_op3;
    3789              :                           res_op3 = captures[4];
    3790              :                           tree res_op4;
    3791              :                           {
    3792              :                             tree _o1[1], _r1;
    3793              :                             _o1[0] = captures[5];
    3794              :                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3795              :                             res_op4 = _r1;
    3796              :                           }
    3797              :                           tree _r;
    3798              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3799              :                           if (!_r)
    3800              :                             goto next_after_fail1126;
    3801              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 902, __FILE__, __LINE__, true);
    3802              :                           return _r;
    3803              :                         }
    3804            0 : next_after_fail1126:;
    3805              :                       }
    3806              :                   }
    3807              :               }
    3808              :             }
    3809              :           break;
    3810            0 :         case CFN_COND_FMS:
    3811            0 :           if (call_expr_nargs (_p0) == 5)
    3812              :     {
    3813            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3814            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3815            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3816            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3817            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3818            0 :               {
    3819            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3820            0 :                 if (canonicalize_math_after_vectorization_p ()
    3821              : )
    3822              :                   {
    3823              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3824              : )
    3825              :                       {
    3826              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1127;
    3827              :                         {
    3828              :                           tree res_op0;
    3829              :                           res_op0 = captures[1];
    3830              :                           tree res_op1;
    3831              :                           res_op1 = captures[2];
    3832              :                           tree res_op2;
    3833              :                           res_op2 = captures[3];
    3834              :                           tree res_op3;
    3835              :                           res_op3 = captures[4];
    3836              :                           tree res_op4;
    3837              :                           {
    3838              :                             tree _o1[1], _r1;
    3839              :                             _o1[0] = captures[5];
    3840              :                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3841              :                             res_op4 = _r1;
    3842              :                           }
    3843              :                           tree _r;
    3844              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3845              :                           if (!_r)
    3846              :                             goto next_after_fail1127;
    3847              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 903, __FILE__, __LINE__, true);
    3848              :                           return _r;
    3849              :                         }
    3850            0 : next_after_fail1127:;
    3851              :                       }
    3852              :                   }
    3853              :               }
    3854              :             }
    3855              :           break;
    3856            4 :         case CFN_BUILT_IN_FMAF:
    3857            4 :           if (call_expr_nargs (_p0) == 3)
    3858              :     {
    3859            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3860            4 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3861            4 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3862            4 :               {
    3863            4 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3864            4 :                 tree res = generic_simplify_544 (loc, type, _p0, captures, CFN_BUILT_IN_FMAF);
    3865            4 :                 if (res) return res;
    3866              :               }
    3867              :             }
    3868              :           break;
    3869            0 :         case CFN_BUILT_IN_FMAL:
    3870            0 :           if (call_expr_nargs (_p0) == 3)
    3871              :     {
    3872            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3873            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3874            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3875            0 :               {
    3876            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3877            0 :                 tree res = generic_simplify_544 (loc, type, _p0, captures, CFN_BUILT_IN_FMAL);
    3878            0 :                 if (res) return res;
    3879              :               }
    3880              :             }
    3881              :           break;
    3882            0 :         case CFN_FMA:
    3883            0 :           if (call_expr_nargs (_p0) == 3)
    3884              :     {
    3885            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3886            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3887            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3888            0 :               {
    3889            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3890            0 :                 tree res = generic_simplify_544 (loc, type, _p0, captures, CFN_FMA);
    3891            0 :                 if (res) return res;
    3892              :               }
    3893              :             }
    3894              :           break;
    3895            0 :         case CFN_FMS:
    3896            0 :           if (call_expr_nargs (_p0) == 3)
    3897              :     {
    3898            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3899            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3900            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3901            0 :               {
    3902            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3903            0 :                 if (canonicalize_math_after_vectorization_p ()
    3904              : )
    3905              :                   {
    3906              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3907              : )
    3908              :                       {
    3909              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1128;
    3910              :                         {
    3911              :                           tree res_op0;
    3912              :                           res_op0 = captures[1];
    3913              :                           tree res_op1;
    3914              :                           res_op1 = captures[2];
    3915              :                           tree res_op2;
    3916              :                           res_op2 = captures[3];
    3917              :                           tree _r;
    3918              :                           _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3919              :                           if (!_r)
    3920              :                             goto next_after_fail1128;
    3921              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 904, __FILE__, __LINE__, true);
    3922              :                           return _r;
    3923              :                         }
    3924            0 : next_after_fail1128:;
    3925              :                       }
    3926              :                   }
    3927              :               }
    3928              :             }
    3929              :           break;
    3930            0 :         case CFN_COND_FNMA:
    3931            0 :           if (call_expr_nargs (_p0) == 5)
    3932              :     {
    3933            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3934            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3935            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3936            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3937            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3938            0 :               {
    3939            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3940            0 :                 if (canonicalize_math_after_vectorization_p ()
    3941              : )
    3942              :                   {
    3943              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3944              : )
    3945              :                       {
    3946              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1129;
    3947              :                         {
    3948              :                           tree res_op0;
    3949              :                           res_op0 = captures[1];
    3950              :                           tree res_op1;
    3951              :                           res_op1 = captures[2];
    3952              :                           tree res_op2;
    3953              :                           res_op2 = captures[3];
    3954              :                           tree res_op3;
    3955              :                           res_op3 = captures[4];
    3956              :                           tree res_op4;
    3957              :                           {
    3958              :                             tree _o1[1], _r1;
    3959              :                             _o1[0] = captures[5];
    3960              :                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3961              :                             res_op4 = _r1;
    3962              :                           }
    3963              :                           tree _r;
    3964              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3965              :                           if (!_r)
    3966              :                             goto next_after_fail1129;
    3967              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 905, __FILE__, __LINE__, true);
    3968              :                           return _r;
    3969              :                         }
    3970            0 : next_after_fail1129:;
    3971              :                       }
    3972              :                   }
    3973              :               }
    3974              :             }
    3975              :           break;
    3976            0 :         case CFN_COND_FNMS:
    3977            0 :           if (call_expr_nargs (_p0) == 5)
    3978              :     {
    3979            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3980            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3981            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3982            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3983            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3984            0 :               {
    3985            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3986            0 :                 if (canonicalize_math_after_vectorization_p ()
    3987              : )
    3988              :                   {
    3989              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3990              : )
    3991              :                       {
    3992              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1130;
    3993              :                         {
    3994              :                           tree res_op0;
    3995              :                           res_op0 = captures[1];
    3996              :                           tree res_op1;
    3997              :                           res_op1 = captures[2];
    3998              :                           tree res_op2;
    3999              :                           res_op2 = captures[3];
    4000              :                           tree res_op3;
    4001              :                           res_op3 = captures[4];
    4002              :                           tree res_op4;
    4003              :                           {
    4004              :                             tree _o1[1], _r1;
    4005              :                             _o1[0] = captures[5];
    4006              :                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    4007              :                             res_op4 = _r1;
    4008              :                           }
    4009              :                           tree _r;
    4010              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    4011              :                           if (!_r)
    4012              :                             goto next_after_fail1130;
    4013              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    4014              :                           return _r;
    4015              :                         }
    4016            0 : next_after_fail1130:;
    4017              :                       }
    4018              :                   }
    4019              :               }
    4020              :             }
    4021              :           break;
    4022            0 :         case CFN_FNMA:
    4023            0 :           if (call_expr_nargs (_p0) == 3)
    4024              :     {
    4025            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4026            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4027            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    4028            0 :               {
    4029            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    4030            0 :                 if (canonicalize_math_after_vectorization_p ()
    4031              : )
    4032              :                   {
    4033              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    4034              : )
    4035              :                       {
    4036              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1131;
    4037              :                         {
    4038              :                           tree res_op0;
    4039              :                           res_op0 = captures[1];
    4040              :                           tree res_op1;
    4041              :                           res_op1 = captures[2];
    4042              :                           tree res_op2;
    4043              :                           res_op2 = captures[3];
    4044              :                           tree _r;
    4045              :                           _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    4046              :                           if (!_r)
    4047              :                             goto next_after_fail1131;
    4048              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    4049              :                           return _r;
    4050              :                         }
    4051            0 : next_after_fail1131:;
    4052              :                       }
    4053              :                   }
    4054              :               }
    4055              :             }
    4056              :           break;
    4057            0 :         case CFN_FNMS:
    4058            0 :           if (call_expr_nargs (_p0) == 3)
    4059              :     {
    4060            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    4061            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    4062            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    4063            0 :               {
    4064            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    4065            0 :                 if (canonicalize_math_after_vectorization_p ()
    4066              : )
    4067              :                   {
    4068              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    4069              : )
    4070              :                       {
    4071              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1132;
    4072              :                         {
    4073              :                           tree res_op0;
    4074              :                           res_op0 = captures[1];
    4075              :                           tree res_op1;
    4076              :                           res_op1 = captures[2];
    4077              :                           tree res_op2;
    4078              :                           res_op2 = captures[3];
    4079              :                           tree _r;
    4080              :                           _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    4081              :                           if (!_r)
    4082              :                             goto next_after_fail1132;
    4083              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
    4084              :                           return _r;
    4085              :                         }
    4086            0 : next_after_fail1132:;
    4087              :                       }
    4088              :                   }
    4089              :               }
    4090              :             }
    4091              :           break;
    4092              :         default:;
    4093              :         }
    4094              :       break;
    4095      4268098 :     default:;
    4096              :     }
    4097      4268098 : {
    4098      4268098 :   tree _p0_pops[1];
    4099      4268098 :   if (tree_nop_convert (_p0, _p0_pops))
    4100              :     {
    4101      1603235 :       tree _q20 = _p0_pops[0];
    4102      1603235 :       switch (TREE_CODE (_q20))
    4103              :         {
    4104            0 :         case POINTER_DIFF_EXPR:
    4105            0 :           {
    4106            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4107            0 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4108            0 :             {
    4109            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    4110            0 :               tree res = generic_simplify_539 (loc, type, _p0, captures);
    4111            0 :               if (res) return res;
    4112              :             }
    4113            0 :             break;
    4114              :           }
    4115            0 :         case BIT_NOT_EXPR:
    4116            0 :           {
    4117            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4118            0 :             {
    4119            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    4120            0 :               tree res = generic_simplify_540 (loc, type, _p0, captures);
    4121            0 :               if (res) return res;
    4122              :             }
    4123            0 :             break;
    4124              :           }
    4125            0 :         case NEGATE_EXPR:
    4126            0 :           {
    4127            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4128            0 :             {
    4129            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    4130            0 :               tree res = generic_simplify_541 (loc, type, _p0, captures);
    4131            0 :               if (res) return res;
    4132              :             }
    4133            0 :             break;
    4134              :           }
    4135              :         default:;
    4136              :         }
    4137              :     }
    4138              : }
    4139      4268098 : {
    4140      4268098 :   tree _p0_pops[1];
    4141      4268098 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    4142              :     {
    4143           70 :       tree _q20 = _p0_pops[0];
    4144           70 :       {
    4145           70 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    4146           70 :         if (INTEGRAL_TYPE_P (type)
    4147           70 :  && TREE_CODE (type) != BOOLEAN_TYPE
    4148           70 :  && TYPE_PRECISION (type) > 1
    4149           70 :  && TREE_CODE (captures[2]) == SSA_NAME
    4150           70 :  && ssa_name_has_boolean_range (captures[2])
    4151              : )
    4152              :           {
    4153            0 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1133;
    4154            0 :             {
    4155            0 :               tree res_op0;
    4156            0 :               {
    4157            0 :                 tree _o1[1], _r1;
    4158            0 :                 _o1[0] = captures[2];
    4159            0 :                 if (TREE_TYPE (_o1[0]) != type)
    4160              :                   {
    4161            0 :                     _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4162              :                   }
    4163              :                 else
    4164              :                   _r1 = _o1[0];
    4165            0 :                 res_op0 = _r1;
    4166              :               }
    4167            0 :               tree res_op1;
    4168            0 :               res_op1 =  build_all_ones_cst (type);
    4169            0 :               tree _r;
    4170            0 :               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    4171            0 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    4172            0 :               return _r;
    4173              :             }
    4174            0 : next_after_fail1133:;
    4175              :           }
    4176              :       }
    4177              :     }
    4178              : }
    4179      4268098 :   {
    4180      4268098 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4181      4268098 :     tree res = generic_simplify_465 (loc, type, _p0, captures);
    4182      4268098 :     if (res) return res;
    4183              :   }
    4184      4254307 :   return NULL_TREE;
    4185              : }
    4186              : 
    4187              : tree
    4188     28253050 : generic_simplify_EQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4189              : {
    4190     28253050 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4191     28253050 :   switch (TREE_CODE (_p1))
    4192              :     {
    4193           95 :     case NEGATE_EXPR:
    4194           95 :       {
    4195           95 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4196           95 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4197              :           {
    4198            0 :             {
    4199            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4200            0 :               tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4201            0 :               if (res) return res;
    4202              :             }
    4203              :           }
    4204              :         break;
    4205              :       }
    4206     28253050 :     default:;
    4207              :     }
    4208     28253050 :   switch (TREE_CODE (_p0))
    4209              :     {
    4210         1306 :     case NEGATE_EXPR:
    4211         1306 :       {
    4212         1306 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4213         1306 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4214              :           {
    4215          101 :             {
    4216          101 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4217          101 :               tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4218          101 :               if (res) return res;
    4219              :             }
    4220              :           }
    4221              :         break;
    4222              :       }
    4223            0 :     case CEIL_MOD_EXPR:
    4224            0 :       {
    4225            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4226            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4227            0 :         if (integer_pow2p (_q21))
    4228              :           {
    4229            0 :             if (integer_zerop (_p1))
    4230              :               {
    4231            0 :                 {
    4232            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4233            0 :                   tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, EQ_EXPR, CEIL_MOD_EXPR);
    4234            0 :                   if (res) return res;
    4235              :                 }
    4236              :               }
    4237              :           }
    4238              :         break;
    4239              :       }
    4240          876 :     case FLOOR_MOD_EXPR:
    4241          876 :       {
    4242          876 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4243          876 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4244          876 :         if (integer_pow2p (_q21))
    4245              :           {
    4246           26 :             if (integer_zerop (_p1))
    4247              :               {
    4248           26 :                 {
    4249           26 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4250           26 :                   tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, EQ_EXPR, FLOOR_MOD_EXPR);
    4251           26 :                   if (res) return res;
    4252              :                 }
    4253              :               }
    4254              :           }
    4255              :         break;
    4256              :       }
    4257            0 :     case ROUND_MOD_EXPR:
    4258            0 :       {
    4259            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4260            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4261            0 :         if (integer_pow2p (_q21))
    4262              :           {
    4263            0 :             if (integer_zerop (_p1))
    4264              :               {
    4265            0 :                 {
    4266            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4267            0 :                   tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, EQ_EXPR, ROUND_MOD_EXPR);
    4268            0 :                   if (res) return res;
    4269              :                 }
    4270              :               }
    4271              :           }
    4272              :         break;
    4273              :       }
    4274        55108 :     case TRUNC_MOD_EXPR:
    4275        55108 :       {
    4276        55108 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4277        55108 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4278        55108 :         if (integer_pow2p (_q21))
    4279              :           {
    4280        40062 :             if (integer_zerop (_p1))
    4281              :               {
    4282          566 :                 {
    4283          566 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4284          566 :                   tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, EQ_EXPR, TRUNC_MOD_EXPR);
    4285          566 :                   if (res) return res;
    4286              :                 }
    4287              :               }
    4288              :           }
    4289              :         break;
    4290              :       }
    4291      5346640 :     CASE_CONVERT:
    4292      5346640 :       {
    4293      5346640 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4294      5346640 :         switch (TREE_CODE (_p1))
    4295              :           {
    4296            8 :           case LSHIFT_EXPR:
    4297            8 :             {
    4298            8 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4299            8 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4300            8 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4301              :                 {
    4302            0 :                   {
    4303            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4304            0 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4305            0 :                     if (res) return res;
    4306              :                   }
    4307              :                 }
    4308              :               break;
    4309              :             }
    4310      5346640 :           default:;
    4311              :           }
    4312      5346640 :       {
    4313      5346640 :         tree _p1_pops[1];
    4314      5346640 :         if (tree_nop_convert (_p1, _p1_pops))
    4315              :           {
    4316      1340826 :             tree _q40 = _p1_pops[0];
    4317      1340826 :             switch (TREE_CODE (_q40))
    4318              :               {
    4319            0 :               case LSHIFT_EXPR:
    4320            0 :                 {
    4321            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4322            0 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4323            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4324              :                     {
    4325            0 :                       {
    4326            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    4327            0 :                         tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4328            0 :                         if (res) return res;
    4329              :                       }
    4330              :                     }
    4331              :                   break;
    4332              :                 }
    4333              :               default:;
    4334              :               }
    4335              :           }
    4336              :       }
    4337      5346640 :         switch (TREE_CODE (_q20))
    4338              :           {
    4339           92 :           case EXACT_DIV_EXPR:
    4340           92 :             {
    4341           92 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4342           92 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4343           92 :               switch (TREE_CODE (_q31))
    4344              :                 {
    4345           92 :                 case INTEGER_CST:
    4346           92 :                   {
    4347           92 :                     switch (TREE_CODE (_p1))
    4348              :                       {
    4349            0 :                       CASE_CONVERT:
    4350            0 :                         {
    4351            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4352            0 :                           switch (TREE_CODE (_q60))
    4353              :                             {
    4354            0 :                             case EXACT_DIV_EXPR:
    4355            0 :                               {
    4356            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4357            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4358            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    4359              :                                   {
    4360            0 :                                     {
    4361            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    4362            0 :                                       tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4363            0 :                                       if (res) return res;
    4364              :                                     }
    4365              :                                   }
    4366              :                                 break;
    4367              :                               }
    4368              :                             default:;
    4369              :                             }
    4370              :                           break;
    4371              :                         }
    4372              :                       default:;
    4373              :                       }
    4374              :                     break;
    4375              :                   }
    4376              :                 default:;
    4377              :                 }
    4378              :               break;
    4379              :             }
    4380      5346640 :           default:;
    4381              :           }
    4382      5346640 :         switch (TREE_CODE (_p1))
    4383              :           {
    4384        29918 :           case PLUS_EXPR:
    4385        29918 :             {
    4386        29918 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4387        29918 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4388        29918 :               switch (TREE_CODE (_q41))
    4389              :                 {
    4390           26 :                 CASE_CONVERT:
    4391           26 :                   {
    4392           26 :                     tree _q60 = TREE_OPERAND (_q41, 0);
    4393           26 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4394              :                       {
    4395            0 :                         {
    4396            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4397            0 :                           tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4398            0 :                           if (res) return res;
    4399              :                         }
    4400              :                       }
    4401              :                     break;
    4402              :                   }
    4403        29918 :                 default:;
    4404              :                 }
    4405        29918 :               switch (TREE_CODE (_q40))
    4406              :                 {
    4407         3994 :                 CASE_CONVERT:
    4408         3994 :                   {
    4409         3994 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4410         3994 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4411              :                       {
    4412            0 :                         {
    4413            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4414            0 :                           tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4415            0 :                           if (res) return res;
    4416              :                         }
    4417              :                       }
    4418              :                     break;
    4419              :                   }
    4420        29918 :                 default:;
    4421              :                 }
    4422        29918 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4423              :                 {
    4424            0 :                   {
    4425            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4426            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4427            0 :                     if (res) return res;
    4428              :                   }
    4429              :                 }
    4430        29918 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    4431              :                 {
    4432            0 :                   {
    4433            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4434            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4435            0 :                     if (res) return res;
    4436              :                   }
    4437              :                 }
    4438              :               break;
    4439              :             }
    4440      5346640 :           default:;
    4441              :           }
    4442      5346640 :       {
    4443      5346640 :         tree _p1_pops[1];
    4444      5346640 :         if (tree_nop_convert (_p1, _p1_pops))
    4445              :           {
    4446      1340826 :             tree _q40 = _p1_pops[0];
    4447      1340826 :             switch (TREE_CODE (_q40))
    4448              :               {
    4449           73 :               case PLUS_EXPR:
    4450           73 :                 {
    4451           73 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4452           73 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4453           73 :                   switch (TREE_CODE (_q51))
    4454              :                     {
    4455            0 :                     CASE_CONVERT:
    4456            0 :                       {
    4457            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4458            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4459              :                           {
    4460            0 :                             {
    4461            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4462            0 :                               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4463            0 :                               if (res) return res;
    4464              :                             }
    4465              :                           }
    4466              :                         break;
    4467              :                       }
    4468           73 :                     default:;
    4469              :                     }
    4470           73 :                   switch (TREE_CODE (_q50))
    4471              :                     {
    4472            4 :                     CASE_CONVERT:
    4473            4 :                       {
    4474            4 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    4475            4 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4476              :                           {
    4477            0 :                             {
    4478            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4479            0 :                               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4480            0 :                               if (res) return res;
    4481              :                             }
    4482              :                           }
    4483              :                         break;
    4484              :                       }
    4485           73 :                     default:;
    4486              :                     }
    4487           73 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4488              :                     {
    4489            0 :                       {
    4490            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4491            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4492            0 :                         if (res) return res;
    4493              :                       }
    4494              :                     }
    4495           73 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4496              :                     {
    4497            0 :                       {
    4498            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4499            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4500            0 :                         if (res) return res;
    4501              :                       }
    4502              :                     }
    4503              :                   break;
    4504              :                 }
    4505              :               default:;
    4506              :               }
    4507              :           }
    4508              :       }
    4509      5346640 :         break;
    4510              :       }
    4511     28252455 :     default:;
    4512              :     }
    4513     28252455 : {
    4514     28252455 :   tree _p0_pops[1];
    4515     28252455 :   if (tree_nop_convert (_p0, _p0_pops))
    4516              :     {
    4517      3163263 :       tree _q20 = _p0_pops[0];
    4518      3163263 :       switch (TREE_CODE (_q20))
    4519              :         {
    4520            1 :         case LSHIFT_EXPR:
    4521            1 :           {
    4522            1 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4523            1 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4524            1 :             switch (TREE_CODE (_p1))
    4525              :               {
    4526            0 :               CASE_CONVERT:
    4527            0 :                 {
    4528            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4529            0 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4530              :                     {
    4531            0 :                       {
    4532            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4533            0 :                         tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4534            0 :                         if (res) return res;
    4535              :                       }
    4536              :                     }
    4537              :                   break;
    4538              :                 }
    4539            1 :               default:;
    4540              :               }
    4541            1 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4542              :               {
    4543            1 :                 {
    4544            1 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4545            1 :                   tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4546            1 :                   if (res) return res;
    4547              :                 }
    4548              :               }
    4549              :             break;
    4550              :           }
    4551         2591 :         case PLUS_EXPR:
    4552         2591 :           {
    4553         2591 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4554         2591 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4555         2591 :             switch (TREE_CODE (_q31))
    4556              :               {
    4557            0 :               CASE_CONVERT:
    4558            0 :                 {
    4559            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4560            0 :                   switch (TREE_CODE (_p1))
    4561              :                     {
    4562            0 :                     CASE_CONVERT:
    4563            0 :                       {
    4564            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4565            0 :                         if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    4566              :                           {
    4567            0 :                             {
    4568            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4569            0 :                               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4570            0 :                               if (res) return res;
    4571              :                             }
    4572              :                           }
    4573              :                         break;
    4574              :                       }
    4575              :                     default:;
    4576              :                     }
    4577              :                   break;
    4578              :                 }
    4579         2591 :               default:;
    4580              :               }
    4581         2591 :             switch (TREE_CODE (_q30))
    4582              :               {
    4583         1256 :               CASE_CONVERT:
    4584         1256 :                 {
    4585         1256 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4586         1256 :                   switch (TREE_CODE (_p1))
    4587              :                     {
    4588            8 :                     CASE_CONVERT:
    4589            8 :                       {
    4590            8 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4591            8 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    4592              :                           {
    4593            0 :                             {
    4594            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4595            0 :                               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4596            0 :                               if (res) return res;
    4597              :                             }
    4598              :                           }
    4599              :                         break;
    4600              :                       }
    4601         1256 :                     default:;
    4602              :                     }
    4603         1256 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4604              :                     {
    4605            0 :                       {
    4606            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4607            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4608            0 :                         if (res) return res;
    4609              :                       }
    4610              :                     }
    4611              :                   break;
    4612              :                 }
    4613         2591 :               default:;
    4614              :               }
    4615         2591 :             switch (TREE_CODE (_q31))
    4616              :               {
    4617            0 :               CASE_CONVERT:
    4618            0 :                 {
    4619            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4620            0 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    4621              :                     {
    4622            0 :                       {
    4623            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4624            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4625            0 :                         if (res) return res;
    4626              :                       }
    4627              :                     }
    4628              :                   break;
    4629              :                 }
    4630         2591 :               default:;
    4631              :               }
    4632         2591 :             switch (TREE_CODE (_p1))
    4633              :               {
    4634          101 :               CASE_CONVERT:
    4635          101 :                 {
    4636          101 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4637          101 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4638              :                     {
    4639            0 :                       {
    4640            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4641            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4642            0 :                         if (res) return res;
    4643              :                       }
    4644              :                     }
    4645          101 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4646              :                     {
    4647            0 :                       {
    4648            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4649            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4650            0 :                         if (res) return res;
    4651              :                       }
    4652              :                     }
    4653              :                   break;
    4654              :                 }
    4655         2591 :               default:;
    4656              :               }
    4657         2591 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4658              :               {
    4659            0 :                 {
    4660            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4661            0 :                   tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4662            0 :                   if (res) return res;
    4663              :                 }
    4664              :               }
    4665         2591 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4666              :               {
    4667            0 :                 {
    4668            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4669            0 :                   tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4670            0 :                   if (res) return res;
    4671              :                 }
    4672              :               }
    4673              :             break;
    4674              :           }
    4675              :         default:;
    4676              :         }
    4677              :     }
    4678              : }
    4679     28252454 :   {
    4680     28252454 :     tree _p1_pops[1];
    4681     28252454 :     if (tree_nop_convert (_p1, _p1_pops))
    4682              :       {
    4683      1582911 :         tree _q30 = _p1_pops[0];
    4684      1582911 :         switch (TREE_CODE (_q30))
    4685              :           {
    4686            0 :           case LSHIFT_EXPR:
    4687            0 :             {
    4688            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4689            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4690            0 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    4691              :                 {
    4692            0 :                   {
    4693            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    4694            0 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4695            0 :                     if (res) return res;
    4696              :                   }
    4697              :                 }
    4698              :               break;
    4699              :             }
    4700              :           default:;
    4701              :           }
    4702              :       }
    4703              :   }
    4704     28252454 :   switch (TREE_CODE (_p0))
    4705              :     {
    4706         2065 :     case LSHIFT_EXPR:
    4707         2065 :       {
    4708         2065 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4709         2065 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4710         2065 :         switch (TREE_CODE (_p1))
    4711              :           {
    4712           61 :           CASE_CONVERT:
    4713           61 :             {
    4714           61 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4715           61 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4716              :                 {
    4717            4 :                   {
    4718            4 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4719            4 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4720            4 :                     if (res) return res;
    4721              :                   }
    4722              :                 }
    4723              :               break;
    4724              :             }
    4725         2064 :           default:;
    4726              :           }
    4727         2064 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4728              :           {
    4729           27 :             {
    4730           27 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4731           27 :               tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4732           27 :               if (res) return res;
    4733              :             }
    4734              :           }
    4735         2060 :         if (tree_zero_one_valued_p (_q20))
    4736              :           {
    4737          238 :             switch (TREE_CODE (_q21))
    4738              :               {
    4739           10 :               case INTEGER_CST:
    4740           10 :                 {
    4741           10 :                   if (integer_zerop (_p1))
    4742              :                     {
    4743            2 :                       {
    4744            2 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4745            2 :                         tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4746            2 :                         if (res) return res;
    4747              :                       }
    4748              :                     }
    4749              :                   break;
    4750              :                 }
    4751              :               default:;
    4752              :               }
    4753              :           }
    4754              :         break;
    4755              :       }
    4756     28252447 :     default:;
    4757              :     }
    4758     28252447 :   switch (TREE_CODE (_p1))
    4759              :     {
    4760          236 :     case LSHIFT_EXPR:
    4761          236 :       {
    4762          236 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4763          236 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4764          236 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4765              :           {
    4766            0 :             {
    4767            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    4768            0 :               tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4769            0 :               if (res) return res;
    4770              :             }
    4771              :           }
    4772              :         break;
    4773              :       }
    4774     28252447 :     default:;
    4775              :     }
    4776     28252447 :   switch (TREE_CODE (_p0))
    4777              :     {
    4778        32726 :     case EQ_EXPR:
    4779        32726 :       {
    4780        32726 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4781        32726 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4782        32726 :         switch (TREE_CODE (_q20))
    4783              :           {
    4784           76 :           case BIT_AND_EXPR:
    4785           76 :             {
    4786           76 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4787           76 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4788           76 :               if (integer_pow2p (_q31))
    4789              :                 {
    4790            4 :                   if (integer_zerop (_q21))
    4791              :                     {
    4792            4 :                       switch (TREE_CODE (_p1))
    4793              :                         {
    4794            0 :                         case EQ_EXPR:
    4795            0 :                           {
    4796            0 :                             tree _q70 = TREE_OPERAND (_p1, 0);
    4797            0 :                             tree _q71 = TREE_OPERAND (_p1, 1);
    4798            0 :                             switch (TREE_CODE (_q70))
    4799              :                               {
    4800            0 :                               case BIT_AND_EXPR:
    4801            0 :                                 {
    4802            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    4803            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    4804            0 :                                   if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
    4805              :                                     {
    4806            0 :                                       if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    4807              :                                         {
    4808            0 :                                           {
    4809            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70, _q80 };
    4810            0 :                                             const enum tree_code icmp0 = EQ_EXPR;
    4811            0 :                                             const enum tree_code icmp1 = EQ_EXPR;
    4812            0 :                                             if (types_match (captures[2], captures[7])
    4813              : )
    4814              :                                               {
    4815            0 :                                                 {
    4816            0 :  bool innersame = icmp0 == icmp1;
    4817            0 :                                                     if (innersame == (EQ_EXPR == EQ_EXPR)
    4818              : )
    4819              :                                                       {
    4820            0 :                                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1544;
    4821            0 :                                                         {
    4822            0 :                                                           tree res_op0;
    4823            0 :                                                           {
    4824            0 :                                                             tree _o1[2], _r1;
    4825            0 :                                                             {
    4826            0 :                                                               tree _o2[2], _r2;
    4827            0 :                                                               _o2[0] = captures[2];
    4828            0 :                                                               _o2[1] = captures[7];
    4829            0 :                                                               _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4830            0 :                                                               _o1[0] = _r2;
    4831              :                                                             }
    4832            0 :                                                             _o1[1] = captures[3];
    4833            0 :                                                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4834            0 :                                                             res_op0 = _r1;
    4835              :                                                           }
    4836            0 :                                                           tree res_op1;
    4837            0 :                                                           res_op1 = captures[4];
    4838            0 :                                                           tree _r;
    4839            0 :                                                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    4840            0 :                                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    4841              :                                                           return _r;
    4842              :                                                         }
    4843            0 : next_after_fail1544:;
    4844              :                                                       }
    4845              :                                                     else
    4846              :                                                       {
    4847              :                                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1545;
    4848              :                                                         {
    4849              :                                                           tree res_op0;
    4850              :                                                           {
    4851              :                                                             tree _o1[2], _r1;
    4852              :                                                             {
    4853              :                                                               tree _o2[2], _r2;
    4854              :                                                               _o2[0] = captures[2];
    4855              :                                                               _o2[1] = captures[7];
    4856              :                                                               _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4857              :                                                               _o1[0] = _r2;
    4858              :                                                             }
    4859              :                                                             _o1[1] = captures[3];
    4860              :                                                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4861              :                                                             res_op0 = _r1;
    4862              :                                                           }
    4863              :                                                           tree res_op1;
    4864              :                                                           res_op1 = captures[4];
    4865              :                                                           tree _r;
    4866              :                                                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4867              :                                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 929, __FILE__, __LINE__, true);
    4868              :                                                           return _r;
    4869              :                                                         }
    4870              : next_after_fail1545:;
    4871              :                                                       }
    4872              :                                                 }
    4873              :                                               }
    4874              :                                           }
    4875              :                                         }
    4876              :                                     }
    4877              :                                   break;
    4878              :                                 }
    4879              :                               default:;
    4880              :                               }
    4881              :                             break;
    4882              :                           }
    4883            0 :                         case NE_EXPR:
    4884            0 :                           {
    4885            0 :                             tree _q70 = TREE_OPERAND (_p1, 0);
    4886            0 :                             tree _q71 = TREE_OPERAND (_p1, 1);
    4887            0 :                             switch (TREE_CODE (_q70))
    4888              :                               {
    4889            0 :                               case BIT_AND_EXPR:
    4890            0 :                                 {
    4891            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    4892            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    4893            0 :                                   if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
    4894              :                                     {
    4895            0 :                                       if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    4896              :                                         {
    4897            0 :                                           {
    4898            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70, _q80 };
    4899            0 :                                             const enum tree_code icmp0 = EQ_EXPR;
    4900            0 :                                             const enum tree_code icmp1 = NE_EXPR;
    4901            0 :                                             if (types_match (captures[2], captures[7])
    4902              : )
    4903              :                                               {
    4904            0 :                                                 {
    4905            0 :  bool innersame = icmp0 == icmp1;
    4906            0 :                                                     if (innersame == (EQ_EXPR == EQ_EXPR)
    4907              : )
    4908              :                                                       {
    4909              :                                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1546;
    4910              :                                                         {
    4911              :                                                           tree res_op0;
    4912              :                                                           {
    4913              :                                                             tree _o1[2], _r1;
    4914              :                                                             {
    4915              :                                                               tree _o2[2], _r2;
    4916              :                                                               _o2[0] = captures[2];
    4917              :                                                               _o2[1] = captures[7];
    4918              :                                                               _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4919              :                                                               _o1[0] = _r2;
    4920              :                                                             }
    4921              :                                                             _o1[1] = captures[3];
    4922              :                                                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4923              :                                                             res_op0 = _r1;
    4924              :                                                           }
    4925              :                                                           tree res_op1;
    4926              :                                                           res_op1 = captures[4];
    4927              :                                                           tree _r;
    4928              :                                                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    4929              :                                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    4930              :                                                           return _r;
    4931              :                                                         }
    4932              : next_after_fail1546:;
    4933              :                                                       }
    4934              :                                                     else
    4935              :                                                       {
    4936            0 :                                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1547;
    4937            0 :                                                         {
    4938            0 :                                                           tree res_op0;
    4939            0 :                                                           {
    4940            0 :                                                             tree _o1[2], _r1;
    4941            0 :                                                             {
    4942            0 :                                                               tree _o2[2], _r2;
    4943            0 :                                                               _o2[0] = captures[2];
    4944            0 :                                                               _o2[1] = captures[7];
    4945            0 :                                                               _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4946            0 :                                                               _o1[0] = _r2;
    4947              :                                                             }
    4948            0 :                                                             _o1[1] = captures[3];
    4949            0 :                                                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4950            0 :                                                             res_op0 = _r1;
    4951              :                                                           }
    4952            0 :                                                           tree res_op1;
    4953            0 :                                                           res_op1 = captures[4];
    4954            0 :                                                           tree _r;
    4955            0 :                                                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4956            0 :                                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 929, __FILE__, __LINE__, true);
    4957              :                                                           return _r;
    4958              :                                                         }
    4959            0 : next_after_fail1547:;
    4960              :                                                       }
    4961              :                                                 }
    4962              :                                               }
    4963              :                                           }
    4964              :                                         }
    4965              :                                     }
    4966              :                                   break;
    4967              :                                 }
    4968              :                               default:;
    4969              :                               }
    4970              :                             break;
    4971              :                           }
    4972              :                         default:;
    4973              :                         }
    4974              :                     }
    4975              :                 }
    4976              :               break;
    4977              :             }
    4978              :           default:;
    4979              :           }
    4980              :         break;
    4981              :       }
    4982        11864 :     case NE_EXPR:
    4983        11864 :       {
    4984        11864 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4985        11864 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4986        11864 :         switch (TREE_CODE (_q20))
    4987              :           {
    4988           80 :           case BIT_AND_EXPR:
    4989           80 :             {
    4990           80 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4991           80 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4992           80 :               if (integer_pow2p (_q31))
    4993              :                 {
    4994           61 :                   if (integer_zerop (_q21))
    4995              :                     {
    4996           61 :                       switch (TREE_CODE (_p1))
    4997              :                         {
    4998            0 :                         case EQ_EXPR:
    4999            0 :                           {
    5000            0 :                             tree _q70 = TREE_OPERAND (_p1, 0);
    5001            0 :                             tree _q71 = TREE_OPERAND (_p1, 1);
    5002            0 :                             switch (TREE_CODE (_q70))
    5003              :                               {
    5004            0 :                               case BIT_AND_EXPR:
    5005            0 :                                 {
    5006            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    5007            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    5008            0 :                                   if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
    5009              :                                     {
    5010            0 :                                       if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    5011              :                                         {
    5012            0 :                                           {
    5013            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70, _q80 };
    5014            0 :                                             const enum tree_code icmp0 = NE_EXPR;
    5015            0 :                                             const enum tree_code icmp1 = EQ_EXPR;
    5016            0 :                                             if (types_match (captures[2], captures[7])
    5017              : )
    5018              :                                               {
    5019            0 :                                                 {
    5020            0 :  bool innersame = icmp0 == icmp1;
    5021            0 :                                                     if (innersame == (EQ_EXPR == EQ_EXPR)
    5022              : )
    5023              :                                                       {
    5024              :                                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1548;
    5025              :                                                         {
    5026              :                                                           tree res_op0;
    5027              :                                                           {
    5028              :                                                             tree _o1[2], _r1;
    5029              :                                                             {
    5030              :                                                               tree _o2[2], _r2;
    5031              :                                                               _o2[0] = captures[2];
    5032              :                                                               _o2[1] = captures[7];
    5033              :                                                               _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5034              :                                                               _o1[0] = _r2;
    5035              :                                                             }
    5036              :                                                             _o1[1] = captures[3];
    5037              :                                                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5038              :                                                             res_op0 = _r1;
    5039              :                                                           }
    5040              :                                                           tree res_op1;
    5041              :                                                           res_op1 = captures[4];
    5042              :                                                           tree _r;
    5043              :                                                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5044              :                                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    5045              :                                                           return _r;
    5046              :                                                         }
    5047              : next_after_fail1548:;
    5048              :                                                       }
    5049              :                                                     else
    5050              :                                                       {
    5051            0 :                                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1549;
    5052            0 :                                                         {
    5053            0 :                                                           tree res_op0;
    5054            0 :                                                           {
    5055            0 :                                                             tree _o1[2], _r1;
    5056            0 :                                                             {
    5057            0 :                                                               tree _o2[2], _r2;
    5058            0 :                                                               _o2[0] = captures[2];
    5059            0 :                                                               _o2[1] = captures[7];
    5060            0 :                                                               _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5061            0 :                                                               _o1[0] = _r2;
    5062              :                                                             }
    5063            0 :                                                             _o1[1] = captures[3];
    5064            0 :                                                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5065            0 :                                                             res_op0 = _r1;
    5066              :                                                           }
    5067            0 :                                                           tree res_op1;
    5068            0 :                                                           res_op1 = captures[4];
    5069            0 :                                                           tree _r;
    5070            0 :                                                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    5071            0 :                                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 929, __FILE__, __LINE__, true);
    5072              :                                                           return _r;
    5073              :                                                         }
    5074            0 : next_after_fail1549:;
    5075              :                                                       }
    5076              :                                                 }
    5077              :                                               }
    5078              :                                           }
    5079              :                                         }
    5080              :                                     }
    5081              :                                   break;
    5082              :                                 }
    5083              :                               default:;
    5084              :                               }
    5085              :                             break;
    5086              :                           }
    5087            0 :                         case NE_EXPR:
    5088            0 :                           {
    5089            0 :                             tree _q70 = TREE_OPERAND (_p1, 0);
    5090            0 :                             tree _q71 = TREE_OPERAND (_p1, 1);
    5091            0 :                             switch (TREE_CODE (_q70))
    5092              :                               {
    5093            0 :                               case BIT_AND_EXPR:
    5094            0 :                                 {
    5095            0 :                                   tree _q80 = TREE_OPERAND (_q70, 0);
    5096            0 :                                   tree _q81 = TREE_OPERAND (_q70, 1);
    5097            0 :                                   if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
    5098              :                                     {
    5099            0 :                                       if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    5100              :                                         {
    5101            0 :                                           {
    5102            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70, _q80 };
    5103            0 :                                             const enum tree_code icmp0 = NE_EXPR;
    5104            0 :                                             const enum tree_code icmp1 = NE_EXPR;
    5105            0 :                                             if (types_match (captures[2], captures[7])
    5106              : )
    5107              :                                               {
    5108            0 :                                                 {
    5109            0 :  bool innersame = icmp0 == icmp1;
    5110            0 :                                                     if (innersame == (EQ_EXPR == EQ_EXPR)
    5111              : )
    5112              :                                                       {
    5113            0 :                                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1550;
    5114            0 :                                                         {
    5115            0 :                                                           tree res_op0;
    5116            0 :                                                           {
    5117            0 :                                                             tree _o1[2], _r1;
    5118            0 :                                                             {
    5119            0 :                                                               tree _o2[2], _r2;
    5120            0 :                                                               _o2[0] = captures[2];
    5121            0 :                                                               _o2[1] = captures[7];
    5122            0 :                                                               _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5123            0 :                                                               _o1[0] = _r2;
    5124              :                                                             }
    5125            0 :                                                             _o1[1] = captures[3];
    5126            0 :                                                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5127            0 :                                                             res_op0 = _r1;
    5128              :                                                           }
    5129            0 :                                                           tree res_op1;
    5130            0 :                                                           res_op1 = captures[4];
    5131            0 :                                                           tree _r;
    5132            0 :                                                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5133            0 :                                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    5134              :                                                           return _r;
    5135              :                                                         }
    5136            0 : next_after_fail1550:;
    5137              :                                                       }
    5138              :                                                     else
    5139              :                                                       {
    5140              :                                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1551;
    5141              :                                                         {
    5142              :                                                           tree res_op0;
    5143              :                                                           {
    5144              :                                                             tree _o1[2], _r1;
    5145              :                                                             {
    5146              :                                                               tree _o2[2], _r2;
    5147              :                                                               _o2[0] = captures[2];
    5148              :                                                               _o2[1] = captures[7];
    5149              :                                                               _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5150              :                                                               _o1[0] = _r2;
    5151              :                                                             }
    5152              :                                                             _o1[1] = captures[3];
    5153              :                                                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5154              :                                                             res_op0 = _r1;
    5155              :                                                           }
    5156              :                                                           tree res_op1;
    5157              :                                                           res_op1 = captures[4];
    5158              :                                                           tree _r;
    5159              :                                                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    5160              :                                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 929, __FILE__, __LINE__, true);
    5161              :                                                           return _r;
    5162              :                                                         }
    5163              : next_after_fail1551:;
    5164              :                                                       }
    5165              :                                                 }
    5166              :                                               }
    5167              :                                           }
    5168              :                                         }
    5169              :                                     }
    5170              :                                   break;
    5171              :                                 }
    5172              :                               default:;
    5173              :                               }
    5174              :                             break;
    5175              :                           }
    5176              :                         default:;
    5177              :                         }
    5178              :                     }
    5179              :                 }
    5180              :               break;
    5181              :             }
    5182              :           default:;
    5183              :           }
    5184              :         break;
    5185              :       }
    5186        46437 :     case VIEW_CONVERT_EXPR:
    5187        46437 :       {
    5188        46437 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5189        46437 :         if (tree_zero_one_valued_p (_q20))
    5190              :           {
    5191            0 :             if (integer_zerop (_p1))
    5192              :               {
    5193            0 :                 {
    5194            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    5195            0 :                   tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5196            0 :                   if (res) return res;
    5197              :                 }
    5198              :               }
    5199              :           }
    5200              :         break;
    5201              :       }
    5202        17938 :     case RSHIFT_EXPR:
    5203        17938 :       {
    5204        17938 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5205        17938 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5206        17938 :         switch (TREE_CODE (_q21))
    5207              :           {
    5208        16678 :           case INTEGER_CST:
    5209        16678 :             {
    5210        16678 :               switch (TREE_CODE (_p1))
    5211              :                 {
    5212          106 :                 case RSHIFT_EXPR:
    5213          106 :                   {
    5214          106 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5215          106 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5216          106 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5217              :                       {
    5218           18 :                         switch (TREE_CODE (_q51))
    5219              :                           {
    5220           18 :                           case INTEGER_CST:
    5221           18 :                             {
    5222           18 :                               {
    5223           18 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5224           18 :                                 tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    5225           18 :                                 if (res) return res;
    5226              :                               }
    5227           17 :                               break;
    5228              :                             }
    5229              :                           default:;
    5230              :                           }
    5231              :                       }
    5232              :                     break;
    5233              :                   }
    5234        16677 :                 default:;
    5235              :                 }
    5236        16677 :             if (integer_zerop (_p1))
    5237              :               {
    5238         2110 :                 {
    5239         2110 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5240         2110 :                   tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    5241         2110 :                   if (res) return res;
    5242              :                 }
    5243              :               }
    5244              :               break;
    5245              :             }
    5246              :           default:;
    5247              :           }
    5248              :         break;
    5249              :       }
    5250       843260 :     case BIT_AND_EXPR:
    5251       843260 :       {
    5252       843260 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5253       843260 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5254       843260 :         if (tree_truth_valued_p (_q20))
    5255              :           {
    5256          154 :             if (tree_truth_valued_p (_q21))
    5257              :               {
    5258          152 :                 switch (TREE_CODE (_p1))
    5259              :                   {
    5260           56 :                   case BIT_XOR_EXPR:
    5261           56 :                     {
    5262           56 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    5263           56 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    5264           56 :                       if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5265              :                         {
    5266           56 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5267              :                             {
    5268           56 :                               {
    5269           56 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5270          112 :                                 if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5271          112 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    5272              : )
    5273              :                                   {
    5274           56 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1552;
    5275           56 :                                     {
    5276           56 :                                       tree res_op0;
    5277           56 :                                       {
    5278           56 :                                         tree _o1[1], _r1;
    5279           56 :                                         {
    5280           56 :                                           tree _o2[2], _r2;
    5281           56 :                                           _o2[0] = captures[0];
    5282           56 :                                           _o2[1] = captures[1];
    5283           56 :                                           _r2 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5284           56 :                                           _o1[0] = _r2;
    5285              :                                         }
    5286           56 :                                         _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5287           56 :                                         res_op0 = _r1;
    5288              :                                       }
    5289           56 :                                       tree _r;
    5290           56 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    5291           56 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 932, __FILE__, __LINE__, true);
    5292              :                                       return _r;
    5293              :                                     }
    5294            0 : next_after_fail1552:;
    5295              :                                   }
    5296              :                                 else
    5297              :                                   {
    5298            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1553;
    5299            0 :                                     {
    5300            0 :                                       tree res_op0;
    5301            0 :                                       {
    5302            0 :                                         tree _o1[2], _r1;
    5303            0 :                                         {
    5304            0 :                                           tree _o2[2], _r2;
    5305            0 :                                           _o2[0] = captures[0];
    5306            0 :                                           _o2[1] = captures[1];
    5307            0 :                                           _r2 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5308            0 :                                           _o1[0] = _r2;
    5309              :                                         }
    5310            0 :                                         _o1[1] =  build_one_cst (TREE_TYPE (captures[0]));
    5311            0 :                                         _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5312            0 :                                         res_op0 = _r1;
    5313              :                                       }
    5314            0 :                                       tree _r;
    5315            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    5316            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 933, __FILE__, __LINE__, true);
    5317              :                                       return _r;
    5318              :                                     }
    5319            0 : next_after_fail1553:;
    5320              :                                   }
    5321              :                               }
    5322              :                             }
    5323              :                         }
    5324            0 :                       if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5325              :                         {
    5326            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5327              :                             {
    5328            0 :                               {
    5329            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5330            0 :                                 if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5331            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    5332              : )
    5333              :                                   {
    5334            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1554;
    5335            0 :                                     {
    5336            0 :                                       tree res_op0;
    5337            0 :                                       {
    5338            0 :                                         tree _o1[1], _r1;
    5339            0 :                                         {
    5340            0 :                                           tree _o2[2], _r2;
    5341            0 :                                           _o2[0] = captures[0];
    5342            0 :                                           _o2[1] = captures[1];
    5343            0 :                                           _r2 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5344            0 :                                           _o1[0] = _r2;
    5345              :                                         }
    5346            0 :                                         _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5347            0 :                                         res_op0 = _r1;
    5348              :                                       }
    5349            0 :                                       tree _r;
    5350            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    5351            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 932, __FILE__, __LINE__, true);
    5352              :                                       return _r;
    5353              :                                     }
    5354            0 : next_after_fail1554:;
    5355              :                                   }
    5356              :                                 else
    5357              :                                   {
    5358            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1555;
    5359            0 :                                     {
    5360            0 :                                       tree res_op0;
    5361            0 :                                       {
    5362            0 :                                         tree _o1[2], _r1;
    5363            0 :                                         {
    5364            0 :                                           tree _o2[2], _r2;
    5365            0 :                                           _o2[0] = captures[0];
    5366            0 :                                           _o2[1] = captures[1];
    5367            0 :                                           _r2 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5368            0 :                                           _o1[0] = _r2;
    5369              :                                         }
    5370            0 :                                         _o1[1] =  build_one_cst (TREE_TYPE (captures[0]));
    5371            0 :                                         _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5372            0 :                                         res_op0 = _r1;
    5373              :                                       }
    5374            0 :                                       tree _r;
    5375            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    5376            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 933, __FILE__, __LINE__, true);
    5377              :                                       return _r;
    5378              :                                     }
    5379            0 : next_after_fail1555:;
    5380              :                                   }
    5381              :                               }
    5382              :                             }
    5383              :                         }
    5384              :                       break;
    5385              :                     }
    5386              :                   default:;
    5387              :                   }
    5388              :               }
    5389              :           }
    5390              :         break;
    5391              :       }
    5392          635 :     case BIT_XOR_EXPR:
    5393          635 :       {
    5394          635 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5395          635 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5396          635 :         switch (TREE_CODE (_p1))
    5397              :           {
    5398            0 :           case BIT_AND_EXPR:
    5399            0 :             {
    5400            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5401            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5402            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5403              :                 {
    5404            0 :                   if (tree_truth_valued_p (_q50))
    5405              :                     {
    5406            0 :                       if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5407              :                         {
    5408            0 :                           if (tree_truth_valued_p (_q51))
    5409              :                             {
    5410            0 :                               {
    5411            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5412            0 :                                 if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5413            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    5414              : )
    5415              :                                   {
    5416            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1556;
    5417            0 :                                     {
    5418            0 :                                       tree res_op0;
    5419            0 :                                       {
    5420            0 :                                         tree _o1[1], _r1;
    5421            0 :                                         {
    5422            0 :                                           tree _o2[2], _r2;
    5423            0 :                                           _o2[0] = captures[0];
    5424            0 :                                           _o2[1] = captures[1];
    5425            0 :                                           _r2 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5426            0 :                                           _o1[0] = _r2;
    5427              :                                         }
    5428            0 :                                         _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5429            0 :                                         res_op0 = _r1;
    5430              :                                       }
    5431            0 :                                       tree _r;
    5432            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    5433            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 932, __FILE__, __LINE__, true);
    5434              :                                       return _r;
    5435              :                                     }
    5436            0 : next_after_fail1556:;
    5437              :                                   }
    5438              :                                 else
    5439              :                                   {
    5440            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1557;
    5441            0 :                                     {
    5442            0 :                                       tree res_op0;
    5443            0 :                                       {
    5444            0 :                                         tree _o1[2], _r1;
    5445            0 :                                         {
    5446            0 :                                           tree _o2[2], _r2;
    5447            0 :                                           _o2[0] = captures[0];
    5448            0 :                                           _o2[1] = captures[1];
    5449            0 :                                           _r2 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5450            0 :                                           _o1[0] = _r2;
    5451              :                                         }
    5452            0 :                                         _o1[1] =  build_one_cst (TREE_TYPE (captures[0]));
    5453            0 :                                         _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5454            0 :                                         res_op0 = _r1;
    5455              :                                       }
    5456            0 :                                       tree _r;
    5457            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    5458            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 933, __FILE__, __LINE__, true);
    5459              :                                       return _r;
    5460              :                                     }
    5461            0 : next_after_fail1557:;
    5462              :                                   }
    5463              :                               }
    5464              :                             }
    5465              :                         }
    5466              :                     }
    5467              :                 }
    5468            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5469              :                 {
    5470            0 :                   if (tree_truth_valued_p (_q50))
    5471              :                     {
    5472            0 :                       if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5473              :                         {
    5474            0 :                           if (tree_truth_valued_p (_q51))
    5475              :                             {
    5476            0 :                               {
    5477            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5478            0 :                                 if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5479            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    5480              : )
    5481              :                                   {
    5482            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1558;
    5483            0 :                                     {
    5484            0 :                                       tree res_op0;
    5485            0 :                                       {
    5486            0 :                                         tree _o1[1], _r1;
    5487            0 :                                         {
    5488            0 :                                           tree _o2[2], _r2;
    5489            0 :                                           _o2[0] = captures[0];
    5490            0 :                                           _o2[1] = captures[1];
    5491            0 :                                           _r2 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5492            0 :                                           _o1[0] = _r2;
    5493              :                                         }
    5494            0 :                                         _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5495            0 :                                         res_op0 = _r1;
    5496              :                                       }
    5497            0 :                                       tree _r;
    5498            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    5499            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 932, __FILE__, __LINE__, true);
    5500              :                                       return _r;
    5501              :                                     }
    5502            0 : next_after_fail1558:;
    5503              :                                   }
    5504              :                                 else
    5505              :                                   {
    5506            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1559;
    5507            0 :                                     {
    5508            0 :                                       tree res_op0;
    5509            0 :                                       {
    5510            0 :                                         tree _o1[2], _r1;
    5511            0 :                                         {
    5512            0 :                                           tree _o2[2], _r2;
    5513            0 :                                           _o2[0] = captures[0];
    5514            0 :                                           _o2[1] = captures[1];
    5515            0 :                                           _r2 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5516            0 :                                           _o1[0] = _r2;
    5517              :                                         }
    5518            0 :                                         _o1[1] =  build_one_cst (TREE_TYPE (captures[0]));
    5519            0 :                                         _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5520            0 :                                         res_op0 = _r1;
    5521              :                                       }
    5522            0 :                                       tree _r;
    5523            0 :                                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    5524            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 933, __FILE__, __LINE__, true);
    5525              :                                       return _r;
    5526              :                                     }
    5527            0 : next_after_fail1559:;
    5528              :                                   }
    5529              :                               }
    5530              :                             }
    5531              :                         }
    5532              :                     }
    5533              :                 }
    5534              :               break;
    5535              :             }
    5536              :           default:;
    5537              :           }
    5538              :         break;
    5539              :       }
    5540          412 :     case BIT_NOT_EXPR:
    5541          412 :       {
    5542          412 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5543          412 :         if (tree_truth_valued_p (_q20))
    5544              :           {
    5545            8 :             if (tree_truth_valued_p (_p1))
    5546              :               {
    5547            8 :                 {
    5548            8 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    5549            8 :                   tree res = generic_simplify_225 (loc, type, _p0, _p1, captures);
    5550            8 :                   if (res) return res;
    5551              :                 }
    5552              :               }
    5553              :           }
    5554              :         break;
    5555              :       }
    5556        66006 :     case MULT_EXPR:
    5557        66006 :       {
    5558        66006 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5559        66006 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5560        66006 :         switch (TREE_CODE (_p1))
    5561              :           {
    5562          952 :           case MULT_EXPR:
    5563          952 :             {
    5564          952 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5565          952 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5566          952 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5567              :                 {
    5568          641 :                   {
    5569          641 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5570          641 :                     tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5571          641 :                     if (res) return res;
    5572              :                   }
    5573              :                 }
    5574          944 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5575              :                 {
    5576            0 :                   {
    5577            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5578            0 :                     tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5579            0 :                     if (res) return res;
    5580              :                   }
    5581              :                 }
    5582          944 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5583              :                 {
    5584            0 :                   {
    5585            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5586            0 :                     tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5587            0 :                     if (res) return res;
    5588              :                   }
    5589              :                 }
    5590          944 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5591              :                 {
    5592           24 :                   {
    5593           24 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5594           24 :                     tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5595           24 :                     if (res) return res;
    5596              :                   }
    5597              :                 }
    5598              :               break;
    5599              :             }
    5600        65998 :           default:;
    5601              :           }
    5602        65998 :         switch (TREE_CODE (_q21))
    5603              :           {
    5604        57886 :           case INTEGER_CST:
    5605        57886 :             {
    5606        57886 :               switch (TREE_CODE (_p1))
    5607              :                 {
    5608          902 :                 case MULT_EXPR:
    5609          902 :                   {
    5610          902 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5611          902 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5612          902 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5613              :                       {
    5614          596 :                         {
    5615          596 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5616          596 :                           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5617          596 :                           if (res) return res;
    5618              :                         }
    5619              :                       }
    5620              :                     break;
    5621              :                   }
    5622              :                 default:;
    5623              :                 }
    5624              :               break;
    5625              :             }
    5626              :           default:;
    5627              :           }
    5628              :         break;
    5629              :       }
    5630         6618 :     case EXACT_DIV_EXPR:
    5631         6618 :       {
    5632         6618 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5633         6618 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5634         6618 :         switch (TREE_CODE (_q21))
    5635              :           {
    5636         6618 :           case INTEGER_CST:
    5637         6618 :             {
    5638         6618 :               switch (TREE_CODE (_p1))
    5639              :                 {
    5640            0 :                 case EXACT_DIV_EXPR:
    5641            0 :                   {
    5642            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5643            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5644            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5645              :                       {
    5646            0 :                         {
    5647            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5648            0 :                           tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5649            0 :                           if (res) return res;
    5650              :                         }
    5651              :                       }
    5652              :                     break;
    5653              :                   }
    5654              :                 default:;
    5655              :                 }
    5656              :               break;
    5657              :             }
    5658              :           default:;
    5659              :           }
    5660              :         break;
    5661              :       }
    5662         5404 :     case TRUNC_DIV_EXPR:
    5663         5404 :       {
    5664         5404 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5665         5404 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5666         5404 :         switch (TREE_CODE (_q21))
    5667              :           {
    5668         3908 :           case INTEGER_CST:
    5669         3908 :             {
    5670         3908 :               switch (TREE_CODE (_p1))
    5671              :                 {
    5672          972 :                 case INTEGER_CST:
    5673          972 :                   {
    5674          972 :                     {
    5675          972 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5676          972 :                       tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5677          972 :                       if (res) return res;
    5678              :                     }
    5679           26 :                     break;
    5680              :                   }
    5681              :                 default:;
    5682              :                 }
    5683              :               break;
    5684              :             }
    5685              :           default:;
    5686              :           }
    5687              :         break;
    5688              :       }
    5689       681793 :     case PLUS_EXPR:
    5690       681793 :       {
    5691       681793 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5692       681793 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5693       681793 :         switch (TREE_CODE (_p1))
    5694              :           {
    5695        54161 :           case PLUS_EXPR:
    5696        54161 :             {
    5697        54161 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5698        54161 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5699        54161 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5700              :                 {
    5701          578 :                   {
    5702          578 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5703         1156 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5704          883 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5705          271 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5706              : )
    5707              :                       {
    5708          305 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1560;
    5709          305 :                         {
    5710          305 :                           tree res_op0;
    5711          305 :                           res_op0 = captures[0];
    5712          305 :                           tree res_op1;
    5713          305 :                           res_op1 = captures[2];
    5714          305 :                           tree _r;
    5715          305 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5716          305 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5717            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5718          305 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 966, __FILE__, __LINE__, true);
    5719              :                           return _r;
    5720              :                         }
    5721            0 : next_after_fail1560:;
    5722              :                       }
    5723              :                   }
    5724              :                 }
    5725        53856 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5726              :                 {
    5727            4 :                   {
    5728            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5729            8 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5730            4 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5731            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5732              : )
    5733              :                       {
    5734            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1561;
    5735            0 :                         {
    5736            0 :                           tree res_op0;
    5737            0 :                           res_op0 = captures[0];
    5738            0 :                           tree res_op1;
    5739            0 :                           res_op1 = captures[2];
    5740            0 :                           tree _r;
    5741            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5742            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5743            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5744            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 966, __FILE__, __LINE__, true);
    5745              :                           return _r;
    5746              :                         }
    5747            0 : next_after_fail1561:;
    5748              :                       }
    5749              :                   }
    5750              :                 }
    5751        53856 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5752              :                 {
    5753            4 :                   {
    5754            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5755            8 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5756            4 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5757            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5758              : )
    5759              :                       {
    5760            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1562;
    5761            0 :                         {
    5762            0 :                           tree res_op0;
    5763            0 :                           res_op0 = captures[0];
    5764            0 :                           tree res_op1;
    5765            0 :                           res_op1 = captures[2];
    5766            0 :                           tree _r;
    5767            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5768            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5769            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5770            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 966, __FILE__, __LINE__, true);
    5771              :                           return _r;
    5772              :                         }
    5773            0 : next_after_fail1562:;
    5774              :                       }
    5775              :                   }
    5776              :                 }
    5777        53856 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5778              :                 {
    5779          248 :                   {
    5780          248 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5781          496 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5782          248 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5783            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5784              : )
    5785              :                       {
    5786            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1563;
    5787            0 :                         {
    5788            0 :                           tree res_op0;
    5789            0 :                           res_op0 = captures[0];
    5790            0 :                           tree res_op1;
    5791            0 :                           res_op1 = captures[2];
    5792            0 :                           tree _r;
    5793            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5794            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5795            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5796            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 966, __FILE__, __LINE__, true);
    5797              :                           return _r;
    5798              :                         }
    5799            0 : next_after_fail1563:;
    5800              :                       }
    5801              :                   }
    5802              :                 }
    5803              :               break;
    5804              :             }
    5805       681488 :           default:;
    5806              :           }
    5807       681488 :         switch (TREE_CODE (_q21))
    5808              :           {
    5809         2748 :           CASE_CONVERT:
    5810         2748 :             {
    5811         2748 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5812         2748 :               switch (TREE_CODE (_p1))
    5813              :                 {
    5814          158 :                 CASE_CONVERT:
    5815          158 :                   {
    5816          158 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5817          158 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    5818              :                       {
    5819            0 :                         {
    5820            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5821            0 :                           tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5822            0 :                           if (res) return res;
    5823              :                         }
    5824              :                       }
    5825              :                     break;
    5826              :                   }
    5827              :                 default:;
    5828              :                 }
    5829              :               break;
    5830              :             }
    5831       681488 :           default:;
    5832              :           }
    5833       681488 :         switch (TREE_CODE (_q20))
    5834              :           {
    5835        25926 :           CASE_CONVERT:
    5836        25926 :             {
    5837        25926 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5838        25926 :               switch (TREE_CODE (_p1))
    5839              :                 {
    5840          355 :                 CASE_CONVERT:
    5841          355 :                   {
    5842          355 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5843          355 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5844              :                       {
    5845            2 :                         {
    5846            2 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5847            2 :                           tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5848            2 :                           if (res) return res;
    5849              :                         }
    5850              :                       }
    5851              :                     break;
    5852              :                   }
    5853        25925 :                 default:;
    5854              :                 }
    5855        25925 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5856              :                 {
    5857            0 :                   {
    5858            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5859            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5860            0 :                     if (res) return res;
    5861              :                   }
    5862              :                 }
    5863              :               break;
    5864              :             }
    5865       681487 :           default:;
    5866              :           }
    5867       681487 :         switch (TREE_CODE (_q21))
    5868              :           {
    5869         2748 :           CASE_CONVERT:
    5870         2748 :             {
    5871         2748 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5872         2748 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5873              :                 {
    5874            0 :                   {
    5875            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5876            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5877            0 :                     if (res) return res;
    5878              :                   }
    5879              :                 }
    5880              :               break;
    5881              :             }
    5882       681487 :           default:;
    5883              :           }
    5884       681487 :         switch (TREE_CODE (_p1))
    5885              :           {
    5886        14100 :           CASE_CONVERT:
    5887        14100 :             {
    5888        14100 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5889        14100 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5890              :                 {
    5891            0 :                   {
    5892            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5893            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5894            0 :                     if (res) return res;
    5895              :                   }
    5896              :                 }
    5897        14100 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5898              :                 {
    5899            0 :                   {
    5900            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5901            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5902            0 :                     if (res) return res;
    5903              :                   }
    5904              :                 }
    5905              :               break;
    5906              :             }
    5907       681487 :           default:;
    5908              :           }
    5909       681487 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5910              :           {
    5911         2740 :             {
    5912         2740 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5913         2740 :               tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5914         2740 :               if (res) return res;
    5915              :             }
    5916              :           }
    5917       678815 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5918              :           {
    5919           80 :             {
    5920           80 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5921           80 :               tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5922           80 :               if (res) return res;
    5923              :             }
    5924              :           }
    5925              :         break;
    5926              :       }
    5927        64767 :     case POINTER_PLUS_EXPR:
    5928        64767 :       {
    5929        64767 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5930        64767 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5931        64767 :         switch (TREE_CODE (_p1))
    5932              :           {
    5933         2324 :           case POINTER_PLUS_EXPR:
    5934         2324 :             {
    5935         2324 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5936         2324 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5937         2324 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5938              :                 {
    5939           14 :                   {
    5940           14 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5941           14 :                     tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5942           14 :                     if (res) return res;
    5943              :                   }
    5944              :                 }
    5945              :               break;
    5946              :             }
    5947        64753 :           default:;
    5948              :           }
    5949        64753 :         switch (TREE_CODE (_q20))
    5950              :           {
    5951         1146 :           CASE_CONVERT:
    5952         1146 :             {
    5953         1146 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5954         1146 :               switch (TREE_CODE (_p1))
    5955              :                 {
    5956           84 :                 CASE_CONVERT:
    5957           84 :                   {
    5958           84 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5959           84 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5960              :                       {
    5961           54 :                         {
    5962           54 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5963           54 :                           tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5964           54 :                           if (res) return res;
    5965              :                         }
    5966              :                       }
    5967              :                     break;
    5968              :                   }
    5969         1092 :                 default:;
    5970              :                 }
    5971         1092 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5972              :                 {
    5973            0 :                   {
    5974            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5975            0 :                     tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5976            0 :                     if (res) return res;
    5977              :                   }
    5978              :                 }
    5979              :               break;
    5980              :             }
    5981        64699 :           default:;
    5982              :           }
    5983        64699 :         switch (TREE_CODE (_p1))
    5984              :           {
    5985          457 :           CASE_CONVERT:
    5986          457 :             {
    5987          457 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5988          457 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5989              :                 {
    5990            0 :                   {
    5991            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5992            0 :                     tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5993            0 :                     if (res) return res;
    5994              :                   }
    5995              :                 }
    5996              :               break;
    5997              :             }
    5998        64699 :           default:;
    5999              :           }
    6000        64699 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6001              :           {
    6002            0 :             {
    6003            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    6004            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6005            0 :               if (res) return res;
    6006              :             }
    6007              :           }
    6008              :         break;
    6009              :       }
    6010       158371 :     case MINUS_EXPR:
    6011       158371 :       {
    6012       158371 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6013       158371 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6014       158371 :         switch (TREE_CODE (_p1))
    6015              :           {
    6016          177 :           case MINUS_EXPR:
    6017          177 :             {
    6018          177 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6019          177 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6020          177 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6021              :                 {
    6022           40 :                   {
    6023           40 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6024           80 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6025           40 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    6026            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    6027              : )
    6028              :                       {
    6029            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1564;
    6030            0 :                         {
    6031            0 :                           tree res_op0;
    6032            0 :                           res_op0 = captures[0];
    6033            0 :                           tree res_op1;
    6034            0 :                           res_op1 = captures[2];
    6035            0 :                           tree _r;
    6036            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6037            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    6038            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    6039            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 967, __FILE__, __LINE__, true);
    6040              :                           return _r;
    6041              :                         }
    6042            0 : next_after_fail1564:;
    6043              :                       }
    6044              :                   }
    6045              :                 }
    6046          177 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6047              :                 {
    6048           40 :                   {
    6049           40 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    6050           80 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    6051           40 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    6052            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
    6053              : )
    6054              :                       {
    6055            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1565;
    6056            0 :                         {
    6057            0 :                           tree res_op0;
    6058            0 :                           res_op0 = captures[2];
    6059            0 :                           tree res_op1;
    6060            0 :                           res_op1 = captures[1];
    6061            0 :                           tree _r;
    6062            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6063            0 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    6064            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    6065            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 968, __FILE__, __LINE__, true);
    6066              :                           return _r;
    6067              :                         }
    6068            0 : next_after_fail1565:;
    6069              :                       }
    6070              :                   }
    6071              :                 }
    6072              :               break;
    6073              :             }
    6074              :           default:;
    6075              :           }
    6076              :         break;
    6077              :       }
    6078        32997 :     case POINTER_DIFF_EXPR:
    6079        32997 :       {
    6080        32997 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6081        32997 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6082        32997 :         switch (TREE_CODE (_p1))
    6083              :           {
    6084         1230 :           case POINTER_DIFF_EXPR:
    6085         1230 :             {
    6086         1230 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6087         1230 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6088         1230 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6089              :                 {
    6090            0 :                   {
    6091            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    6092            0 :                     tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6093            0 :                     if (res) return res;
    6094              :                   }
    6095              :                 }
    6096         1230 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6097              :                 {
    6098            0 :                   {
    6099            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    6100            0 :                     tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6101            0 :                     if (res) return res;
    6102              :                   }
    6103              :                 }
    6104              :               break;
    6105              :             }
    6106              :           default:;
    6107              :           }
    6108              :         break;
    6109              :       }
    6110     28248287 :     default:;
    6111              :     }
    6112     28248287 : {
    6113     28248287 :   tree _p0_pops[1];
    6114     28248287 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    6115              :     {
    6116         9188 :       tree _q20 = _p0_pops[0];
    6117         9188 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6118              :         {
    6119            9 :           if (tree_truth_valued_p (_p1))
    6120              :             {
    6121            0 :               {
    6122            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6123            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1566;
    6124            0 :                 {
    6125            0 :                   tree _r;
    6126            0 :                   _r =  constant_boolean_node (EQ_EXPR != EQ_EXPR, type);
    6127            0 :                   if (TREE_SIDE_EFFECTS (captures[0]))
    6128            0 :                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    6129            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 935, __FILE__, __LINE__, true);
    6130            0 :                   return _r;
    6131              :                 }
    6132            0 : next_after_fail1566:;
    6133              :               }
    6134              :             }
    6135              :         }
    6136              :     }
    6137              : }
    6138     28248287 : if (tree_truth_valued_p (_p0))
    6139              :   {
    6140       640662 :     switch (TREE_CODE (_p1))
    6141              :       {
    6142           24 :       case BIT_NOT_EXPR:
    6143           24 :         {
    6144           24 :           tree _q30 = TREE_OPERAND (_p1, 0);
    6145           24 :           if (tree_truth_valued_p (_q30))
    6146              :             {
    6147            4 :               {
    6148            4 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    6149            4 :                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures);
    6150            4 :                 if (res) return res;
    6151              :               }
    6152              :             }
    6153              :           break;
    6154              :         }
    6155       640662 :       default:;
    6156              :       }
    6157       640662 :   {
    6158       640662 :     tree _p1_pops[1];
    6159       640662 :     if (tree_logical_inverted_value (_p1, _p1_pops))
    6160              :       {
    6161          108 :         tree _q30 = _p1_pops[0];
    6162          108 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6163              :           {
    6164            0 :             {
    6165            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6166            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1567;
    6167            0 :               {
    6168            0 :                 tree _r;
    6169            0 :                 _r =  constant_boolean_node (EQ_EXPR != EQ_EXPR, type);
    6170            0 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    6171            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    6172            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 935, __FILE__, __LINE__, true);
    6173            0 :                 return _r;
    6174              :               }
    6175            0 : next_after_fail1567:;
    6176              :             }
    6177              :           }
    6178              :       }
    6179              :   }
    6180              :   }
    6181     28248287 :   switch (TREE_CODE (_p1))
    6182              :     {
    6183        88341 :     case PLUS_EXPR:
    6184        88341 :       {
    6185        88341 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6186        88341 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6187        88341 :         switch (TREE_CODE (_q31))
    6188              :           {
    6189           26 :           CASE_CONVERT:
    6190           26 :             {
    6191           26 :               tree _q50 = TREE_OPERAND (_q31, 0);
    6192           26 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6193              :                 {
    6194            0 :                   {
    6195            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    6196            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6197            0 :                     if (res) return res;
    6198              :                   }
    6199              :                 }
    6200              :               break;
    6201              :             }
    6202        88341 :           default:;
    6203              :           }
    6204        88341 :         switch (TREE_CODE (_q30))
    6205              :           {
    6206        21697 :           CASE_CONVERT:
    6207        21697 :             {
    6208        21697 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6209        21697 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6210              :                 {
    6211            0 :                   {
    6212            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    6213            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6214            0 :                     if (res) return res;
    6215              :                   }
    6216              :                 }
    6217              :               break;
    6218              :             }
    6219        88341 :           default:;
    6220              :           }
    6221        88341 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6222              :           {
    6223            0 :             {
    6224            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    6225            0 :               tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6226            0 :               if (res) return res;
    6227              :             }
    6228              :           }
    6229        88341 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6230              :           {
    6231            0 :             {
    6232            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    6233            0 :               tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6234            0 :               if (res) return res;
    6235              :             }
    6236              :           }
    6237              :         break;
    6238              :       }
    6239     28248287 :     default:;
    6240              :     }
    6241     28248287 : {
    6242     28248287 :   tree _p1_pops[1];
    6243     28248287 :   if (tree_nop_convert (_p1, _p1_pops))
    6244              :     {
    6245      1582854 :       tree _q30 = _p1_pops[0];
    6246      1582854 :       switch (TREE_CODE (_q30))
    6247              :         {
    6248          949 :         case PLUS_EXPR:
    6249          949 :           {
    6250          949 :             tree _q40 = TREE_OPERAND (_q30, 0);
    6251          949 :             tree _q41 = TREE_OPERAND (_q30, 1);
    6252          949 :             switch (TREE_CODE (_q41))
    6253              :               {
    6254            2 :               CASE_CONVERT:
    6255            2 :                 {
    6256            2 :                   tree _q60 = TREE_OPERAND (_q41, 0);
    6257            2 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6258              :                     {
    6259            0 :                       {
    6260            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    6261            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6262            0 :                         if (res) return res;
    6263              :                       }
    6264              :                     }
    6265              :                   break;
    6266              :                 }
    6267          949 :               default:;
    6268              :               }
    6269          949 :             switch (TREE_CODE (_q40))
    6270              :               {
    6271          778 :               CASE_CONVERT:
    6272          778 :                 {
    6273          778 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6274          778 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6275              :                     {
    6276            0 :                       {
    6277            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    6278            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6279            0 :                         if (res) return res;
    6280              :                       }
    6281              :                     }
    6282              :                   break;
    6283              :                 }
    6284          949 :               default:;
    6285              :               }
    6286          949 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6287              :               {
    6288            0 :                 {
    6289            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    6290            0 :                   tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6291            0 :                   if (res) return res;
    6292              :                 }
    6293              :               }
    6294          949 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6295              :               {
    6296            0 :                 {
    6297            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    6298            0 :                   tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6299            0 :                   if (res) return res;
    6300              :                 }
    6301              :               }
    6302              :             break;
    6303              :           }
    6304              :         default:;
    6305              :         }
    6306              :     }
    6307              : }
    6308     28248287 :   switch (TREE_CODE (_p0))
    6309              :     {
    6310      5346639 :     CASE_CONVERT:
    6311      5346639 :       {
    6312      5346639 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6313      5346639 :         switch (TREE_CODE (_p1))
    6314              :           {
    6315          158 :           case POINTER_PLUS_EXPR:
    6316          158 :             {
    6317          158 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6318          158 :               tree _q41 = TREE_OPERAND (_p1, 1);
    6319          158 :               switch (TREE_CODE (_q40))
    6320              :                 {
    6321           96 :                 CASE_CONVERT:
    6322           96 :                   {
    6323           96 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6324           96 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6325              :                       {
    6326            3 :                         {
    6327            3 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    6328            3 :                           tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6329            3 :                           if (res) return res;
    6330              :                         }
    6331              :                       }
    6332              :                     break;
    6333              :                   }
    6334          155 :                 default:;
    6335              :                 }
    6336          155 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6337              :                 {
    6338            0 :                   {
    6339            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    6340            0 :                     tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6341            0 :                     if (res) return res;
    6342              :                   }
    6343              :                 }
    6344              :               break;
    6345              :             }
    6346      5346636 :           default:;
    6347              :           }
    6348      5346636 :       {
    6349      5346636 :         tree _p1_pops[1];
    6350      5346636 :         if (tree_nop_convert (_p1, _p1_pops))
    6351              :           {
    6352      1340826 :             tree _q40 = _p1_pops[0];
    6353      1340826 :             switch (TREE_CODE (_q40))
    6354              :               {
    6355           18 :               case POINTER_PLUS_EXPR:
    6356           18 :                 {
    6357           18 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6358           18 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    6359           18 :                   switch (TREE_CODE (_q50))
    6360              :                     {
    6361            0 :                     CASE_CONVERT:
    6362            0 :                       {
    6363            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    6364            0 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6365              :                           {
    6366            0 :                             {
    6367            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    6368            0 :                               tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6369            0 :                               if (res) return res;
    6370              :                             }
    6371              :                           }
    6372              :                         break;
    6373              :                       }
    6374           18 :                     default:;
    6375              :                     }
    6376           18 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6377              :                     {
    6378            0 :                       {
    6379            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    6380            0 :                         tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6381            0 :                         if (res) return res;
    6382              :                       }
    6383              :                     }
    6384              :                   break;
    6385              :                 }
    6386              :               default:;
    6387              :               }
    6388              :           }
    6389              :       }
    6390      5346636 :         break;
    6391              :       }
    6392     28248284 :     default:;
    6393              :     }
    6394     28248284 : {
    6395     28248284 :   tree _p0_pops[1];
    6396     28248284 :   if (tree_nop_convert (_p0, _p0_pops))
    6397              :     {
    6398      3163259 :       tree _q20 = _p0_pops[0];
    6399      3163259 :       switch (TREE_CODE (_q20))
    6400              :         {
    6401           97 :         case POINTER_PLUS_EXPR:
    6402           97 :           {
    6403           97 :             tree _q30 = TREE_OPERAND (_q20, 0);
    6404           97 :             tree _q31 = TREE_OPERAND (_q20, 1);
    6405           97 :             switch (TREE_CODE (_q30))
    6406              :               {
    6407           21 :               CASE_CONVERT:
    6408           21 :                 {
    6409           21 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    6410           21 :                   switch (TREE_CODE (_p1))
    6411              :                     {
    6412            0 :                     CASE_CONVERT:
    6413            0 :                       {
    6414            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6415            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6416              :                           {
    6417            0 :                             {
    6418            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    6419            0 :                               tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6420            0 :                               if (res) return res;
    6421              :                             }
    6422              :                           }
    6423              :                         break;
    6424              :                       }
    6425           21 :                     default:;
    6426              :                     }
    6427           21 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6428              :                     {
    6429            0 :                       {
    6430            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    6431            0 :                         tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6432            0 :                         if (res) return res;
    6433              :                       }
    6434              :                     }
    6435              :                   break;
    6436              :                 }
    6437           97 :               default:;
    6438              :               }
    6439           97 :             switch (TREE_CODE (_p1))
    6440              :               {
    6441           27 :               CASE_CONVERT:
    6442           27 :                 {
    6443           27 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    6444           27 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    6445              :                     {
    6446            0 :                       {
    6447            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    6448            0 :                         tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6449            0 :                         if (res) return res;
    6450              :                       }
    6451              :                     }
    6452              :                   break;
    6453              :                 }
    6454           97 :               default:;
    6455              :               }
    6456           97 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6457              :               {
    6458            0 :                 {
    6459            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    6460            0 :                   tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6461            0 :                   if (res) return res;
    6462              :                 }
    6463              :               }
    6464              :             break;
    6465              :           }
    6466              :         default:;
    6467              :         }
    6468              :     }
    6469              : }
    6470     28248284 :   switch (TREE_CODE (_p1))
    6471              :     {
    6472         6073 :     case POINTER_PLUS_EXPR:
    6473         6073 :       {
    6474         6073 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6475         6073 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6476         6073 :         switch (TREE_CODE (_q30))
    6477              :           {
    6478         3491 :           CASE_CONVERT:
    6479         3491 :             {
    6480         3491 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6481         3491 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6482              :                 {
    6483            0 :                   {
    6484            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    6485            0 :                     tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6486            0 :                     if (res) return res;
    6487              :                   }
    6488              :                 }
    6489              :               break;
    6490              :             }
    6491         6073 :           default:;
    6492              :           }
    6493         6073 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6494              :           {
    6495            0 :             {
    6496            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    6497            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6498            0 :               if (res) return res;
    6499              :             }
    6500              :           }
    6501              :         break;
    6502              :       }
    6503     28248284 :     default:;
    6504              :     }
    6505     28248284 : {
    6506     28248284 :   tree _p1_pops[1];
    6507     28248284 :   if (tree_nop_convert (_p1, _p1_pops))
    6508              :     {
    6509      1582854 :       tree _q30 = _p1_pops[0];
    6510      1582854 :       switch (TREE_CODE (_q30))
    6511              :         {
    6512           32 :         case POINTER_PLUS_EXPR:
    6513           32 :           {
    6514           32 :             tree _q40 = TREE_OPERAND (_q30, 0);
    6515           32 :             tree _q41 = TREE_OPERAND (_q30, 1);
    6516           32 :             switch (TREE_CODE (_q40))
    6517              :               {
    6518            0 :               CASE_CONVERT:
    6519            0 :                 {
    6520            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    6521            0 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6522              :                     {
    6523            0 :                       {
    6524            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    6525            0 :                         tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6526            0 :                         if (res) return res;
    6527              :                       }
    6528              :                     }
    6529              :                   break;
    6530              :                 }
    6531           32 :               default:;
    6532              :               }
    6533           32 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6534              :               {
    6535            0 :                 {
    6536            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    6537            0 :                   tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6538            0 :                   if (res) return res;
    6539              :                 }
    6540              :               }
    6541              :             break;
    6542              :           }
    6543              :         default:;
    6544              :         }
    6545              :     }
    6546              : }
    6547     28248284 :   switch (TREE_CODE (_p0))
    6548              :     {
    6549        64699 :     case POINTER_PLUS_EXPR:
    6550        64699 :       {
    6551        64699 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6552        64699 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6553        64699 :         {
    6554        64699 :           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6555        64699 :           tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6556        64699 :           if (res) return res;
    6557              :         }
    6558        64691 :         switch (TREE_CODE (_p1))
    6559              :           {
    6560         2310 :           case POINTER_PLUS_EXPR:
    6561         2310 :             {
    6562         2310 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6563         2310 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6564         2310 :               {
    6565         2310 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    6566         2310 :                 tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6567         2310 :                 if (res) return res;
    6568              :               }
    6569         2298 :               break;
    6570              :             }
    6571              :           default:;
    6572              :           }
    6573              :         break;
    6574              :       }
    6575     28248264 :     default:;
    6576              :     }
    6577     28248264 :   switch (TREE_CODE (_p1))
    6578              :     {
    6579         6061 :     case POINTER_PLUS_EXPR:
    6580         6061 :       {
    6581         6061 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6582         6061 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6583         6061 :         {
    6584         6061 :           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    6585         6061 :           tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6586         6061 :           if (res) return res;
    6587              :         }
    6588         6057 :         break;
    6589              :       }
    6590         3531 :     case MINUS_EXPR:
    6591         3531 :       {
    6592         3531 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6593         3531 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6594         3531 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6595              :           {
    6596            0 :             {
    6597            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    6598            0 :               tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6599            0 :               if (res) return res;
    6600              :             }
    6601              :           }
    6602              :         break;
    6603              :       }
    6604     28248260 :     default:;
    6605              :     }
    6606     28248260 :   switch (TREE_CODE (_p0))
    6607              :     {
    6608       158371 :     case MINUS_EXPR:
    6609       158371 :       {
    6610       158371 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6611       158371 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6612       158371 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6613              :           {
    6614           92 :             {
    6615           92 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    6616           92 :               tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6617           92 :               if (res) return res;
    6618              :             }
    6619              :           }
    6620              :         break;
    6621              :       }
    6622         4458 :     case TRUNC_DIV_EXPR:
    6623         4458 :       {
    6624         4458 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6625         4458 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6626         4458 :         if (tree_expr_nonnegative_p (_q20))
    6627              :           {
    6628         1144 :             if (tree_expr_nonnegative_p (_q21))
    6629              :               {
    6630         1127 :                 if (integer_zerop (_p1))
    6631              :                   {
    6632          266 :                     {
    6633          266 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6634          266 :                       tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    6635          266 :                       if (res) return res;
    6636              :                     }
    6637              :                   }
    6638              :               }
    6639              :           }
    6640              :         break;
    6641              :       }
    6642        54542 :     case TRUNC_MOD_EXPR:
    6643        54542 :       {
    6644        54542 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6645        54542 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6646        54542 :         if (tree_expr_nonnegative_p (_q20))
    6647              :           {
    6648         9566 :             if (tree_expr_nonnegative_p (_q21))
    6649              :               {
    6650         8585 :                 if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6651              :                   {
    6652           19 :                     {
    6653           19 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6654           19 :                       tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    6655           19 :                       if (res) return res;
    6656              :                     }
    6657              :                   }
    6658              :               }
    6659              :           }
    6660              :         break;
    6661              :       }
    6662     28247951 :     default:;
    6663              :     }
    6664     28247951 :   switch (TREE_CODE (_p1))
    6665              :     {
    6666          182 :     case TRUNC_MOD_EXPR:
    6667          182 :       {
    6668          182 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6669          182 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6670          182 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6671              :           {
    6672            0 :             if (tree_expr_nonnegative_p (_q30))
    6673              :               {
    6674            0 :                 if (tree_expr_nonnegative_p (_q31))
    6675              :                   {
    6676            0 :                     {
    6677            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6678            0 :                       tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    6679            0 :                       if (res) return res;
    6680              :                     }
    6681              :                   }
    6682              :               }
    6683              :           }
    6684              :         break;
    6685              :       }
    6686     28247951 :     default:;
    6687              :     }
    6688     28247951 :   switch (TREE_CODE (_p0))
    6689              :     {
    6690      5346632 :     CASE_CONVERT:
    6691      5346632 :       {
    6692      5346632 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6693      5346632 :         switch (TREE_CODE (_p1))
    6694              :           {
    6695      1753066 :           CASE_CONVERT:
    6696      1753066 :             {
    6697      1753066 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6698      1753066 :               switch (TREE_CODE (_q40))
    6699              :                 {
    6700            0 :                 case MINUS_EXPR:
    6701            0 :                   {
    6702            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6703            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6704            0 :                     switch (TREE_CODE (_q50))
    6705              :                       {
    6706            0 :                       case INTEGER_CST:
    6707            0 :                         {
    6708            0 :                           switch (TREE_CODE (_q51))
    6709              :                             {
    6710            0 :                             CASE_CONVERT:
    6711            0 :                               {
    6712            0 :                                 tree _q70 = TREE_OPERAND (_q51, 0);
    6713            0 :                                 if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6714              :                                   {
    6715            0 :                                     {
    6716            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    6717            0 :                                       tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6718            0 :                                       if (res) return res;
    6719              :                                     }
    6720              :                                   }
    6721              :                                 break;
    6722              :                               }
    6723              :                             default:;
    6724              :                             }
    6725              :                           break;
    6726              :                         }
    6727              :                       default:;
    6728              :                       }
    6729              :                     break;
    6730              :                   }
    6731              :                 default:;
    6732              :                 }
    6733              :               break;
    6734              :             }
    6735      5346632 :           default:;
    6736              :           }
    6737      5346632 :         switch (TREE_CODE (_q20))
    6738              :           {
    6739          244 :           case MINUS_EXPR:
    6740          244 :             {
    6741          244 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6742          244 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6743          244 :               switch (TREE_CODE (_q30))
    6744              :                 {
    6745           56 :                 case INTEGER_CST:
    6746           56 :                   {
    6747           56 :                     switch (TREE_CODE (_q31))
    6748              :                       {
    6749            0 :                       CASE_CONVERT:
    6750            0 :                         {
    6751            0 :                           tree _q50 = TREE_OPERAND (_q31, 0);
    6752            0 :                           switch (TREE_CODE (_p1))
    6753              :                             {
    6754            0 :                             CASE_CONVERT:
    6755            0 :                               {
    6756            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    6757            0 :                                 if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    6758              :                                   {
    6759            0 :                                     {
    6760            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    6761            0 :                                       tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6762            0 :                                       if (res) return res;
    6763              :                                     }
    6764              :                                   }
    6765              :                                 break;
    6766              :                               }
    6767            0 :                             default:;
    6768              :                             }
    6769            0 :                           if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6770              :                             {
    6771            0 :                               {
    6772            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    6773            0 :                                 tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6774            0 :                                 if (res) return res;
    6775              :                               }
    6776              :                             }
    6777              :                           break;
    6778              :                         }
    6779           56 :                       default:;
    6780              :                       }
    6781           56 :                     switch (TREE_CODE (_p1))
    6782              :                       {
    6783            0 :                       CASE_CONVERT:
    6784            0 :                         {
    6785            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6786            0 :                           if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    6787              :                             {
    6788            0 :                               {
    6789            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6790            0 :                                 tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6791            0 :                                 if (res) return res;
    6792              :                               }
    6793              :                             }
    6794              :                           break;
    6795              :                         }
    6796           56 :                       default:;
    6797              :                       }
    6798           56 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6799              :                       {
    6800            0 :                         {
    6801            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6802            0 :                           tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6803            0 :                           if (res) return res;
    6804              :                         }
    6805              :                       }
    6806              :                     break;
    6807              :                   }
    6808              :                 default:;
    6809              :                 }
    6810              :               break;
    6811              :             }
    6812      5346632 :           default:;
    6813              :           }
    6814      5346632 :         switch (TREE_CODE (_p1))
    6815              :           {
    6816      1753066 :           CASE_CONVERT:
    6817      1753066 :             {
    6818      1753066 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6819      1753066 :               switch (TREE_CODE (_q40))
    6820              :                 {
    6821            0 :                 case MINUS_EXPR:
    6822            0 :                   {
    6823            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6824            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6825            0 :                     switch (TREE_CODE (_q50))
    6826              :                       {
    6827            0 :                       case INTEGER_CST:
    6828            0 :                         {
    6829            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6830              :                             {
    6831            0 :                               {
    6832            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    6833            0 :                                 tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6834            0 :                                 if (res) return res;
    6835              :                               }
    6836              :                             }
    6837              :                           break;
    6838              :                         }
    6839              :                       default:;
    6840              :                       }
    6841              :                     break;
    6842              :                   }
    6843              :                 default:;
    6844              :                 }
    6845              :               break;
    6846              :             }
    6847          283 :           case MINUS_EXPR:
    6848          283 :             {
    6849          283 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6850          283 :               tree _q41 = TREE_OPERAND (_p1, 1);
    6851          283 :               switch (TREE_CODE (_q40))
    6852              :                 {
    6853           80 :                 case INTEGER_CST:
    6854           80 :                   {
    6855           80 :                     switch (TREE_CODE (_q41))
    6856              :                       {
    6857           12 :                       CASE_CONVERT:
    6858           12 :                         {
    6859           12 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6860           12 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6861              :                             {
    6862            0 :                               {
    6863            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6864            0 :                                 tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6865            0 :                                 if (res) return res;
    6866              :                               }
    6867              :                             }
    6868              :                           break;
    6869              :                         }
    6870           80 :                       default:;
    6871              :                       }
    6872           80 :                     if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6873              :                       {
    6874            0 :                         {
    6875            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6876            0 :                           tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6877            0 :                           if (res) return res;
    6878              :                         }
    6879              :                       }
    6880              :                     break;
    6881              :                   }
    6882              :                 default:;
    6883              :                 }
    6884              :               break;
    6885              :             }
    6886              :           default:;
    6887              :           }
    6888              :         break;
    6889              :       }
    6890       158289 :     case MINUS_EXPR:
    6891       158289 :       {
    6892       158289 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6893       158289 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6894       158289 :         switch (TREE_CODE (_q20))
    6895              :           {
    6896        42262 :           case INTEGER_CST:
    6897        42262 :             {
    6898        42262 :               switch (TREE_CODE (_q21))
    6899              :                 {
    6900        23674 :                 CASE_CONVERT:
    6901        23674 :                   {
    6902        23674 :                     tree _q40 = TREE_OPERAND (_q21, 0);
    6903        23674 :                     switch (TREE_CODE (_p1))
    6904              :                       {
    6905            0 :                       CASE_CONVERT:
    6906            0 :                         {
    6907            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6908            0 :                           if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    6909              :                             {
    6910            0 :                               {
    6911            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6912            0 :                                 tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6913            0 :                                 if (res) return res;
    6914              :                               }
    6915              :                             }
    6916              :                           break;
    6917              :                         }
    6918        23674 :                       default:;
    6919              :                       }
    6920        23674 :                     if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6921              :                       {
    6922            0 :                         {
    6923            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6924            0 :                           tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6925            0 :                           if (res) return res;
    6926              :                         }
    6927              :                       }
    6928              :                     break;
    6929              :                   }
    6930        42262 :                 default:;
    6931              :                 }
    6932        42262 :               switch (TREE_CODE (_p1))
    6933              :                 {
    6934           44 :                 CASE_CONVERT:
    6935           44 :                   {
    6936           44 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6937           44 :                     if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6938              :                       {
    6939            0 :                         {
    6940            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6941            0 :                           tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6942            0 :                           if (res) return res;
    6943              :                         }
    6944              :                       }
    6945              :                     break;
    6946              :                   }
    6947        42262 :                 default:;
    6948              :                 }
    6949        42262 :               if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6950              :                 {
    6951            2 :                   {
    6952            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6953            2 :                     tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6954            2 :                     if (res) return res;
    6955              :                   }
    6956              :                 }
    6957              :               break;
    6958              :             }
    6959              :           default:;
    6960              :           }
    6961              :         break;
    6962              :       }
    6963     28247950 :     default:;
    6964              :     }
    6965     28247950 :   switch (TREE_CODE (_p1))
    6966              :     {
    6967      2057596 :     CASE_CONVERT:
    6968      2057596 :       {
    6969      2057596 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6970      2057596 :         switch (TREE_CODE (_q30))
    6971              :           {
    6972           12 :           case MINUS_EXPR:
    6973           12 :             {
    6974           12 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6975           12 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6976           12 :               switch (TREE_CODE (_q40))
    6977              :                 {
    6978           12 :                 case INTEGER_CST:
    6979           12 :                   {
    6980           12 :                     switch (TREE_CODE (_q41))
    6981              :                       {
    6982           12 :                       CASE_CONVERT:
    6983           12 :                         {
    6984           12 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6985           12 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6986              :                             {
    6987            0 :                               {
    6988            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6989            0 :                                 tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6990            0 :                                 if (res) return res;
    6991              :                               }
    6992              :                             }
    6993              :                           break;
    6994              :                         }
    6995           12 :                       default:;
    6996              :                       }
    6997           12 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6998              :                       {
    6999            0 :                         {
    7000            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    7001            0 :                           tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7002            0 :                           if (res) return res;
    7003              :                         }
    7004              :                       }
    7005              :                     break;
    7006              :                   }
    7007              :                 default:;
    7008              :                 }
    7009              :               break;
    7010              :             }
    7011              :           default:;
    7012              :           }
    7013              :         break;
    7014              :       }
    7015         3531 :     case MINUS_EXPR:
    7016         3531 :       {
    7017         3531 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7018         3531 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7019         3531 :         switch (TREE_CODE (_q30))
    7020              :           {
    7021          282 :           case INTEGER_CST:
    7022          282 :             {
    7023          282 :               switch (TREE_CODE (_q31))
    7024              :                 {
    7025           16 :                 CASE_CONVERT:
    7026           16 :                   {
    7027           16 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    7028           16 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7029              :                       {
    7030            0 :                         {
    7031            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7032            0 :                           tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7033            0 :                           if (res) return res;
    7034              :                         }
    7035              :                       }
    7036              :                     break;
    7037              :                   }
    7038          282 :                 default:;
    7039              :                 }
    7040          282 :               if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7041              :                 {
    7042            0 :                   {
    7043            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7044            0 :                     tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7045            0 :                     if (res) return res;
    7046              :                   }
    7047              :                 }
    7048              :               break;
    7049              :             }
    7050              :           default:;
    7051              :           }
    7052              :         break;
    7053              :       }
    7054     28247950 :     default:;
    7055              :     }
    7056     28247950 :   switch (TREE_CODE (_p0))
    7057              :     {
    7058         1131 :     case LT_EXPR:
    7059         1131 :       {
    7060         1131 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7061         1131 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7062         1131 :         switch (TREE_CODE (_p1))
    7063              :           {
    7064           17 :           case GT_EXPR:
    7065           17 :             {
    7066           17 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7067           17 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7068           17 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7069              :                 {
    7070            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7071              :                     {
    7072            0 :                       {
    7073            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7074            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    7075            0 :                         if (res) return res;
    7076              :                       }
    7077              :                     }
    7078              :                 }
    7079              :               break;
    7080              :             }
    7081            0 :           case EQ_EXPR:
    7082            0 :             {
    7083            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7084            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7085            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7086              :                 {
    7087            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7088              :                     {
    7089            0 :                       {
    7090            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7091            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    7092            0 :                         if (res) return res;
    7093              :                       }
    7094              :                     }
    7095              :                 }
    7096              :               break;
    7097              :             }
    7098            1 :           case NE_EXPR:
    7099            1 :             {
    7100            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7101            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7102            1 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7103              :                 {
    7104            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7105              :                     {
    7106            0 :                       {
    7107            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7108            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    7109            0 :                         if (res) return res;
    7110              :                       }
    7111              :                     }
    7112              :                 }
    7113              :               break;
    7114              :             }
    7115              :           default:;
    7116              :           }
    7117              :         break;
    7118              :       }
    7119         1562 :     case LE_EXPR:
    7120         1562 :       {
    7121         1562 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7122         1562 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7123         1562 :         switch (TREE_CODE (_p1))
    7124              :           {
    7125            5 :           case GE_EXPR:
    7126            5 :             {
    7127            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7128            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7129            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7130              :                 {
    7131            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7132              :                     {
    7133            0 :                       {
    7134            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7135            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    7136            0 :                         if (res) return res;
    7137              :                       }
    7138              :                     }
    7139              :                 }
    7140              :               break;
    7141              :             }
    7142            0 :           case EQ_EXPR:
    7143            0 :             {
    7144            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7145            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7146            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7147              :                 {
    7148            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7149              :                     {
    7150            0 :                       {
    7151            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7152            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    7153            0 :                         if (res) return res;
    7154              :                       }
    7155              :                     }
    7156              :                 }
    7157              :               break;
    7158              :             }
    7159            8 :           case NE_EXPR:
    7160            8 :             {
    7161            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7162            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7163            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7164              :                 {
    7165            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7166              :                     {
    7167            0 :                       {
    7168            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7169            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    7170            0 :                         if (res) return res;
    7171              :                       }
    7172              :                     }
    7173              :                 }
    7174              :               break;
    7175              :             }
    7176              :           default:;
    7177              :           }
    7178              :         break;
    7179              :       }
    7180        69797 :     case GT_EXPR:
    7181        69797 :       {
    7182        69797 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7183        69797 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7184        69797 :         switch (TREE_CODE (_p1))
    7185              :           {
    7186        68017 :           case GT_EXPR:
    7187        68017 :             {
    7188        68017 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7189        68017 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7190        68017 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7191              :                 {
    7192           12 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7193              :                     {
    7194            0 :                       {
    7195            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7196            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    7197            0 :                         if (res) return res;
    7198              :                       }
    7199            0 :                       {
    7200            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7201            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    7202            0 :                         if (res) return res;
    7203              :                       }
    7204              :                     }
    7205              :                 }
    7206              :               break;
    7207              :             }
    7208           59 :           case EQ_EXPR:
    7209           59 :             {
    7210           59 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7211           59 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7212           59 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7213              :                 {
    7214            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7215              :                     {
    7216            0 :                       {
    7217            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7218            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    7219            0 :                         if (res) return res;
    7220              :                       }
    7221              :                     }
    7222              :                 }
    7223              :               break;
    7224              :             }
    7225           37 :           case NE_EXPR:
    7226           37 :             {
    7227           37 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7228           37 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7229           37 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7230              :                 {
    7231            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7232              :                     {
    7233            0 :                       {
    7234            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7235            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    7236            0 :                         if (res) return res;
    7237              :                       }
    7238              :                     }
    7239              :                 }
    7240              :               break;
    7241              :             }
    7242           42 :           case LT_EXPR:
    7243           42 :             {
    7244           42 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7245           42 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7246           42 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7247              :                 {
    7248            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7249              :                     {
    7250            0 :                       {
    7251            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7252            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    7253            0 :                         if (res) return res;
    7254              :                       }
    7255              :                     }
    7256              :                 }
    7257              :               break;
    7258              :             }
    7259              :           default:;
    7260              :           }
    7261              :         break;
    7262              :       }
    7263         6719 :     case GE_EXPR:
    7264         6719 :       {
    7265         6719 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7266         6719 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7267         6719 :         switch (TREE_CODE (_p1))
    7268              :           {
    7269           26 :           case GE_EXPR:
    7270           26 :             {
    7271           26 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7272           26 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7273           26 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7274              :                 {
    7275            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7276              :                     {
    7277            0 :                       {
    7278            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7279            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    7280            0 :                         if (res) return res;
    7281              :                       }
    7282            0 :                       {
    7283            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7284            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    7285            0 :                         if (res) return res;
    7286              :                       }
    7287              :                     }
    7288              :                 }
    7289              :               break;
    7290              :             }
    7291           92 :           case EQ_EXPR:
    7292           92 :             {
    7293           92 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7294           92 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7295           92 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7296              :                 {
    7297            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7298              :                     {
    7299            0 :                       {
    7300            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7301            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    7302            0 :                         if (res) return res;
    7303              :                       }
    7304              :                     }
    7305              :                 }
    7306              :               break;
    7307              :             }
    7308           56 :           case NE_EXPR:
    7309           56 :             {
    7310           56 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7311           56 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7312           56 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7313              :                 {
    7314            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7315              :                     {
    7316            0 :                       {
    7317            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7318            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    7319            0 :                         if (res) return res;
    7320              :                       }
    7321              :                     }
    7322              :                 }
    7323              :               break;
    7324              :             }
    7325            9 :           case LE_EXPR:
    7326            9 :             {
    7327            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7328            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7329            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7330              :                 {
    7331            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7332              :                     {
    7333            0 :                       {
    7334            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7335            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    7336            0 :                         if (res) return res;
    7337              :                       }
    7338              :                     }
    7339              :                 }
    7340              :               break;
    7341              :             }
    7342              :           default:;
    7343              :           }
    7344              :         break;
    7345              :       }
    7346        32726 :     case EQ_EXPR:
    7347        32726 :       {
    7348        32726 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7349        32726 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7350        32726 :         switch (TREE_CODE (_p1))
    7351              :           {
    7352            5 :           case LT_EXPR:
    7353            5 :             {
    7354            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7355            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7356            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7357              :                 {
    7358            4 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7359              :                     {
    7360            0 :                       {
    7361            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7362            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    7363            0 :                         if (res) return res;
    7364              :                       }
    7365              :                     }
    7366              :                 }
    7367              :               break;
    7368              :             }
    7369            4 :           case LE_EXPR:
    7370            4 :             {
    7371            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7372            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7373            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7374              :                 {
    7375            4 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7376              :                     {
    7377            0 :                       {
    7378            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7379            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    7380            0 :                         if (res) return res;
    7381              :                       }
    7382              :                     }
    7383              :                 }
    7384              :               break;
    7385              :             }
    7386           73 :           case GT_EXPR:
    7387           73 :             {
    7388           73 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7389           73 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7390           73 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7391              :                 {
    7392            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7393              :                     {
    7394            0 :                       {
    7395            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7396            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    7397            0 :                         if (res) return res;
    7398              :                       }
    7399              :                     }
    7400              :                 }
    7401              :               break;
    7402              :             }
    7403          110 :           case GE_EXPR:
    7404          110 :             {
    7405          110 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7406          110 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7407          110 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7408              :                 {
    7409            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7410              :                     {
    7411            0 :                       {
    7412            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7413            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    7414            0 :                         if (res) return res;
    7415              :                       }
    7416              :                     }
    7417              :                 }
    7418              :               break;
    7419              :             }
    7420        32726 :           default:;
    7421              :           }
    7422        32726 :         if (tree_zero_one_valued_p (_q20))
    7423              :           {
    7424         6834 :             if (integer_zerop (_q21))
    7425              :               {
    7426            8 :                 switch (TREE_CODE (_p1))
    7427              :                   {
    7428            0 :                   case EQ_EXPR:
    7429            0 :                     {
    7430            0 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    7431            0 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    7432            0 :                       if (tree_zero_one_valued_p (_q50))
    7433              :                         {
    7434            0 :                           if (integer_zerop (_q51))
    7435              :                             {
    7436            0 :                               {
    7437            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    7438            0 :                                 tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, EQ_EXPR, EQ_EXPR);
    7439            0 :                                 if (res) return res;
    7440              :                               }
    7441            0 :                               {
    7442            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    7443            0 :                                 tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, EQ_EXPR, EQ_EXPR);
    7444            0 :                                 if (res) return res;
    7445              :                               }
    7446              :                             }
    7447              :                         }
    7448              :                       break;
    7449              :                     }
    7450            0 :                   case NE_EXPR:
    7451            0 :                     {
    7452            0 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    7453            0 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    7454            0 :                       if (tree_zero_one_valued_p (_q50))
    7455              :                         {
    7456            0 :                           if (integer_zerop (_q51))
    7457              :                             {
    7458            0 :                               {
    7459            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    7460            0 :                                 tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, NE_EXPR, NE_EXPR);
    7461            0 :                                 if (res) return res;
    7462              :                               }
    7463            0 :                               {
    7464            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    7465            0 :                                 tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, EQ_EXPR, NE_EXPR);
    7466            0 :                                 if (res) return res;
    7467              :                               }
    7468              :                             }
    7469              :                         }
    7470              :                       break;
    7471              :                     }
    7472              :                   default:;
    7473              :                   }
    7474              :               }
    7475              :           }
    7476              :         break;
    7477              :       }
    7478        11864 :     case NE_EXPR:
    7479        11864 :       {
    7480        11864 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7481        11864 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7482        11864 :         switch (TREE_CODE (_p1))
    7483              :           {
    7484            5 :           case LT_EXPR:
    7485            5 :             {
    7486            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7487            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7488            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7489              :                 {
    7490            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7491              :                     {
    7492            0 :                       {
    7493            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7494            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    7495            0 :                         if (res) return res;
    7496              :                       }
    7497              :                     }
    7498              :                 }
    7499              :               break;
    7500              :             }
    7501            0 :           case LE_EXPR:
    7502            0 :             {
    7503            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7504            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7505            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7506              :                 {
    7507            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7508              :                     {
    7509            0 :                       {
    7510            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7511            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    7512            0 :                         if (res) return res;
    7513              :                       }
    7514              :                     }
    7515              :                 }
    7516              :               break;
    7517              :             }
    7518           21 :           case GT_EXPR:
    7519           21 :             {
    7520           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7521           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7522           21 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7523              :                 {
    7524            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7525              :                     {
    7526            0 :                       {
    7527            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7528            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    7529            0 :                         if (res) return res;
    7530              :                       }
    7531              :                     }
    7532              :                 }
    7533              :               break;
    7534              :             }
    7535            3 :           case GE_EXPR:
    7536            3 :             {
    7537            3 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7538            3 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7539            3 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7540              :                 {
    7541            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7542              :                     {
    7543            0 :                       {
    7544            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7545            0 :                         tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    7546            0 :                         if (res) return res;
    7547              :                       }
    7548              :                     }
    7549              :                 }
    7550              :               break;
    7551              :             }
    7552        11864 :           default:;
    7553              :           }
    7554        11864 :         if (tree_zero_one_valued_p (_q20))
    7555              :           {
    7556           12 :             if (integer_zerop (_q21))
    7557              :               {
    7558           11 :                 switch (TREE_CODE (_p1))
    7559              :                   {
    7560            0 :                   case NE_EXPR:
    7561            0 :                     {
    7562            0 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    7563            0 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    7564            0 :                       if (tree_zero_one_valued_p (_q50))
    7565              :                         {
    7566            0 :                           if (integer_zerop (_q51))
    7567              :                             {
    7568            0 :                               {
    7569            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    7570            0 :                                 tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR, EQ_EXPR);
    7571            0 :                                 if (res) return res;
    7572              :                               }
    7573            0 :                               {
    7574            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    7575            0 :                                 tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR, EQ_EXPR);
    7576            0 :                                 if (res) return res;
    7577              :                               }
    7578              :                             }
    7579              :                         }
    7580              :                       break;
    7581              :                     }
    7582            0 :                   case EQ_EXPR:
    7583            0 :                     {
    7584            0 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    7585            0 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    7586            0 :                       if (tree_zero_one_valued_p (_q50))
    7587              :                         {
    7588            0 :                           if (integer_zerop (_q51))
    7589              :                             {
    7590            0 :                               {
    7591            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    7592            0 :                                 tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, EQ_EXPR, NE_EXPR);
    7593            0 :                                 if (res) return res;
    7594              :                               }
    7595            0 :                               {
    7596            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    7597            0 :                                 tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, NE_EXPR, NE_EXPR);
    7598            0 :                                 if (res) return res;
    7599              :                               }
    7600              :                             }
    7601              :                         }
    7602              :                       break;
    7603              :                     }
    7604              :                   default:;
    7605              :                   }
    7606              :               }
    7607              :           }
    7608              :         break;
    7609              :       }
    7610        11365 :     case MIN_EXPR:
    7611        11365 :       {
    7612        11365 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7613        11365 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7614        11365 :         switch (TREE_CODE (_p1))
    7615              :           {
    7616            0 :           case MAX_EXPR:
    7617            0 :             {
    7618            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7619            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7620            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7621              :                 {
    7622            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7623              :                     {
    7624            0 :                       {
    7625            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7626            0 :                         if (!HONOR_NANS (captures[0])
    7627              : )
    7628              :                           {
    7629            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1568;
    7630            0 :                             {
    7631            0 :                               tree res_op0;
    7632            0 :                               res_op0 = captures[0];
    7633            0 :                               tree res_op1;
    7634            0 :                               res_op1 = captures[1];
    7635            0 :                               tree _r;
    7636            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    7637            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
    7638              :                               return _r;
    7639              :                             }
    7640            0 : next_after_fail1568:;
    7641              :                           }
    7642              :                       }
    7643              :                     }
    7644              :                 }
    7645            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7646              :                 {
    7647            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7648              :                     {
    7649            0 :                       {
    7650            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7651            0 :                         if (!HONOR_NANS (captures[0])
    7652              : )
    7653              :                           {
    7654            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1569;
    7655            0 :                             {
    7656            0 :                               tree res_op0;
    7657            0 :                               res_op0 = captures[0];
    7658            0 :                               tree res_op1;
    7659            0 :                               res_op1 = captures[1];
    7660            0 :                               tree _r;
    7661            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    7662            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
    7663              :                               return _r;
    7664              :                             }
    7665            0 : next_after_fail1569:;
    7666              :                           }
    7667              :                       }
    7668              :                     }
    7669              :                 }
    7670              :               break;
    7671              :             }
    7672        11365 :           default:;
    7673              :           }
    7674        11365 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7675              :           {
    7676            0 :             {
    7677            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7678            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    7679            0 :               if (res) return res;
    7680              :             }
    7681              :           }
    7682        11365 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7683              :           {
    7684            0 :             {
    7685            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7686            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    7687            0 :               if (res) return res;
    7688              :             }
    7689              :           }
    7690              :         break;
    7691              :       }
    7692          718 :     case MAX_EXPR:
    7693          718 :       {
    7694          718 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7695          718 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7696          718 :         switch (TREE_CODE (_p1))
    7697              :           {
    7698            0 :           case MIN_EXPR:
    7699            0 :             {
    7700            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7701            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7702            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7703              :                 {
    7704            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7705              :                     {
    7706            0 :                       {
    7707            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7708            0 :                         if (!HONOR_NANS (captures[0])
    7709              : )
    7710              :                           {
    7711            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1570;
    7712            0 :                             {
    7713            0 :                               tree res_op0;
    7714            0 :                               res_op0 = captures[0];
    7715            0 :                               tree res_op1;
    7716            0 :                               res_op1 = captures[1];
    7717            0 :                               tree _r;
    7718            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    7719            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
    7720              :                               return _r;
    7721              :                             }
    7722            0 : next_after_fail1570:;
    7723              :                           }
    7724              :                       }
    7725              :                     }
    7726              :                 }
    7727            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7728              :                 {
    7729            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7730              :                     {
    7731            0 :                       {
    7732            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7733            0 :                         if (!HONOR_NANS (captures[0])
    7734              : )
    7735              :                           {
    7736            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1571;
    7737            0 :                             {
    7738            0 :                               tree res_op0;
    7739            0 :                               res_op0 = captures[0];
    7740            0 :                               tree res_op1;
    7741            0 :                               res_op1 = captures[1];
    7742            0 :                               tree _r;
    7743            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    7744            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
    7745              :                               return _r;
    7746              :                             }
    7747            0 : next_after_fail1571:;
    7748              :                           }
    7749              :                       }
    7750              :                     }
    7751              :                 }
    7752              :               break;
    7753              :             }
    7754          718 :           default:;
    7755              :           }
    7756          718 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7757              :           {
    7758            0 :             {
    7759            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7760            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    7761            0 :               if (res) return res;
    7762              :             }
    7763              :           }
    7764          718 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7765              :           {
    7766            1 :             {
    7767            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7768            1 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    7769            1 :               if (res) return res;
    7770              :             }
    7771              :           }
    7772              :         break;
    7773              :       }
    7774     28247950 :     default:;
    7775              :     }
    7776     28247950 : if (tree_with_possible_nonzero_bits (_p0))
    7777              :   {
    7778      9904813 :     if (tree_with_known_nonzero_bits (_p1))
    7779              :       {
    7780      8383901 :         {
    7781      8383901 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7782      8383901 :           tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7783      8383901 :           if (res) return res;
    7784              :         }
    7785              :       }
    7786              :   }
    7787     28230812 : if (tree_with_known_nonzero_bits (_p0))
    7788              :   {
    7789      6368064 :     if (tree_with_possible_nonzero_bits (_p1))
    7790              :       {
    7791      6336351 :         {
    7792      6336351 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    7793      6336351 :           tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7794      6336351 :           if (res) return res;
    7795              :         }
    7796              :       }
    7797              :   }
    7798     28230437 :   switch (TREE_CODE (_p1))
    7799              :     {
    7800          157 :     case MIN_EXPR:
    7801          157 :       {
    7802          157 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7803          157 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7804          157 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7805              :           {
    7806            0 :             {
    7807            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7808            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    7809            0 :               if (res) return res;
    7810              :             }
    7811              :           }
    7812          157 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7813              :           {
    7814            0 :             {
    7815            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7816            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    7817            0 :               if (res) return res;
    7818              :             }
    7819              :           }
    7820              :         break;
    7821              :       }
    7822           58 :     case MAX_EXPR:
    7823           58 :       {
    7824           58 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7825           58 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7826           58 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7827              :           {
    7828            0 :             {
    7829            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7830            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    7831            0 :               if (res) return res;
    7832              :             }
    7833              :           }
    7834           58 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7835              :           {
    7836            0 :             {
    7837            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7838            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    7839            0 :               if (res) return res;
    7840              :             }
    7841              :           }
    7842              :         break;
    7843              :       }
    7844     28230437 :     default:;
    7845              :     }
    7846     28230437 :   switch (TREE_CODE (_p0))
    7847              :     {
    7848        11365 :     case MIN_EXPR:
    7849        11365 :       {
    7850        11365 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7851        11365 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7852        11365 :         switch (TREE_CODE (_q21))
    7853              :           {
    7854          218 :           case INTEGER_CST:
    7855          218 :             {
    7856          218 :               switch (TREE_CODE (_p1))
    7857              :                 {
    7858            0 :                 case INTEGER_CST:
    7859            0 :                   {
    7860            0 :                     {
    7861            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7862            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7863            0 :                       if (res) return res;
    7864              :                     }
    7865            0 :                     break;
    7866              :                   }
    7867              :                 default:;
    7868              :                 }
    7869              :               break;
    7870              :             }
    7871              :           default:;
    7872              :           }
    7873              :         break;
    7874              :       }
    7875          718 :     case MAX_EXPR:
    7876          718 :       {
    7877          718 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7878          718 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7879          718 :         switch (TREE_CODE (_q21))
    7880              :           {
    7881          453 :           case INTEGER_CST:
    7882          453 :             {
    7883          453 :               switch (TREE_CODE (_p1))
    7884              :                 {
    7885           42 :                 case INTEGER_CST:
    7886           42 :                   {
    7887           42 :                     {
    7888           42 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7889           42 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7890           42 :                       if (res) return res;
    7891              :                     }
    7892            0 :                     break;
    7893              :                   }
    7894              :                 default:;
    7895              :                 }
    7896              :               break;
    7897              :             }
    7898          676 :           default:;
    7899              :           }
    7900          676 :         if (tree_expr_nonnegative_p (_q20))
    7901              :           {
    7902          173 :             if (tree_expr_nonnegative_p (_q21))
    7903              :               {
    7904          171 :                 if (integer_zerop (_p1))
    7905              :                   {
    7906            0 :                     {
    7907            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7908            0 :                       tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7909            0 :                       if (res) return res;
    7910              :                     }
    7911              :                   }
    7912              :               }
    7913              :           }
    7914              :         break;
    7915              :       }
    7916       843043 :     case BIT_AND_EXPR:
    7917       843043 :       {
    7918       843043 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7919       843043 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7920       843043 :         switch (TREE_CODE (_q20))
    7921              :           {
    7922          792 :           case LSHIFT_EXPR:
    7923          792 :             {
    7924          792 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7925          792 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7926          792 :               if (integer_pow2p (_q30))
    7927              :                 {
    7928          784 :                   if (integer_pow2p (_q21))
    7929              :                     {
    7930            1 :                       if (integer_zerop (_p1))
    7931              :                         {
    7932            1 :                           {
    7933            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7934            1 :                             tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7935            1 :                             if (res) return res;
    7936              :                           }
    7937              :                         }
    7938              :                     }
    7939              :                 }
    7940          791 :               switch (TREE_CODE (_q31))
    7941              :                 {
    7942            0 :                 case INTEGER_CST:
    7943            0 :                   {
    7944            0 :                     switch (TREE_CODE (_q21))
    7945              :                       {
    7946            0 :                       case INTEGER_CST:
    7947            0 :                         {
    7948            0 :                           switch (TREE_CODE (_p1))
    7949              :                             {
    7950            0 :                             case INTEGER_CST:
    7951            0 :                               {
    7952            0 :                                 {
    7953            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7954            0 :                                   tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7955            0 :                                   if (res) return res;
    7956              :                                 }
    7957            0 :                                 break;
    7958              :                               }
    7959              :                             default:;
    7960              :                             }
    7961              :                           break;
    7962              :                         }
    7963              :                       default:;
    7964              :                       }
    7965              :                     break;
    7966              :                   }
    7967          791 :                 default:;
    7968              :                 }
    7969          791 :               if (integer_onep (_q30))
    7970              :                 {
    7971          783 :                   if (integer_pow2p (_q21))
    7972              :                     {
    7973            0 :                       if (integer_zerop (_p1))
    7974              :                         {
    7975            0 :                           {
    7976            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
    7977            0 :                             tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7978            0 :                             if (res) return res;
    7979              :                           }
    7980              :                         }
    7981              :                     }
    7982              :                 }
    7983              :               break;
    7984              :             }
    7985         3053 :           case RSHIFT_EXPR:
    7986         3053 :             {
    7987         3053 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7988         3053 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7989         3053 :               if (integer_pow2p (_q30))
    7990              :                 {
    7991            1 :                   if (integer_pow2p (_q21))
    7992              :                     {
    7993            1 :                       if (integer_zerop (_p1))
    7994              :                         {
    7995            1 :                           {
    7996            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7997            1 :                             tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7998            1 :                             if (res) return res;
    7999              :                           }
    8000              :                         }
    8001              :                     }
    8002              :                 }
    8003         3052 :               switch (TREE_CODE (_q31))
    8004              :                 {
    8005          525 :                 case INTEGER_CST:
    8006          525 :                   {
    8007          525 :                     switch (TREE_CODE (_q21))
    8008              :                       {
    8009          525 :                       case INTEGER_CST:
    8010          525 :                         {
    8011          525 :                           switch (TREE_CODE (_p1))
    8012              :                             {
    8013          525 :                             case INTEGER_CST:
    8014          525 :                               {
    8015          525 :                                 {
    8016          525 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    8017          525 :                                   tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8018          525 :                                   if (res) return res;
    8019              :                                 }
    8020            0 :                                 break;
    8021              :                               }
    8022              :                             default:;
    8023              :                             }
    8024              :                           break;
    8025              :                         }
    8026              :                       default:;
    8027              :                       }
    8028              :                     break;
    8029              :                   }
    8030              :                 default:;
    8031              :                 }
    8032              :               break;
    8033              :             }
    8034         6136 :           case PLUS_EXPR:
    8035         6136 :             {
    8036         6136 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8037         6136 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8038         6136 :               switch (TREE_CODE (_q31))
    8039              :                 {
    8040         5833 :                 case INTEGER_CST:
    8041         5833 :                   {
    8042         5833 :                     switch (TREE_CODE (_q21))
    8043              :                       {
    8044         3703 :                       case INTEGER_CST:
    8045         3703 :                         {
    8046         3703 :                           switch (TREE_CODE (_p1))
    8047              :                             {
    8048         3703 :                             case INTEGER_CST:
    8049         3703 :                               {
    8050         3703 :                                 {
    8051         3703 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    8052         3703 :                                   tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8053         3703 :                                   if (res) return res;
    8054              :                                 }
    8055         1990 :                                 break;
    8056              :                               }
    8057              :                             default:;
    8058              :                             }
    8059              :                           break;
    8060              :                         }
    8061              :                       default:;
    8062              :                       }
    8063              :                     break;
    8064              :                   }
    8065              :                 default:;
    8066              :                 }
    8067              :               break;
    8068              :             }
    8069       840803 :           default:;
    8070              :           }
    8071       840803 :       {
    8072       840803 :         tree _q20_pops[1];
    8073       840803 :         if (tree_nop_convert (_q20, _q20_pops))
    8074              :           {
    8075        22457 :             tree _q30 = _q20_pops[0];
    8076        22457 :             switch (TREE_CODE (_q30))
    8077              :               {
    8078            0 :               case LSHIFT_EXPR:
    8079            0 :                 {
    8080            0 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    8081            0 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    8082            0 :                   if (integer_onep (_q40))
    8083              :                     {
    8084            0 :                       if (integer_pow2p (_q21))
    8085              :                         {
    8086            0 :                           if (integer_zerop (_p1))
    8087              :                             {
    8088            0 :                               {
    8089            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
    8090            0 :                                 tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    8091            0 :                                 if (res) return res;
    8092              :                               }
    8093              :                             }
    8094              :                         }
    8095              :                     }
    8096              :                   break;
    8097              :                 }
    8098              :               default:;
    8099              :               }
    8100              :           }
    8101              :       }
    8102       840803 :         break;
    8103              :       }
    8104         2058 :     case LSHIFT_EXPR:
    8105         2058 :       {
    8106         2058 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8107         2058 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8108         2058 :         switch (TREE_CODE (_q20))
    8109              :           {
    8110          335 :           case INTEGER_CST:
    8111          335 :             {
    8112          335 :               switch (TREE_CODE (_p1))
    8113              :                 {
    8114           20 :                 case INTEGER_CST:
    8115           20 :                   {
    8116           20 :                     {
    8117           20 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8118           20 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8119           20 :                       if (res) return res;
    8120              :                     }
    8121            3 :                     break;
    8122              :                   }
    8123              :                 default:;
    8124              :                 }
    8125              :               break;
    8126              :             }
    8127              :           default:;
    8128              :           }
    8129              :         break;
    8130              :       }
    8131            0 :     case LROTATE_EXPR:
    8132            0 :       {
    8133            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8134            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8135            0 :         switch (TREE_CODE (_p1))
    8136              :           {
    8137            0 :           case LROTATE_EXPR:
    8138            0 :             {
    8139            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8140            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8141            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8142              :                 {
    8143            0 :                   {
    8144            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    8145            0 :                     tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    8146            0 :                     if (res) return res;
    8147              :                   }
    8148              :                 }
    8149              :               break;
    8150              :             }
    8151            0 :           default:;
    8152              :           }
    8153            0 :         switch (TREE_CODE (_q21))
    8154              :           {
    8155            0 :           case INTEGER_CST:
    8156            0 :             {
    8157            0 :               switch (TREE_CODE (_p1))
    8158              :                 {
    8159            0 :                 case INTEGER_CST:
    8160            0 :                   {
    8161            0 :                     {
    8162            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8163            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    8164            0 :                       if (res) return res;
    8165              :                     }
    8166            0 :                     break;
    8167              :                   }
    8168              :                 default:;
    8169              :                 }
    8170              :               break;
    8171              :             }
    8172            0 :           default:;
    8173              :           }
    8174            0 :         switch (TREE_CODE (_p1))
    8175              :           {
    8176            0 :           case INTEGER_CST:
    8177            0 :             {
    8178            0 :               {
    8179            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8180            0 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    8181            0 :                 if (res) return res;
    8182              :               }
    8183            0 :               break;
    8184              :             }
    8185              :           default:;
    8186              :           }
    8187              :         break;
    8188              :       }
    8189           42 :     case RROTATE_EXPR:
    8190           42 :       {
    8191           42 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8192           42 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8193           42 :         switch (TREE_CODE (_p1))
    8194              :           {
    8195            0 :           case RROTATE_EXPR:
    8196            0 :             {
    8197            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8198            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8199            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8200              :                 {
    8201            0 :                   {
    8202            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    8203            0 :                     tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    8204            0 :                     if (res) return res;
    8205              :                   }
    8206              :                 }
    8207              :               break;
    8208              :             }
    8209           42 :           default:;
    8210              :           }
    8211           42 :         switch (TREE_CODE (_q21))
    8212              :           {
    8213           42 :           case INTEGER_CST:
    8214           42 :             {
    8215           42 :               switch (TREE_CODE (_p1))
    8216              :                 {
    8217            0 :                 case INTEGER_CST:
    8218            0 :                   {
    8219            0 :                     {
    8220            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8221            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    8222            0 :                       if (res) return res;
    8223              :                     }
    8224            0 :                     break;
    8225              :                   }
    8226              :                 default:;
    8227              :                 }
    8228              :               break;
    8229              :             }
    8230           42 :           default:;
    8231              :           }
    8232           42 :         switch (TREE_CODE (_p1))
    8233              :           {
    8234            0 :           case INTEGER_CST:
    8235            0 :             {
    8236            0 :               {
    8237            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8238            0 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    8239            0 :                 if (res) return res;
    8240              :               }
    8241            0 :               break;
    8242              :             }
    8243              :           default:;
    8244              :           }
    8245              :         break;
    8246              :       }
    8247        65998 :     case MULT_EXPR:
    8248        65998 :       {
    8249        65998 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8250        65998 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8251        65998 :         switch (TREE_CODE (_q20))
    8252              :           {
    8253           68 :           case TRUNC_DIV_EXPR:
    8254           68 :             {
    8255           68 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8256           68 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8257           68 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    8258              :                 {
    8259           49 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    8260              :                     {
    8261           49 :                       {
    8262           49 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8263           49 :                         tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8264           49 :                         if (res) return res;
    8265              :                       }
    8266              :                     }
    8267              :                 }
    8268              :               break;
    8269              :             }
    8270        65949 :           default:;
    8271              :           }
    8272        65949 :         switch (TREE_CODE (_q21))
    8273              :           {
    8274            0 :           case TRUNC_DIV_EXPR:
    8275            0 :             {
    8276            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    8277            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    8278            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    8279              :                 {
    8280            0 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    8281              :                     {
    8282            0 :                       {
    8283            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
    8284            0 :                         tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8285            0 :                         if (res) return res;
    8286              :                       }
    8287              :                     }
    8288              :                 }
    8289              :               break;
    8290              :             }
    8291              :           default:;
    8292              :           }
    8293              :         break;
    8294              :       }
    8295     28228089 :     default:;
    8296              :     }
    8297     28228089 :   switch (TREE_CODE (_p1))
    8298              :     {
    8299        13100 :     case MULT_EXPR:
    8300        13100 :       {
    8301        13100 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8302        13100 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8303        13100 :         switch (TREE_CODE (_q30))
    8304              :           {
    8305            0 :           case TRUNC_DIV_EXPR:
    8306            0 :             {
    8307            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8308            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8309            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    8310              :                 {
    8311            0 :                   if ((_q31 == _q41 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q41, 0) && types_match (_q31, _q41)))
    8312              :                     {
    8313            0 :                       {
    8314            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    8315            0 :                         tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8316            0 :                         if (res) return res;
    8317              :                       }
    8318              :                     }
    8319              :                 }
    8320              :               break;
    8321              :             }
    8322        13100 :           default:;
    8323              :           }
    8324        13100 :         switch (TREE_CODE (_q31))
    8325              :           {
    8326            0 :           case TRUNC_DIV_EXPR:
    8327            0 :             {
    8328            0 :               tree _q50 = TREE_OPERAND (_q31, 0);
    8329            0 :               tree _q51 = TREE_OPERAND (_q31, 1);
    8330            0 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    8331              :                 {
    8332            0 :                   if ((_q51 == _q30 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q30, 0) && types_match (_q51, _q30)))
    8333              :                     {
    8334            0 :                       {
    8335            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
    8336            0 :                         tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8337            0 :                         if (res) return res;
    8338              :                       }
    8339              :                     }
    8340              :                 }
    8341              :               break;
    8342              :             }
    8343              :           default:;
    8344              :           }
    8345              :         break;
    8346              :       }
    8347     28228089 :     default:;
    8348              :     }
    8349     28228089 :   switch (TREE_CODE (_p0))
    8350              :     {
    8351         1056 :     case VEC_COND_EXPR:
    8352         1056 :       {
    8353         1056 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8354         1056 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8355         1056 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8356         1056 :         switch (TREE_CODE (_p1))
    8357              :           {
    8358          187 :           case VEC_COND_EXPR:
    8359          187 :             {
    8360          187 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8361          187 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8362          187 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8363          187 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8364              :                 {
    8365          120 :                   {
    8366          120 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8367          120 :                     if (VECTOR_TYPE_P (type)
    8368          240 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    8369          120 :  || types_match (type, TREE_TYPE (captures[2]))
    8370          120 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8371              :  || (optimize_vectors_before_lowering_p ()
    8372            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8373              : )
    8374              :                       {
    8375          120 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1572;
    8376          120 :                         {
    8377          120 :                           tree res_op0;
    8378          120 :                           res_op0 = captures[1];
    8379          120 :                           tree res_op1;
    8380          120 :                           {
    8381          120 :                             tree _o1[2], _r1;
    8382          120 :                             _o1[0] = captures[2];
    8383          120 :                             _o1[1] = captures[5];
    8384          120 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    8385          120 :                             if (EXPR_P (_r1))
    8386          120 :                               goto next_after_fail1572;
    8387            0 :                             res_op1 = _r1;
    8388              :                           }
    8389            0 :                           tree res_op2;
    8390            0 :                           {
    8391            0 :                             tree _o1[2], _r1;
    8392            0 :                             _o1[0] = captures[3];
    8393            0 :                             _o1[1] = captures[6];
    8394            0 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    8395            0 :                             if (EXPR_P (_r1))
    8396            0 :                               goto next_after_fail1572;
    8397            0 :                             res_op2 = _r1;
    8398              :                           }
    8399            0 :                           tree _r;
    8400            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8401            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    8402              :                           return _r;
    8403              :                         }
    8404         1056 : next_after_fail1572:;
    8405              :                       }
    8406              :                   }
    8407              :                 }
    8408              :               break;
    8409              :             }
    8410         1056 :           default:;
    8411              :           }
    8412         1056 :         {
    8413         1056 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8414         1056 :           if (VECTOR_TYPE_P (type)
    8415         2112 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    8416         1056 :  || types_match (type, TREE_TYPE (captures[2]))
    8417         1056 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8418              :  || (optimize_vectors_before_lowering_p ()
    8419           79 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8420              : )
    8421              :             {
    8422         1056 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1573;
    8423         1056 :               {
    8424         1056 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1573;
    8425          126 :                 tree res_op0;
    8426          126 :                 res_op0 = captures[1];
    8427          126 :                 tree res_op1;
    8428          126 :                 {
    8429          126 :                   tree _o1[2], _r1;
    8430          126 :                   _o1[0] = captures[2];
    8431          126 :                   _o1[1] = unshare_expr (captures[4]);
    8432          126 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    8433          126 :                   if (EXPR_P (_r1))
    8434           96 :                     goto next_after_fail1573;
    8435           30 :                   res_op1 = _r1;
    8436              :                 }
    8437           30 :                 tree res_op2;
    8438           30 :                 {
    8439           30 :                   tree _o1[2], _r1;
    8440           30 :                   _o1[0] = captures[3];
    8441           30 :                   _o1[1] = captures[4];
    8442           30 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    8443           30 :                   if (EXPR_P (_r1))
    8444            9 :                     goto next_after_fail1573;
    8445           21 :                   res_op2 = _r1;
    8446              :                 }
    8447           21 :                 tree _r;
    8448           21 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8449           21 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    8450              :                 return _r;
    8451              :               }
    8452     28228061 : next_after_fail1573:;
    8453              :             }
    8454              :         }
    8455              :         break;
    8456              :       }
    8457      2028050 :     case CALL_EXPR:
    8458      2028050 :       switch (get_call_combined_fn (_p0))
    8459              :         {
    8460            1 :         case CFN_BUILT_IN_BITREVERSE128:
    8461            1 :           if (call_expr_nargs (_p0) == 1)
    8462              :     {
    8463            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8464            1 :               switch (TREE_CODE (_p1))
    8465              :                 {
    8466            1 :                 case INTEGER_CST:
    8467            1 :                   {
    8468            1 :                     {
    8469            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8470            1 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE128);
    8471            1 :                       if (res) return res;
    8472              :                     }
    8473            1 :                     break;
    8474              :                   }
    8475            0 :                 case CALL_EXPR:
    8476            0 :                   switch (get_call_combined_fn (_p1))
    8477              :                     {
    8478            0 :                     case CFN_BUILT_IN_BITREVERSE128:
    8479            0 :                       if (call_expr_nargs (_p1) == 1)
    8480              :     {
    8481            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8482            0 :                           {
    8483            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8484            0 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE128);
    8485            0 :                             if (res) return res;
    8486              :                           }
    8487              :                         }
    8488              :                       break;
    8489              :                     default:;
    8490              :                     }
    8491              :                   break;
    8492              :                 default:;
    8493              :                 }
    8494              :             }
    8495              :           break;
    8496            1 :         case CFN_BUILT_IN_BITREVERSE16:
    8497            1 :           if (call_expr_nargs (_p0) == 1)
    8498              :     {
    8499            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8500            1 :               switch (TREE_CODE (_p1))
    8501              :                 {
    8502            1 :                 case INTEGER_CST:
    8503            1 :                   {
    8504            1 :                     {
    8505            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8506            1 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE16);
    8507            1 :                       if (res) return res;
    8508              :                     }
    8509            1 :                     break;
    8510              :                   }
    8511            0 :                 case CALL_EXPR:
    8512            0 :                   switch (get_call_combined_fn (_p1))
    8513              :                     {
    8514            0 :                     case CFN_BUILT_IN_BITREVERSE16:
    8515            0 :                       if (call_expr_nargs (_p1) == 1)
    8516              :     {
    8517            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8518            0 :                           {
    8519            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8520            0 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE16);
    8521            0 :                             if (res) return res;
    8522              :                           }
    8523              :                         }
    8524              :                       break;
    8525              :                     default:;
    8526              :                     }
    8527              :                   break;
    8528              :                 default:;
    8529              :                 }
    8530              :             }
    8531              :           break;
    8532            1 :         case CFN_BUILT_IN_BITREVERSE32:
    8533            1 :           if (call_expr_nargs (_p0) == 1)
    8534              :     {
    8535            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8536            1 :               switch (TREE_CODE (_p1))
    8537              :                 {
    8538            1 :                 case INTEGER_CST:
    8539            1 :                   {
    8540            1 :                     {
    8541            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8542            1 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE32);
    8543            1 :                       if (res) return res;
    8544              :                     }
    8545            1 :                     break;
    8546              :                   }
    8547            0 :                 case CALL_EXPR:
    8548            0 :                   switch (get_call_combined_fn (_p1))
    8549              :                     {
    8550            0 :                     case CFN_BUILT_IN_BITREVERSE32:
    8551            0 :                       if (call_expr_nargs (_p1) == 1)
    8552              :     {
    8553            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8554            0 :                           {
    8555            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8556            0 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE32);
    8557            0 :                             if (res) return res;
    8558              :                           }
    8559              :                         }
    8560              :                       break;
    8561              :                     default:;
    8562              :                     }
    8563              :                   break;
    8564              :                 default:;
    8565              :                 }
    8566              :             }
    8567              :           break;
    8568            1 :         case CFN_BUILT_IN_BITREVERSE64:
    8569            1 :           if (call_expr_nargs (_p0) == 1)
    8570              :     {
    8571            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8572            1 :               switch (TREE_CODE (_p1))
    8573              :                 {
    8574            1 :                 case INTEGER_CST:
    8575            1 :                   {
    8576            1 :                     {
    8577            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8578            1 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE64);
    8579            1 :                       if (res) return res;
    8580              :                     }
    8581            1 :                     break;
    8582              :                   }
    8583            0 :                 case CALL_EXPR:
    8584            0 :                   switch (get_call_combined_fn (_p1))
    8585              :                     {
    8586            0 :                     case CFN_BUILT_IN_BITREVERSE64:
    8587            0 :                       if (call_expr_nargs (_p1) == 1)
    8588              :     {
    8589            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8590            0 :                           {
    8591            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8592            0 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE64);
    8593            0 :                             if (res) return res;
    8594              :                           }
    8595              :                         }
    8596              :                       break;
    8597              :                     default:;
    8598              :                     }
    8599              :                   break;
    8600              :                 default:;
    8601              :                 }
    8602              :             }
    8603              :           break;
    8604            0 :         case CFN_BITREVERSE:
    8605            0 :           if (call_expr_nargs (_p0) == 1)
    8606              :     {
    8607            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8608            0 :               switch (TREE_CODE (_p1))
    8609              :                 {
    8610            0 :                 case INTEGER_CST:
    8611            0 :                   {
    8612            0 :                     {
    8613            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8614            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BITREVERSE);
    8615            0 :                       if (res) return res;
    8616              :                     }
    8617            0 :                     break;
    8618              :                   }
    8619            0 :                 case CALL_EXPR:
    8620            0 :                   switch (get_call_combined_fn (_p1))
    8621              :                     {
    8622            0 :                     case CFN_BITREVERSE:
    8623            0 :                       if (call_expr_nargs (_p1) == 1)
    8624              :     {
    8625            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8626            0 :                           {
    8627            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8628            0 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BITREVERSE);
    8629            0 :                             if (res) return res;
    8630              :                           }
    8631              :                         }
    8632              :                       break;
    8633              :                     default:;
    8634              :                     }
    8635              :                   break;
    8636              :                 default:;
    8637              :                 }
    8638              :             }
    8639              :           break;
    8640            0 :         case CFN_BSWAP:
    8641            0 :           if (call_expr_nargs (_p0) == 1)
    8642              :     {
    8643            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8644            0 :               switch (TREE_CODE (_p1))
    8645              :                 {
    8646            0 :                 case INTEGER_CST:
    8647            0 :                   {
    8648            0 :                     {
    8649            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8650            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BSWAP);
    8651            0 :                       if (res) return res;
    8652              :                     }
    8653            0 :                     break;
    8654              :                   }
    8655            0 :                 case CALL_EXPR:
    8656            0 :                   switch (get_call_combined_fn (_p1))
    8657              :                     {
    8658            0 :                     case CFN_BSWAP:
    8659            0 :                       if (call_expr_nargs (_p1) == 1)
    8660              :     {
    8661            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8662            0 :                           {
    8663            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8664            0 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BSWAP);
    8665            0 :                             if (res) return res;
    8666              :                           }
    8667              :                         }
    8668              :                       break;
    8669              :                     default:;
    8670              :                     }
    8671              :                   break;
    8672              :                 default:;
    8673              :                 }
    8674              :             }
    8675              :           break;
    8676            0 :         case CFN_BUILT_IN_BSWAP128:
    8677            0 :           if (call_expr_nargs (_p0) == 1)
    8678              :     {
    8679            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8680            0 :               switch (TREE_CODE (_p1))
    8681              :                 {
    8682            0 :                 case INTEGER_CST:
    8683            0 :                   {
    8684            0 :                     {
    8685            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8686            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
    8687            0 :                       if (res) return res;
    8688              :                     }
    8689            0 :                     break;
    8690              :                   }
    8691            0 :                 case CALL_EXPR:
    8692            0 :                   switch (get_call_combined_fn (_p1))
    8693              :                     {
    8694            0 :                     case CFN_BUILT_IN_BSWAP128:
    8695            0 :                       if (call_expr_nargs (_p1) == 1)
    8696              :     {
    8697            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8698            0 :                           {
    8699            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8700            0 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
    8701            0 :                             if (res) return res;
    8702              :                           }
    8703              :                         }
    8704              :                       break;
    8705              :                     default:;
    8706              :                     }
    8707              :                   break;
    8708              :                 default:;
    8709              :                 }
    8710              :             }
    8711              :           break;
    8712            1 :         case CFN_BUILT_IN_BITREVERSE8:
    8713            1 :           if (call_expr_nargs (_p0) == 1)
    8714              :     {
    8715            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8716            1 :               switch (TREE_CODE (_p1))
    8717              :                 {
    8718            1 :                 case INTEGER_CST:
    8719            1 :                   {
    8720            1 :                     {
    8721            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8722            1 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE8);
    8723            1 :                       if (res) return res;
    8724              :                     }
    8725            1 :                     break;
    8726              :                   }
    8727            0 :                 case CALL_EXPR:
    8728            0 :                   switch (get_call_combined_fn (_p1))
    8729              :                     {
    8730            0 :                     case CFN_BUILT_IN_BITREVERSE8:
    8731            0 :                       if (call_expr_nargs (_p1) == 1)
    8732              :     {
    8733            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8734            0 :                           {
    8735            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8736            0 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE8);
    8737            0 :                             if (res) return res;
    8738              :                           }
    8739              :                         }
    8740              :                       break;
    8741              :                     default:;
    8742              :                     }
    8743              :                   break;
    8744              :                 default:;
    8745              :                 }
    8746              :             }
    8747              :           break;
    8748            2 :         case CFN_BUILT_IN_BSWAP16:
    8749            2 :           if (call_expr_nargs (_p0) == 1)
    8750              :     {
    8751            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8752            2 :               switch (TREE_CODE (_p1))
    8753              :                 {
    8754            1 :                 case INTEGER_CST:
    8755            1 :                   {
    8756            1 :                     {
    8757            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8758            1 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
    8759            1 :                       if (res) return res;
    8760              :                     }
    8761            1 :                     break;
    8762              :                   }
    8763            1 :                 case CALL_EXPR:
    8764            1 :                   switch (get_call_combined_fn (_p1))
    8765              :                     {
    8766            1 :                     case CFN_BUILT_IN_BSWAP16:
    8767            1 :                       if (call_expr_nargs (_p1) == 1)
    8768              :     {
    8769            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8770            1 :                           {
    8771            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8772            1 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
    8773            1 :                             if (res) return res;
    8774              :                           }
    8775              :                         }
    8776              :                       break;
    8777              :                     default:;
    8778              :                     }
    8779              :                   break;
    8780              :                 default:;
    8781              :                 }
    8782              :             }
    8783              :           break;
    8784            6 :         case CFN_BUILT_IN_BSWAP32:
    8785            6 :           if (call_expr_nargs (_p0) == 1)
    8786              :     {
    8787            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8788            6 :               switch (TREE_CODE (_p1))
    8789              :                 {
    8790            3 :                 case INTEGER_CST:
    8791            3 :                   {
    8792            3 :                     {
    8793            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8794            3 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
    8795            3 :                       if (res) return res;
    8796              :                     }
    8797            3 :                     break;
    8798              :                   }
    8799            3 :                 case CALL_EXPR:
    8800            3 :                   switch (get_call_combined_fn (_p1))
    8801              :                     {
    8802            3 :                     case CFN_BUILT_IN_BSWAP32:
    8803            3 :                       if (call_expr_nargs (_p1) == 1)
    8804              :     {
    8805            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8806            3 :                           {
    8807            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8808            3 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
    8809            3 :                             if (res) return res;
    8810              :                           }
    8811              :                         }
    8812              :                       break;
    8813              :                     default:;
    8814              :                     }
    8815              :                   break;
    8816              :                 default:;
    8817              :                 }
    8818              :             }
    8819              :           break;
    8820            6 :         case CFN_BUILT_IN_BSWAP64:
    8821            6 :           if (call_expr_nargs (_p0) == 1)
    8822              :     {
    8823            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8824            6 :               switch (TREE_CODE (_p1))
    8825              :                 {
    8826            3 :                 case INTEGER_CST:
    8827            3 :                   {
    8828            3 :                     {
    8829            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8830            3 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
    8831            3 :                       if (res) return res;
    8832              :                     }
    8833            3 :                     break;
    8834              :                   }
    8835            3 :                 case CALL_EXPR:
    8836            3 :                   switch (get_call_combined_fn (_p1))
    8837              :                     {
    8838            3 :                     case CFN_BUILT_IN_BSWAP64:
    8839            3 :                       if (call_expr_nargs (_p1) == 1)
    8840              :     {
    8841            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8842            3 :                           {
    8843            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8844            3 :                             tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
    8845            3 :                             if (res) return res;
    8846              :                           }
    8847              :                         }
    8848              :                       break;
    8849              :                     default:;
    8850              :                     }
    8851              :                   break;
    8852              :                 default:;
    8853              :                 }
    8854              :             }
    8855              :           break;
    8856              :         default:;
    8857              :         }
    8858              :       break;
    8859     28228061 :     default:;
    8860              :     }
    8861     28228061 :   switch (TREE_CODE (_p1))
    8862              :     {
    8863          215 :     case VEC_COND_EXPR:
    8864          215 :       {
    8865          215 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8866          215 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8867          215 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8868          215 :         {
    8869          215 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8870          215 :           if (VECTOR_TYPE_P (type)
    8871          430 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    8872          215 :  || types_match (type, TREE_TYPE (captures[3]))
    8873          215 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8874              :  || (optimize_vectors_before_lowering_p ()
    8875           21 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8876              : )
    8877              :             {
    8878          215 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1574;
    8879          215 :               {
    8880          215 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1574;
    8881            0 :                 tree res_op0;
    8882            0 :                 res_op0 = captures[2];
    8883            0 :                 tree res_op1;
    8884            0 :                 {
    8885            0 :                   tree _o1[2], _r1;
    8886            0 :                   _o1[0] = unshare_expr (captures[0]);
    8887            0 :                   _o1[1] = captures[3];
    8888            0 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    8889            0 :                   if (EXPR_P (_r1))
    8890            0 :                     goto next_after_fail1574;
    8891            0 :                   res_op1 = _r1;
    8892              :                 }
    8893            0 :                 tree res_op2;
    8894            0 :                 {
    8895            0 :                   tree _o1[2], _r1;
    8896            0 :                   _o1[0] = captures[0];
    8897            0 :                   _o1[1] = captures[4];
    8898            0 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    8899            0 :                   if (EXPR_P (_r1))
    8900            0 :                     goto next_after_fail1574;
    8901            0 :                   res_op2 = _r1;
    8902              :                 }
    8903            0 :                 tree _r;
    8904            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8905            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    8906              :                 return _r;
    8907              :               }
    8908     28228061 : next_after_fail1574:;
    8909              :             }
    8910              :         }
    8911              :         break;
    8912              :       }
    8913     28228061 :     default:;
    8914              :     }
    8915     28228061 :   switch (TREE_CODE (_p0))
    8916              :     {
    8917        41416 :     case COND_EXPR:
    8918        41416 :       {
    8919        41416 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8920        41416 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8921        41416 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8922        41416 :         switch (TREE_CODE (_p1))
    8923              :           {
    8924           49 :           case COND_EXPR:
    8925           49 :             {
    8926           49 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8927           49 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8928           49 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8929           49 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8930              :                 {
    8931            3 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8932              :                     {
    8933            3 :                       {
    8934            3 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8935            3 :                         const enum tree_code eqne = EQ_EXPR;
    8936            3 :                         if (!HONOR_NANS (captures[1])
    8937            3 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8938            3 :  && types_match (type, TREE_TYPE (captures[0]))
    8939            3 :  && expr_no_side_effects_p (captures[1])
    8940            4 :  && expr_no_side_effects_p (captures[2])
    8941              : )
    8942              :                           {
    8943            1 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1575;
    8944            1 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1575;
    8945            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1575;
    8946            1 :                             {
    8947            1 :                               tree res_op0;
    8948            1 :                               {
    8949            1 :                                 tree _o1[2], _r1;
    8950            1 :                                 {
    8951            1 :                                   tree _o2[2], _r2;
    8952            1 :                                   _o2[0] = captures[0];
    8953            1 :                                   _o2[1] = captures[3];
    8954            1 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8955            1 :                                   _o1[0] = _r2;
    8956              :                                 }
    8957            1 :                                 {
    8958            1 :                                   tree _o2[2], _r2;
    8959            1 :                                   _o2[0] = captures[1];
    8960            1 :                                   _o2[1] = captures[2];
    8961            1 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8962            1 :                                   _o1[1] = _r2;
    8963              :                                 }
    8964            1 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8965            1 :                                 res_op0 = _r1;
    8966              :                               }
    8967            1 :                               tree res_op1;
    8968            1 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8969            1 :                               tree res_op2;
    8970            1 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8971            1 :                               tree _r;
    8972            1 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8973            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
    8974              :                               return _r;
    8975              :                             }
    8976           48 : next_after_fail1575:;
    8977              :                           }
    8978              :                       }
    8979              :                     }
    8980              :                 }
    8981           48 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8982              :                 {
    8983           19 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8984              :                     {
    8985           19 :                       {
    8986           19 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8987           19 :                         const enum tree_code eqne = EQ_EXPR;
    8988           19 :                         if (!HONOR_NANS (captures[1])
    8989            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8990            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8991            0 :  && expr_no_side_effects_p (captures[1])
    8992           19 :  && expr_no_side_effects_p (captures[2])
    8993              : )
    8994              :                           {
    8995            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1576;
    8996            0 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1576;
    8997            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1576;
    8998            0 :                             {
    8999            0 :                               tree res_op0;
    9000            0 :                               {
    9001            0 :                                 tree _o1[2], _r1;
    9002            0 :                                 {
    9003            0 :                                   tree _o2[2], _r2;
    9004            0 :                                   _o2[0] = captures[0];
    9005            0 :                                   _o2[1] = captures[3];
    9006            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9007            0 :                                   _o1[0] = _r2;
    9008              :                                 }
    9009            0 :                                 {
    9010            0 :                                   tree _o2[2], _r2;
    9011            0 :                                   _o2[0] = captures[1];
    9012            0 :                                   _o2[1] = captures[2];
    9013            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    9014            0 :                                   _o1[1] = _r2;
    9015              :                                 }
    9016            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9017            0 :                                 res_op0 = _r1;
    9018              :                               }
    9019            0 :                               tree res_op1;
    9020            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    9021            0 :                               tree res_op2;
    9022            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    9023            0 :                               tree _r;
    9024            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    9025            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1025, __FILE__, __LINE__, true);
    9026              :                               return _r;
    9027              :                             }
    9028     28142547 : next_after_fail1576:;
    9029              :                           }
    9030              :                       }
    9031              :                     }
    9032              :                 }
    9033              :               break;
    9034              :             }
    9035              :           default:;
    9036              :           }
    9037              :         break;
    9038              :       }
    9039         1035 :     case VEC_COND_EXPR:
    9040         1035 :       {
    9041         1035 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9042         1035 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9043         1035 :         tree _q22 = TREE_OPERAND (_p0, 2);
    9044         1035 :         switch (TREE_CODE (_p1))
    9045              :           {
    9046          187 :           case VEC_COND_EXPR:
    9047          187 :             {
    9048          187 :               tree _q60 = TREE_OPERAND (_p1, 0);
    9049          187 :               tree _q61 = TREE_OPERAND (_p1, 1);
    9050          187 :               tree _q62 = TREE_OPERAND (_p1, 2);
    9051          187 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    9052              :                 {
    9053          126 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    9054              :                     {
    9055          126 :                       {
    9056          126 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9057          126 :                         const enum tree_code eqne = EQ_EXPR;
    9058          126 :                         if (!HONOR_NANS (captures[1])
    9059            6 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    9060            6 :  && types_match (type, TREE_TYPE (captures[0]))
    9061            6 :  && expr_no_side_effects_p (captures[1])
    9062          132 :  && expr_no_side_effects_p (captures[2])
    9063              : )
    9064              :                           {
    9065            6 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1577;
    9066            6 :                             {
    9067            6 :                               tree res_op0;
    9068            6 :                               {
    9069            6 :                                 tree _o1[2], _r1;
    9070            6 :                                 {
    9071            6 :                                   tree _o2[2], _r2;
    9072            6 :                                   _o2[0] = captures[0];
    9073            6 :                                   _o2[1] = captures[3];
    9074            6 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9075            6 :                                   _o1[0] = _r2;
    9076              :                                 }
    9077            6 :                                 {
    9078            6 :                                   tree _o2[2], _r2;
    9079            6 :                                   _o2[0] = captures[1];
    9080            6 :                                   _o2[1] = captures[2];
    9081            6 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    9082            6 :                                   _o1[1] = _r2;
    9083              :                                 }
    9084            6 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9085            6 :                                 res_op0 = _r1;
    9086              :                               }
    9087            6 :                               tree res_op1;
    9088            6 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    9089            6 :                               tree res_op2;
    9090            6 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    9091            6 :                               tree _r;
    9092            6 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9093            6 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
    9094              :                               return _r;
    9095              :                             }
    9096            0 : next_after_fail1577:;
    9097              :                           }
    9098              :                       }
    9099              :                     }
    9100              :                 }
    9101          181 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    9102              :                 {
    9103           53 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    9104              :                     {
    9105           53 :                       {
    9106           53 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    9107           53 :                         const enum tree_code eqne = EQ_EXPR;
    9108           53 :                         if (!HONOR_NANS (captures[1])
    9109            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    9110            0 :  && types_match (type, TREE_TYPE (captures[0]))
    9111            0 :  && expr_no_side_effects_p (captures[1])
    9112           53 :  && expr_no_side_effects_p (captures[2])
    9113              : )
    9114              :                           {
    9115            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1578;
    9116            0 :                             {
    9117            0 :                               tree res_op0;
    9118            0 :                               {
    9119            0 :                                 tree _o1[2], _r1;
    9120            0 :                                 {
    9121            0 :                                   tree _o2[2], _r2;
    9122            0 :                                   _o2[0] = captures[0];
    9123            0 :                                   _o2[1] = captures[3];
    9124            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9125            0 :                                   _o1[0] = _r2;
    9126              :                                 }
    9127            0 :                                 {
    9128            0 :                                   tree _o2[2], _r2;
    9129            0 :                                   _o2[0] = captures[1];
    9130            0 :                                   _o2[1] = captures[2];
    9131            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    9132            0 :                                   _o1[1] = _r2;
    9133              :                                 }
    9134            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    9135            0 :                                 res_op0 = _r1;
    9136              :                               }
    9137            0 :                               tree res_op1;
    9138            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    9139            0 :                               tree res_op2;
    9140            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    9141            0 :                               tree _r;
    9142            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    9143            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1025, __FILE__, __LINE__, true);
    9144              :                               return _r;
    9145              :                             }
    9146            0 : next_after_fail1578:;
    9147              :                           }
    9148              :                       }
    9149              :                     }
    9150              :                 }
    9151              :               break;
    9152              :             }
    9153              :           default:;
    9154              :           }
    9155              :         break;
    9156              :       }
    9157         1131 :     case LT_EXPR:
    9158         1131 :       {
    9159         1131 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9160         1131 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9161         1131 :         if (integer_truep (_p1))
    9162              :           {
    9163            5 :             {
    9164            5 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9165            5 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    9166            5 :               if (res) return res;
    9167              :             }
    9168              :           }
    9169         1131 :         if (integer_zerop (_p1))
    9170              :           {
    9171          414 :             {
    9172          414 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9173          414 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    9174          414 :               if (res) return res;
    9175              :             }
    9176              :           }
    9177              :         break;
    9178              :       }
    9179         1562 :     case LE_EXPR:
    9180         1562 :       {
    9181         1562 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9182         1562 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9183         1562 :         if (integer_truep (_p1))
    9184              :           {
    9185            1 :             {
    9186            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9187            1 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    9188            1 :               if (res) return res;
    9189              :             }
    9190              :           }
    9191         1562 :         if (integer_zerop (_p1))
    9192              :           {
    9193          693 :             {
    9194          693 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9195          693 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    9196          693 :               if (res) return res;
    9197              :             }
    9198              :           }
    9199              :         break;
    9200              :       }
    9201        32726 :     case EQ_EXPR:
    9202        32726 :       {
    9203        32726 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9204        32726 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9205        32726 :         if (integer_truep (_p1))
    9206              :           {
    9207           50 :             {
    9208           50 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9209           50 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    9210           50 :               if (res) return res;
    9211              :             }
    9212              :           }
    9213        32721 :         if (integer_zerop (_p1))
    9214              :           {
    9215         7707 :             {
    9216         7707 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9217         7707 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    9218         7707 :               if (res) return res;
    9219              :             }
    9220              :           }
    9221              :         break;
    9222              :       }
    9223        11864 :     case NE_EXPR:
    9224        11864 :       {
    9225        11864 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9226        11864 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9227        11864 :         if (integer_truep (_p1))
    9228              :           {
    9229          126 :             {
    9230          126 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9231          126 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    9232          126 :               if (res) return res;
    9233              :             }
    9234              :           }
    9235        11744 :         if (integer_zerop (_p1))
    9236              :           {
    9237         9809 :             {
    9238         9809 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9239         9809 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    9240         9809 :               if (res) return res;
    9241              :             }
    9242              :           }
    9243              :         break;
    9244              :       }
    9245         6719 :     case GE_EXPR:
    9246         6719 :       {
    9247         6719 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9248         6719 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9249         6719 :         if (integer_truep (_p1))
    9250              :           {
    9251            0 :             {
    9252            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9253            0 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    9254            0 :               if (res) return res;
    9255              :             }
    9256              :           }
    9257         6719 :         if (integer_zerop (_p1))
    9258              :           {
    9259         5597 :             {
    9260         5597 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9261         5597 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    9262         5597 :               if (res) return res;
    9263              :             }
    9264              :           }
    9265              :         break;
    9266              :       }
    9267        69797 :     case GT_EXPR:
    9268        69797 :       {
    9269        69797 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9270        69797 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9271        69797 :         if (integer_truep (_p1))
    9272              :           {
    9273            0 :             {
    9274            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9275            0 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    9276            0 :               if (res) return res;
    9277              :             }
    9278              :           }
    9279        69797 :         if (integer_zerop (_p1))
    9280              :           {
    9281          475 :             {
    9282          475 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9283          475 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    9284          475 :               if (res) return res;
    9285              :             }
    9286              :           }
    9287              :         break;
    9288              :       }
    9289         1023 :     case UNORDERED_EXPR:
    9290         1023 :       {
    9291         1023 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9292         1023 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9293         1023 :         if (integer_truep (_p1))
    9294              :           {
    9295            0 :             {
    9296            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9297            0 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    9298            0 :               if (res) return res;
    9299              :             }
    9300              :           }
    9301         1023 :         if (integer_zerop (_p1))
    9302              :           {
    9303         1017 :             {
    9304         1017 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9305         1017 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    9306         1017 :               if (res) return res;
    9307              :             }
    9308              :           }
    9309              :         break;
    9310              :       }
    9311            0 :     case ORDERED_EXPR:
    9312            0 :       {
    9313            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9314            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9315            0 :         if (integer_truep (_p1))
    9316              :           {
    9317            0 :             {
    9318            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9319            0 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    9320            0 :               if (res) return res;
    9321              :             }
    9322              :           }
    9323            0 :         if (integer_zerop (_p1))
    9324              :           {
    9325            0 :             {
    9326            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9327            0 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    9328            0 :               if (res) return res;
    9329              :             }
    9330              :           }
    9331              :         break;
    9332              :       }
    9333            0 :     case UNLT_EXPR:
    9334            0 :       {
    9335            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9336            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9337            0 :         if (integer_truep (_p1))
    9338              :           {
    9339            0 :             {
    9340            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9341            0 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    9342            0 :               if (res) return res;
    9343              :             }
    9344              :           }
    9345            0 :         if (integer_zerop (_p1))
    9346              :           {
    9347            0 :             {
    9348            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9349            0 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    9350            0 :               if (res) return res;
    9351              :             }
    9352              :           }
    9353              :         break;
    9354              :       }
    9355            0 :     case UNLE_EXPR:
    9356            0 :       {
    9357            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9358            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9359            0 :         if (integer_truep (_p1))
    9360              :           {
    9361            0 :             {
    9362            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9363            0 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    9364            0 :               if (res) return res;
    9365              :             }
    9366              :           }
    9367            0 :         if (integer_zerop (_p1))
    9368              :           {
    9369            0 :             {
    9370            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9371            0 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    9372            0 :               if (res) return res;
    9373              :             }
    9374              :           }
    9375              :         break;
    9376              :       }
    9377            0 :     case UNGT_EXPR:
    9378            0 :       {
    9379            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9380            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9381            0 :         if (integer_truep (_p1))
    9382              :           {
    9383            0 :             {
    9384            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9385            0 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    9386            0 :               if (res) return res;
    9387              :             }
    9388              :           }
    9389            0 :         if (integer_zerop (_p1))
    9390              :           {
    9391            0 :             {
    9392            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9393            0 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    9394            0 :               if (res) return res;
    9395              :             }
    9396              :           }
    9397              :         break;
    9398              :       }
    9399            0 :     case UNGE_EXPR:
    9400            0 :       {
    9401            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9402            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9403            0 :         if (integer_truep (_p1))
    9404              :           {
    9405            0 :             {
    9406            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9407            0 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    9408            0 :               if (res) return res;
    9409              :             }
    9410              :           }
    9411            0 :         if (integer_zerop (_p1))
    9412              :           {
    9413            0 :             {
    9414            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9415            0 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    9416            0 :               if (res) return res;
    9417              :             }
    9418              :           }
    9419              :         break;
    9420              :       }
    9421            0 :     case UNEQ_EXPR:
    9422            0 :       {
    9423            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9424            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9425            0 :         if (integer_truep (_p1))
    9426              :           {
    9427            0 :             {
    9428            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9429            0 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    9430            0 :               if (res) return res;
    9431              :             }
    9432              :           }
    9433            0 :         if (integer_zerop (_p1))
    9434              :           {
    9435            0 :             {
    9436            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9437            0 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    9438            0 :               if (res) return res;
    9439              :             }
    9440              :           }
    9441              :         break;
    9442              :       }
    9443            0 :     case LTGT_EXPR:
    9444            0 :       {
    9445            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9446            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9447            0 :         if (integer_truep (_p1))
    9448              :           {
    9449            0 :             {
    9450            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9451            0 :               tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    9452            0 :               if (res) return res;
    9453              :             }
    9454              :           }
    9455            0 :         if (integer_zerop (_p1))
    9456              :           {
    9457            0 :             {
    9458            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9459            0 :               tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    9460            0 :               if (res) return res;
    9461              :             }
    9462              :           }
    9463              :         break;
    9464              :       }
    9465       158288 :     case MINUS_EXPR:
    9466       158288 :       {
    9467       158288 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9468       158288 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9469       158288 :         if (integer_zerop (_p1))
    9470              :           {
    9471        58312 :             {
    9472        58312 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9473        58312 :               tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9474        58312 :               if (res) return res;
    9475              :             }
    9476              :           }
    9477              :         break;
    9478              :       }
    9479        32997 :     case POINTER_DIFF_EXPR:
    9480        32997 :       {
    9481        32997 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9482        32997 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9483        32997 :         if (integer_zerop (_p1))
    9484              :           {
    9485         1345 :             {
    9486         1345 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9487         1345 :               tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9488         1345 :               if (res) return res;
    9489              :             }
    9490              :           }
    9491              :         break;
    9492              :       }
    9493        65949 :     case MULT_EXPR:
    9494        65949 :       {
    9495        65949 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9496        65949 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9497        65949 :         switch (TREE_CODE (_q21))
    9498              :           {
    9499        57886 :           case INTEGER_CST:
    9500        57886 :             {
    9501        57886 :               switch (TREE_CODE (_p1))
    9502              :                 {
    9503         8954 :                 case INTEGER_CST:
    9504         8954 :                   {
    9505         8954 :                     {
    9506         8954 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9507         8954 :                       tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9508         8954 :                       if (res) return res;
    9509              :                     }
    9510         8032 :                     break;
    9511              :                   }
    9512        56964 :                 default:;
    9513              :                 }
    9514        56964 :             if (integer_zerop (_p1))
    9515              :               {
    9516         4254 :                 {
    9517         4254 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9518         4254 :                   tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9519         4254 :                   if (res) return res;
    9520              :                 }
    9521              :               }
    9522              :               break;
    9523              :             }
    9524              :           default:;
    9525              :           }
    9526              :         break;
    9527              :       }
    9528     28142547 :     default:;
    9529              :     }
    9530     28142547 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    9531              :     {
    9532       123061 :       {
    9533       123061 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9534       123061 :         tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9535       123061 :         if (res) return res;
    9536              :       }
    9537              :     }
    9538     28025058 :   switch (TREE_CODE (_p0))
    9539              :     {
    9540      5255243 :     CASE_CONVERT:
    9541      5255243 :       {
    9542      5255243 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9543      5255243 :         switch (TREE_CODE (_p1))
    9544              :           {
    9545      1661768 :           CASE_CONVERT:
    9546      1661768 :             {
    9547      1661768 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9548      1661768 :               {
    9549      1661768 :                 tree _q40_pops[1];
    9550      1661768 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    9551              :                   {
    9552            0 :                     tree _q50 = _q40_pops[0];
    9553            0 :                     {
    9554            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    9555            0 :                       tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9556            0 :                       if (res) return res;
    9557              :                     }
    9558              :                   }
    9559              :               }
    9560      1661768 :               break;
    9561              :             }
    9562      5255243 :           default:;
    9563              :           }
    9564      5255243 :         {
    9565      5255243 :           tree _q20_pops[1];
    9566      5255243 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    9567              :             {
    9568          240 :               tree _q30 = _q20_pops[0];
    9569          240 :               switch (TREE_CODE (_p1))
    9570              :                 {
    9571           74 :                 CASE_CONVERT:
    9572           74 :                   {
    9573           74 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    9574           74 :                     {
    9575           74 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    9576           74 :                       tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9577           74 :                       if (res) return res;
    9578              :                     }
    9579           74 :                     break;
    9580              :                   }
    9581              :                 default:;
    9582              :                 }
    9583              :             }
    9584              :         }
    9585      5255243 :         break;
    9586              :       }
    9587     28025058 :     default:;
    9588              :     }
    9589     28025058 :   {
    9590     28025058 :     tree _p1_pops[1];
    9591     28025058 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    9592              :       {
    9593     19761832 :         tree _q30 = _p1_pops[0];
    9594     19761832 :         {
    9595     19761832 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9596     19761832 :           tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9597     19761832 :           if (res) return res;
    9598              :         }
    9599              :       }
    9600              :   }
    9601     28025056 :   switch (TREE_CODE (_p0))
    9602              :     {
    9603          404 :     case BIT_NOT_EXPR:
    9604          404 :       {
    9605          404 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9606          404 :         switch (TREE_CODE (_p1))
    9607              :           {
    9608            1 :           case BIT_NOT_EXPR:
    9609            1 :             {
    9610            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9611            1 :               {
    9612            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    9613            1 :                 tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9614            1 :                 if (res) return res;
    9615              :               }
    9616            0 :               break;
    9617              :             }
    9618          403 :           default:;
    9619              :           }
    9620          403 :       {
    9621          403 :         tree _p1_pops[1];
    9622          403 :         if (tree_nop_convert (_p1, _p1_pops))
    9623              :           {
    9624            3 :             tree _q40 = _p1_pops[0];
    9625            3 :             switch (TREE_CODE (_q40))
    9626              :               {
    9627            0 :               case BIT_NOT_EXPR:
    9628            0 :                 {
    9629            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    9630            0 :                   {
    9631            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    9632            0 :                     tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9633            0 :                     if (res) return res;
    9634              :                   }
    9635            0 :                   break;
    9636              :                 }
    9637              :               default:;
    9638              :               }
    9639              :           }
    9640              :       }
    9641          403 :       if (CONSTANT_CLASS_P (_p1))
    9642              :         {
    9643          189 :           {
    9644          189 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9645          189 :             tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9646          189 :             if (res) return res;
    9647              :           }
    9648              :         }
    9649              :         break;
    9650              :       }
    9651     28024866 :     default:;
    9652              :     }
    9653     28024866 : {
    9654     28024866 :   tree _p0_pops[1];
    9655     28024866 :   if (tree_maybe_bit_not (_p0, _p0_pops))
    9656              :     {
    9657        99748 :       tree _q20 = _p0_pops[0];
    9658        99748 :       {
    9659        99748 :         tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    9660        99748 :         tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9661        99748 :         if (res) return res;
    9662              :       }
    9663              :     }
    9664              : }
    9665     28024864 : {
    9666     28024864 :   tree _p0_pops[1];
    9667     28024864 :   if (tree_nop_convert (_p0, _p0_pops))
    9668              :     {
    9669      3071879 :       tree _q20 = _p0_pops[0];
    9670      3071879 :       switch (TREE_CODE (_q20))
    9671              :         {
    9672           41 :         case BIT_NOT_EXPR:
    9673           41 :           {
    9674           41 :             tree _q30 = TREE_OPERAND (_q20, 0);
    9675           41 :             switch (TREE_CODE (_p1))
    9676              :               {
    9677            0 :               case BIT_NOT_EXPR:
    9678            0 :                 {
    9679            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9680            0 :                   {
    9681            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    9682            0 :                     tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9683            0 :                     if (res) return res;
    9684              :                   }
    9685            0 :                   break;
    9686              :                 }
    9687           41 :               default:;
    9688              :               }
    9689           41 :           {
    9690           41 :             tree _p1_pops[1];
    9691           41 :             if (tree_nop_convert (_p1, _p1_pops))
    9692              :               {
    9693            0 :                 tree _q50 = _p1_pops[0];
    9694            0 :                 switch (TREE_CODE (_q50))
    9695              :                   {
    9696            0 :                   case BIT_NOT_EXPR:
    9697            0 :                     {
    9698            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    9699            0 :                       {
    9700            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    9701            0 :                         tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9702            0 :                         if (res) return res;
    9703              :                       }
    9704            0 :                       break;
    9705              :                     }
    9706              :                   default:;
    9707              :                   }
    9708              :               }
    9709              :           }
    9710           41 :           if (CONSTANT_CLASS_P (_p1))
    9711              :             {
    9712           41 :               {
    9713           41 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    9714           41 :                 tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9715           41 :                 if (res) return res;
    9716              :               }
    9717              :             }
    9718              :             break;
    9719              :           }
    9720              :         default:;
    9721              :         }
    9722              :     }
    9723              : }
    9724     28024823 :   switch (TREE_CODE (_p1))
    9725              :     {
    9726       974067 :     case REAL_CST:
    9727       974067 :       {
    9728       974067 :         {
    9729       974067 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9730       974067 :           tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9731       974067 :           if (res) return res;
    9732              :         }
    9733       973051 :         break;
    9734              :       }
    9735     28023807 :     default:;
    9736              :     }
    9737     28023807 :   switch (TREE_CODE (_p0))
    9738              :     {
    9739       678759 :     case PLUS_EXPR:
    9740       678759 :       {
    9741       678759 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9742       678759 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9743       678759 :         switch (TREE_CODE (_q21))
    9744              :           {
    9745          584 :           case REAL_CST:
    9746          584 :             {
    9747          584 :               switch (TREE_CODE (_p1))
    9748              :                 {
    9749          413 :                 case REAL_CST:
    9750          413 :                   {
    9751          413 :                     {
    9752          413 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9753          413 :                       tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR);
    9754          413 :                       if (res) return res;
    9755              :                     }
    9756          413 :                     break;
    9757              :                   }
    9758              :                 default:;
    9759              :                 }
    9760              :               break;
    9761              :             }
    9762              :           default:;
    9763              :           }
    9764              :         break;
    9765              :       }
    9766        99976 :     case MINUS_EXPR:
    9767        99976 :       {
    9768        99976 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9769        99976 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9770        99976 :         switch (TREE_CODE (_q21))
    9771              :           {
    9772           62 :           case REAL_CST:
    9773           62 :             {
    9774           62 :               switch (TREE_CODE (_p1))
    9775              :                 {
    9776           62 :                 case REAL_CST:
    9777           62 :                   {
    9778           62 :                     {
    9779           62 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9780           62 :                       tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, MINUS_EXPR, EQ_EXPR);
    9781           62 :                       if (res) return res;
    9782              :                     }
    9783           62 :                     break;
    9784              :                   }
    9785              :                 default:;
    9786              :                 }
    9787              :               break;
    9788              :             }
    9789        99976 :           default:;
    9790              :           }
    9791        99976 :         switch (TREE_CODE (_q20))
    9792              :           {
    9793          275 :           case REAL_CST:
    9794          275 :             {
    9795          275 :               switch (TREE_CODE (_p1))
    9796              :                 {
    9797          245 :                 case REAL_CST:
    9798          245 :                   {
    9799          245 :                     {
    9800          245 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9801          245 :                       tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9802          245 :                       if (res) return res;
    9803              :                     }
    9804          244 :                     break;
    9805              :                   }
    9806              :                 default:;
    9807              :                 }
    9808              :               break;
    9809              :             }
    9810              :           default:;
    9811              :           }
    9812              :         break;
    9813              :       }
    9814         2816 :     case FLOAT_EXPR:
    9815         2816 :       {
    9816         2816 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9817         2816 :         switch (TREE_CODE (_p1))
    9818              :           {
    9819            2 :           case FLOAT_EXPR:
    9820            2 :             {
    9821            2 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9822            2 :               {
    9823            2 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9824            2 :                 tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9825            2 :                 if (res) return res;
    9826              :               }
    9827            1 :               break;
    9828              :             }
    9829          321 :           case REAL_CST:
    9830          321 :             {
    9831          321 :               {
    9832          321 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9833          321 :                 tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9834          321 :                 if (res) return res;
    9835              :               }
    9836          190 :               break;
    9837              :             }
    9838              :           default:;
    9839              :           }
    9840              :         break;
    9841              :       }
    9842         6618 :     case EXACT_DIV_EXPR:
    9843         6618 :       {
    9844         6618 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9845         6618 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9846         6618 :         switch (TREE_CODE (_p1))
    9847              :           {
    9848           33 :           case INTEGER_CST:
    9849           33 :             {
    9850           33 :               {
    9851           33 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9852           33 :                 tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9853           33 :                 if (res) return res;
    9854              :               }
    9855            0 :               break;
    9856              :             }
    9857              :           default:;
    9858              :           }
    9859              :         break;
    9860              :       }
    9861         1303 :     case NEGATE_EXPR:
    9862         1303 :       {
    9863         1303 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9864         1303 :         switch (TREE_CODE (_p1))
    9865              :           {
    9866            1 :           case NEGATE_EXPR:
    9867            1 :             {
    9868            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9869            1 :               {
    9870            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9871            1 :                 tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9872            1 :                 if (res) return res;
    9873              :               }
    9874            0 :               break;
    9875              :             }
    9876         1302 :           default:;
    9877              :           }
    9878         1302 :       if (CONSTANT_CLASS_P (_p1))
    9879              :         {
    9880          210 :           {
    9881          210 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9882          210 :             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9883          210 :             if (res) return res;
    9884              :           }
    9885              :         }
    9886              :         break;
    9887              :       }
    9888         1427 :     case ABS_EXPR:
    9889         1427 :       {
    9890         1427 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9891         1427 :         if (zerop (_p1))
    9892              :           {
    9893           66 :             {
    9894           66 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9895           66 :               const enum tree_code eqne = EQ_EXPR;
    9896           66 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1579;
    9897           66 :               {
    9898           66 :                 tree res_op0;
    9899           66 :                 res_op0 = captures[0];
    9900           66 :                 tree res_op1;
    9901           66 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    9902           66 :                 tree _r;
    9903           66 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    9904           66 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    9905            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9906           66 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1026, __FILE__, __LINE__, true);
    9907              :                 return _r;
    9908              :               }
    9909            0 : next_after_fail1579:;
    9910              :             }
    9911              :           }
    9912              :         break;
    9913              :       }
    9914            1 :     case ABSU_EXPR:
    9915            1 :       {
    9916            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9917            1 :         if (zerop (_p1))
    9918              :           {
    9919            0 :             {
    9920            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9921            0 :               const enum tree_code eqne = EQ_EXPR;
    9922            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1580;
    9923            0 :               {
    9924            0 :                 tree res_op0;
    9925            0 :                 res_op0 = captures[0];
    9926            0 :                 tree res_op1;
    9927            0 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    9928            0 :                 tree _r;
    9929            0 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    9930            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    9931            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9932            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1026, __FILE__, __LINE__, true);
    9933              :                 return _r;
    9934              :               }
    9935            0 : next_after_fail1580:;
    9936              :             }
    9937              :           }
    9938              :         break;
    9939              :       }
    9940      5255166 :     CASE_CONVERT:
    9941      5255166 :       {
    9942      5255166 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9943      5255166 :         switch (TREE_CODE (_p1))
    9944              :           {
    9945      1661768 :           CASE_CONVERT:
    9946      1661768 :             {
    9947      1661768 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9948      1661768 :               {
    9949      1661768 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9950      1661768 :                 tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9951      1661768 :                 if (res) return res;
    9952              :               }
    9953       980888 :               break;
    9954              :             }
    9955      4574286 :           default:;
    9956              :           }
    9957      4574286 :         {
    9958      4574286 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    9959      4574286 :           tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9960      4574286 :           if (res) return res;
    9961              :         }
    9962      2399025 :         switch (TREE_CODE (_q20))
    9963              :           {
    9964            3 :           case BIT_IOR_EXPR:
    9965            3 :             {
    9966            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9967            3 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9968            3 :               switch (TREE_CODE (_q31))
    9969              :                 {
    9970            0 :                 case INTEGER_CST:
    9971            0 :                   {
    9972            0 :                     switch (TREE_CODE (_p1))
    9973              :                       {
    9974            0 :                       case INTEGER_CST:
    9975            0 :                         {
    9976            0 :                           {
    9977            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9978            0 :                             tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9979            0 :                             if (res) return res;
    9980              :                           }
    9981            0 :                           break;
    9982              :                         }
    9983              :                       default:;
    9984              :                       }
    9985              :                     break;
    9986              :                   }
    9987              :                 default:;
    9988              :                 }
    9989              :               break;
    9990              :             }
    9991              :           default:;
    9992              :           }
    9993              :         break;
    9994              :       }
    9995      9142407 :     case SSA_NAME:
    9996      9142407 :       {
    9997      9142407 :         switch (TREE_CODE (_p1))
    9998              :           {
    9999       842869 :           case ADDR_EXPR:
   10000       842869 :             {
   10001       842869 :               {
   10002       842869 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10003       842869 :                 tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10004       842869 :                 if (res) return res;
   10005              :               }
   10006       842869 :               break;
   10007              :             }
   10008              :           default:;
   10009              :           }
   10010              :         break;
   10011              :       }
   10012        33567 :     case BIT_IOR_EXPR:
   10013        33567 :       {
   10014        33567 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10015        33567 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10016        33567 :         switch (TREE_CODE (_q21))
   10017              :           {
   10018         1364 :           case INTEGER_CST:
   10019         1364 :             {
   10020         1364 :               switch (TREE_CODE (_p1))
   10021              :                 {
   10022          476 :                 case INTEGER_CST:
   10023          476 :                   {
   10024          476 :                     {
   10025          476 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10026          476 :                       tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10027          476 :                       if (res) return res;
   10028              :                     }
   10029          476 :                     break;
   10030              :                   }
   10031              :                 default:;
   10032              :                 }
   10033              :               break;
   10034              :             }
   10035              :           default:;
   10036              :           }
   10037              :         break;
   10038              :       }
   10039          631 :     case BIT_XOR_EXPR:
   10040          631 :       {
   10041          631 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10042          631 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10043          631 :         if (integer_zerop (_p1))
   10044              :           {
   10045          171 :             {
   10046          171 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10047          171 :               tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10048          171 :               if (res) return res;
   10049              :             }
   10050              :           }
   10051          460 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10052              :           {
   10053           29 :             {
   10054           29 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10055           29 :               tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10056           29 :               if (res) return res;
   10057              :             }
   10058              :           }
   10059          431 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   10060              :           {
   10061           30 :             {
   10062           30 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   10063           30 :               tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10064           30 :               if (res) return res;
   10065              :             }
   10066              :           }
   10067              :         break;
   10068              :       }
   10069      2028040 :     case CALL_EXPR:
   10070      2028040 :       switch (get_call_combined_fn (_p0))
   10071              :         {
   10072            3 :         case CFN_BUILT_IN_SQRTF:
   10073            3 :           if (call_expr_nargs (_p0) == 1)
   10074              :     {
   10075            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10076            3 :               switch (TREE_CODE (_p1))
   10077              :                 {
   10078            0 :                 case REAL_CST:
   10079            0 :                   {
   10080            0 :                     {
   10081            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10082            0 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
   10083            0 :                       if (res) return res;
   10084              :                     }
   10085            0 :                     break;
   10086              :                   }
   10087            3 :                 case CALL_EXPR:
   10088            3 :                   switch (get_call_combined_fn (_p1))
   10089              :                     {
   10090            3 :                     case CFN_BUILT_IN_SQRTF:
   10091            3 :                       if (call_expr_nargs (_p1) == 1)
   10092              :     {
   10093            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10094            3 :                           {
   10095            3 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10096            3 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
   10097            3 :                             if (res) return res;
   10098              :                           }
   10099              :                         }
   10100              :                       break;
   10101              :                     default:;
   10102              :                     }
   10103              :                   break;
   10104              :                 default:;
   10105              :                 }
   10106              :             }
   10107              :           break;
   10108            3 :         case CFN_BUILT_IN_SQRTL:
   10109            3 :           if (call_expr_nargs (_p0) == 1)
   10110              :     {
   10111            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10112            3 :               switch (TREE_CODE (_p1))
   10113              :                 {
   10114            0 :                 case REAL_CST:
   10115            0 :                   {
   10116            0 :                     {
   10117            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10118            0 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
   10119            0 :                       if (res) return res;
   10120              :                     }
   10121            0 :                     break;
   10122              :                   }
   10123            3 :                 case CALL_EXPR:
   10124            3 :                   switch (get_call_combined_fn (_p1))
   10125              :                     {
   10126            3 :                     case CFN_BUILT_IN_SQRTL:
   10127            3 :                       if (call_expr_nargs (_p1) == 1)
   10128              :     {
   10129            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10130            3 :                           {
   10131            3 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10132            3 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
   10133            3 :                             if (res) return res;
   10134              :                           }
   10135              :                         }
   10136              :                       break;
   10137              :                     default:;
   10138              :                     }
   10139              :                   break;
   10140              :                 default:;
   10141              :                 }
   10142              :             }
   10143              :           break;
   10144            2 :         case CFN_BUILT_IN_SQRT:
   10145            2 :           if (call_expr_nargs (_p0) == 1)
   10146              :     {
   10147            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10148            2 :               switch (TREE_CODE (_p1))
   10149              :                 {
   10150            2 :                 case REAL_CST:
   10151            2 :                   {
   10152            2 :                     {
   10153            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10154            2 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
   10155            2 :                       if (res) return res;
   10156              :                     }
   10157            2 :                     break;
   10158              :                   }
   10159            0 :                 case CALL_EXPR:
   10160            0 :                   switch (get_call_combined_fn (_p1))
   10161              :                     {
   10162            0 :                     case CFN_BUILT_IN_SQRT:
   10163            0 :                       if (call_expr_nargs (_p1) == 1)
   10164              :     {
   10165            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10166            0 :                           {
   10167            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10168            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
   10169            0 :                             if (res) return res;
   10170              :                           }
   10171              :                         }
   10172              :                       break;
   10173              :                     default:;
   10174              :                     }
   10175              :                   break;
   10176              :                 default:;
   10177              :                 }
   10178              :             }
   10179              :           break;
   10180            0 :         case CFN_SQRT:
   10181            0 :           if (call_expr_nargs (_p0) == 1)
   10182              :     {
   10183            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10184            0 :               switch (TREE_CODE (_p1))
   10185              :                 {
   10186            0 :                 case REAL_CST:
   10187            0 :                   {
   10188            0 :                     {
   10189            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10190            0 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
   10191            0 :                       if (res) return res;
   10192              :                     }
   10193            0 :                     break;
   10194              :                   }
   10195            0 :                 case CALL_EXPR:
   10196            0 :                   switch (get_call_combined_fn (_p1))
   10197              :                     {
   10198            0 :                     case CFN_SQRT:
   10199            0 :                       if (call_expr_nargs (_p1) == 1)
   10200              :     {
   10201            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10202            0 :                           {
   10203            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10204            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
   10205            0 :                             if (res) return res;
   10206              :                           }
   10207              :                         }
   10208              :                       break;
   10209              :                     default:;
   10210              :                     }
   10211              :                   break;
   10212              :                 default:;
   10213              :                 }
   10214              :             }
   10215              :           break;
   10216              :         default:;
   10217              :         }
   10218              :       break;
   10219     25167003 :     default:;
   10220              :     }
   10221     25167003 :   switch (TREE_CODE (_p1))
   10222              :     {
   10223           62 :     case BIT_XOR_EXPR:
   10224           62 :       {
   10225           62 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10226           62 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10227           62 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10228              :           {
   10229            0 :             {
   10230            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
   10231            0 :               tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10232            0 :               if (res) return res;
   10233              :             }
   10234              :           }
   10235           62 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   10236              :           {
   10237            0 :             {
   10238            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
   10239            0 :               tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10240            0 :               if (res) return res;
   10241              :             }
   10242              :           }
   10243              :         break;
   10244              :       }
   10245     25167003 :     default:;
   10246              :     }
   10247     25167003 :   switch (TREE_CODE (_p0))
   10248              :     {
   10249       840803 :     case BIT_AND_EXPR:
   10250       840803 :       {
   10251       840803 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10252       840803 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10253       840803 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10254              :           {
   10255          141 :             {
   10256          141 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10257          141 :               tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10258          141 :               if (res) return res;
   10259              :             }
   10260              :           }
   10261       840802 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   10262              :           {
   10263       146401 :             {
   10264       146401 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   10265       146401 :               tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10266       146401 :               if (res) return res;
   10267              :             }
   10268              :           }
   10269              :         break;
   10270              :       }
   10271     25167002 :     default:;
   10272              :     }
   10273     25167002 :   switch (TREE_CODE (_p1))
   10274              :     {
   10275        25538 :     case BIT_AND_EXPR:
   10276        25538 :       {
   10277        25538 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10278        25538 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10279        25538 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10280              :           {
   10281            0 :             {
   10282            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
   10283            0 :               tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10284            0 :               if (res) return res;
   10285              :             }
   10286              :           }
   10287        25538 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   10288              :           {
   10289            0 :             {
   10290            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
   10291            0 :               tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10292            0 :               if (res) return res;
   10293              :             }
   10294              :           }
   10295              :         break;
   10296              :       }
   10297     25167002 :     default:;
   10298              :     }
   10299     25167002 :   switch (TREE_CODE (_p0))
   10300              :     {
   10301      2399025 :     CASE_CONVERT:
   10302      2399025 :       {
   10303      2399025 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10304      2399025 :         switch (TREE_CODE (_q20))
   10305              :           {
   10306           10 :           case BIT_AND_EXPR:
   10307           10 :             {
   10308           10 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10309           10 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10310           10 :               switch (TREE_CODE (_q30))
   10311              :                 {
   10312            0 :                 CASE_CONVERT:
   10313            0 :                   {
   10314            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10315            0 :                     switch (TREE_CODE (_q31))
   10316              :                       {
   10317            0 :                       case INTEGER_CST:
   10318            0 :                         {
   10319            0 :                           switch (TREE_CODE (_p1))
   10320              :                             {
   10321            0 :                             CASE_CONVERT:
   10322            0 :                               {
   10323            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
   10324            0 :                                 if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   10325              :                                   {
   10326            0 :                                     {
   10327            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
   10328            0 :                                       tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10329            0 :                                       if (res) return res;
   10330              :                                     }
   10331              :                                   }
   10332              :                                 break;
   10333              :                               }
   10334              :                             default:;
   10335              :                             }
   10336              :                           break;
   10337              :                         }
   10338              :                       default:;
   10339              :                       }
   10340              :                     break;
   10341              :                   }
   10342              :                 default:;
   10343              :                 }
   10344              :               break;
   10345              :             }
   10346      2399025 :           default:;
   10347              :           }
   10348      2399025 :         switch (TREE_CODE (_p1))
   10349              :           {
   10350       980888 :           CASE_CONVERT:
   10351       980888 :             {
   10352       980888 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10353       980888 :               switch (TREE_CODE (_q40))
   10354              :                 {
   10355            7 :                 case BIT_AND_EXPR:
   10356            7 :                   {
   10357            7 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   10358            7 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   10359            7 :                     switch (TREE_CODE (_q50))
   10360              :                       {
   10361            7 :                       CASE_CONVERT:
   10362            7 :                         {
   10363            7 :                           tree _q60 = TREE_OPERAND (_q50, 0);
   10364            7 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10365              :                             {
   10366            0 :                               switch (TREE_CODE (_q51))
   10367              :                                 {
   10368            0 :                                 case INTEGER_CST:
   10369            0 :                                   {
   10370            0 :                                     {
   10371            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
   10372            0 :                                       tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10373            0 :                                       if (res) return res;
   10374              :                                     }
   10375            0 :                                     break;
   10376              :                                   }
   10377              :                                 default:;
   10378              :                                 }
   10379              :                             }
   10380              :                           break;
   10381              :                         }
   10382              :                       default:;
   10383              :                       }
   10384              :                     break;
   10385              :                   }
   10386              :                 default:;
   10387              :                 }
   10388              :               break;
   10389              :             }
   10390              :           default:;
   10391              :           }
   10392              :         break;
   10393              :       }
   10394        33567 :     case BIT_IOR_EXPR:
   10395        33567 :       {
   10396        33567 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10397        33567 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10398        33567 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   10399              :           {
   10400           25 :             {
   10401           25 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10402           25 :               tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10403           25 :               if (res) return res;
   10404              :             }
   10405              :           }
   10406        33567 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10407              :           {
   10408           30 :             {
   10409           30 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   10410           30 :               tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10411           30 :               if (res) return res;
   10412              :             }
   10413              :           }
   10414              :         break;
   10415              :       }
   10416     25167002 :     default:;
   10417              :     }
   10418     25167002 :   switch (TREE_CODE (_p1))
   10419              :     {
   10420          576 :     case BIT_IOR_EXPR:
   10421          576 :       {
   10422          576 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10423          576 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10424          576 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   10425              :           {
   10426            0 :             {
   10427            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
   10428            0 :               tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10429            0 :               if (res) return res;
   10430              :             }
   10431              :           }
   10432          576 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10433              :           {
   10434            0 :             {
   10435            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
   10436            0 :               tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10437            0 :               if (res) return res;
   10438              :             }
   10439              :           }
   10440              :         break;
   10441              :       }
   10442     25167002 :     default:;
   10443              :     }
   10444     25167002 :   switch (TREE_CODE (_p0))
   10445              :     {
   10446      2399025 :     CASE_CONVERT:
   10447      2399025 :       {
   10448      2399025 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10449      2399025 :         switch (TREE_CODE (_q20))
   10450              :           {
   10451          896 :           case BIT_XOR_EXPR:
   10452          896 :             {
   10453          896 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10454          896 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10455          896 :               switch (TREE_CODE (_q31))
   10456              :                 {
   10457            7 :                 case INTEGER_CST:
   10458            7 :                   {
   10459            7 :                     switch (TREE_CODE (_p1))
   10460              :                       {
   10461            0 :                       case INTEGER_CST:
   10462            0 :                         {
   10463            0 :                           {
   10464            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
   10465            0 :                             tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10466            0 :                             if (res) return res;
   10467              :                           }
   10468            0 :                           break;
   10469              :                         }
   10470              :                       default:;
   10471              :                       }
   10472              :                     break;
   10473              :                   }
   10474              :                 default:;
   10475              :                 }
   10476              :               break;
   10477              :             }
   10478              :           default:;
   10479              :           }
   10480              :         break;
   10481              :       }
   10482          401 :     case BIT_XOR_EXPR:
   10483          401 :       {
   10484          401 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10485          401 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10486          401 :         switch (TREE_CODE (_q21))
   10487              :           {
   10488          103 :           case INTEGER_CST:
   10489          103 :             {
   10490          103 :               switch (TREE_CODE (_p1))
   10491              :                 {
   10492           16 :                 case INTEGER_CST:
   10493           16 :                   {
   10494           16 :                     {
   10495           16 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10496           16 :                       tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10497           16 :                       if (res) return res;
   10498              :                     }
   10499            0 :                     break;
   10500              :                   }
   10501              :                 default:;
   10502              :                 }
   10503              :               break;
   10504              :             }
   10505              :           default:;
   10506              :           }
   10507              :         break;
   10508              :       }
   10509     25166986 :     default:;
   10510              :     }
   10511     25166986 : {
   10512     25166986 :   tree _p0_pops[1];
   10513     25166986 :   if (tree_nop_convert (_p0, _p0_pops))
   10514              :     {
   10515      2033972 :       tree _q20 = _p0_pops[0];
   10516      2033972 :       if (integer_zerop (_p1))
   10517              :         {
   10518       465554 :           {
   10519       465554 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10520       465554 :             tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10521       465554 :             if (res) return res;
   10522              :           }
   10523              :         }
   10524              :     }
   10525              : }
   10526     24851566 :   if (integer_zerop (_p1))
   10527              :     {
   10528      9886331 :       {
   10529      9886331 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10530      9886331 :         tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10531      9886331 :         if (res) return res;
   10532              :       }
   10533              :     }
   10534     24776555 :   switch (TREE_CODE (_p0))
   10535              :     {
   10536       840802 :     case BIT_AND_EXPR:
   10537       840802 :       {
   10538       840802 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10539       840802 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10540       840802 :         switch (TREE_CODE (_p1))
   10541              :           {
   10542        25237 :           case BIT_AND_EXPR:
   10543        25237 :             {
   10544        25237 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10545        25237 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10546        25237 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10547              :                 {
   10548        24712 :                   {
   10549        24712 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10550        24712 :                     tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10551        24712 :                     if (res) return res;
   10552              :                   }
   10553              :                 }
   10554          525 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10555              :                 {
   10556           28 :                   {
   10557           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   10558           28 :                     tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10559           28 :                     if (res) return res;
   10560              :                   }
   10561              :                 }
   10562          497 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10563              :                 {
   10564           28 :                   {
   10565           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   10566           28 :                     tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10567           28 :                     if (res) return res;
   10568              :                   }
   10569              :                 }
   10570          469 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10571              :                 {
   10572           28 :                   {
   10573           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   10574           28 :                     tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10575           28 :                     if (res) return res;
   10576              :                   }
   10577              :                 }
   10578              :               break;
   10579              :             }
   10580       816006 :           default:;
   10581              :           }
   10582       816006 :         if (integer_pow2p (_q21))
   10583              :           {
   10584       285823 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   10585              :               {
   10586       112815 :                 {
   10587       112815 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10588       112815 :                   tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   10589       112815 :                   if (res) return res;
   10590              :                 }
   10591              :               }
   10592              :           }
   10593              :         break;
   10594              :       }
   10595        33567 :     case BIT_IOR_EXPR:
   10596        33567 :       {
   10597        33567 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10598        33567 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10599        33567 :         switch (TREE_CODE (_p1))
   10600              :           {
   10601          469 :           case BIT_IOR_EXPR:
   10602          469 :             {
   10603          469 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10604          469 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10605          469 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10606              :                 {
   10607          152 :                   {
   10608          152 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10609          152 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10610          152 :                     if (res) return res;
   10611              :                   }
   10612              :                 }
   10613          317 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10614              :                 {
   10615            0 :                   {
   10616            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   10617            0 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10618            0 :                     if (res) return res;
   10619              :                   }
   10620              :                 }
   10621          317 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10622              :                 {
   10623            0 :                   {
   10624            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   10625            0 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10626            0 :                     if (res) return res;
   10627              :                   }
   10628              :                 }
   10629          317 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10630              :                 {
   10631            0 :                   {
   10632            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   10633            0 :                     tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10634            0 :                     if (res) return res;
   10635              :                   }
   10636              :                 }
   10637              :               break;
   10638              :             }
   10639        33415 :           default:;
   10640              :           }
   10641        33415 :         if (integer_pow2p (_q21))
   10642              :           {
   10643         1025 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10644              :               {
   10645            0 :                 {
   10646            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10647            0 :                   tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   10648            0 :                   if (res) return res;
   10649              :                 }
   10650              :               }
   10651              :           }
   10652              :         break;
   10653              :       }
   10654         1218 :     case GE_EXPR:
   10655         1218 :       {
   10656         1218 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10657         1218 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10658         1218 :         if (integer_zerop (_q21))
   10659              :           {
   10660           98 :             switch (TREE_CODE (_p1))
   10661              :               {
   10662            5 :               case GE_EXPR:
   10663            5 :                 {
   10664            5 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10665            5 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10666            5 :                   if (integer_zerop (_q51))
   10667              :                     {
   10668            5 :                       {
   10669            5 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   10670            5 :                         tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, GE_EXPR);
   10671            5 :                         if (res) return res;
   10672              :                       }
   10673              :                     }
   10674              :                   break;
   10675              :                 }
   10676            1 :               case LT_EXPR:
   10677            1 :                 {
   10678            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10679            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10680            1 :                   if (integer_zerop (_q51))
   10681              :                     {
   10682            1 :                       {
   10683            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
   10684            1 :                         tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
   10685            1 :                         if (res) return res;
   10686              :                       }
   10687              :                     }
   10688              :                   break;
   10689              :                 }
   10690              :               default:;
   10691              :               }
   10692              :           }
   10693              :         break;
   10694              :       }
   10695          836 :     case LT_EXPR:
   10696          836 :       {
   10697          836 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10698          836 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10699          836 :         if (integer_zerop (_q21))
   10700              :           {
   10701          139 :             switch (TREE_CODE (_p1))
   10702              :               {
   10703           11 :               case LT_EXPR:
   10704           11 :                 {
   10705           11 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10706           11 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10707           11 :                   if (integer_zerop (_q51))
   10708              :                     {
   10709            9 :                       {
   10710            9 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   10711            9 :                         tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GE_EXPR);
   10712            9 :                         if (res) return res;
   10713              :                       }
   10714              :                     }
   10715              :                   break;
   10716              :                 }
   10717            1 :               case GE_EXPR:
   10718            1 :                 {
   10719            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10720            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10721            1 :                   if (integer_zerop (_q51))
   10722              :                     {
   10723            1 :                       {
   10724            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   10725            1 :                         tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
   10726            1 :                         if (res) return res;
   10727              :                       }
   10728              :                     }
   10729              :                   break;
   10730              :                 }
   10731              :               default:;
   10732              :               }
   10733              :           }
   10734              :         break;
   10735              :       }
   10736     24638796 :     default:;
   10737              :     }
   10738     24638796 :   switch (TREE_CODE (_p1))
   10739              :     {
   10740          424 :     case BIT_IOR_EXPR:
   10741          424 :       {
   10742          424 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10743          424 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10744          424 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10745              :           {
   10746            0 :             if (integer_pow2p (_q31))
   10747              :               {
   10748            0 :                 {
   10749            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
   10750            0 :                   tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   10751            0 :                   if (res) return res;
   10752              :                 }
   10753              :               }
   10754              :           }
   10755              :         break;
   10756              :       }
   10757     24638796 :     default:;
   10758              :     }
   10759     24638796 :   switch (TREE_CODE (_p0))
   10760              :     {
   10761       703211 :     case BIT_AND_EXPR:
   10762       703211 :       {
   10763       703211 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10764       703211 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10765       703211 :         switch (TREE_CODE (_q20))
   10766              :           {
   10767        30742 :           CASE_CONVERT:
   10768        30742 :             {
   10769        30742 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10770        30742 :               if (integer_pow2p (_q21))
   10771              :                 {
   10772        11050 :                   if (integer_zerop (_p1))
   10773              :                     {
   10774        11048 :                       {
   10775        11048 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
   10776        11048 :                         tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
   10777        11048 :                         if (res) return res;
   10778              :                       }
   10779              :                     }
   10780              :                 }
   10781              :               break;
   10782              :             }
   10783       702254 :           default:;
   10784              :           }
   10785       702254 :         if (integer_pow2p (_q21))
   10786              :           {
   10787       172071 :             if (integer_zerop (_p1))
   10788              :               {
   10789       171906 :                 {
   10790       171906 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
   10791       171906 :                   tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
   10792       171906 :                   if (res) return res;
   10793              :                 }
   10794              :               }
   10795              :           }
   10796              :         break;
   10797              :       }
   10798        33415 :     case BIT_IOR_EXPR:
   10799        33415 :       {
   10800        33415 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10801        33415 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10802        33415 :         switch (TREE_CODE (_q21))
   10803              :           {
   10804          659 :           CASE_CONVERT:
   10805          659 :             {
   10806          659 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10807          659 :               switch (TREE_CODE (_q40))
   10808              :                 {
   10809            0 :                 case NE_EXPR:
   10810            0 :                   {
   10811            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   10812            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   10813            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10814              :                       {
   10815            0 :                         if (integer_zerop (_q51))
   10816              :                           {
   10817            0 :                             if (integer_zerop (_p1))
   10818              :                               {
   10819            0 :                                 {
   10820            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10821            0 :                                   tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10822            0 :                                   if (res) return res;
   10823              :                                 }
   10824              :                               }
   10825              :                           }
   10826              :                       }
   10827              :                     break;
   10828              :                   }
   10829              :                 default:;
   10830              :                 }
   10831              :               break;
   10832              :             }
   10833        33415 :           default:;
   10834              :           }
   10835        33415 :         switch (TREE_CODE (_q20))
   10836              :           {
   10837          627 :           CASE_CONVERT:
   10838          627 :             {
   10839          627 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10840          627 :               switch (TREE_CODE (_q30))
   10841              :                 {
   10842            0 :                 case NE_EXPR:
   10843            0 :                   {
   10844            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10845            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   10846            0 :                     if (integer_zerop (_q41))
   10847              :                       {
   10848            0 :                         if ((_q21 == _q40 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q40, 0) && types_match (_q21, _q40)))
   10849              :                           {
   10850            0 :                             if (integer_zerop (_p1))
   10851              :                               {
   10852            0 :                                 {
   10853            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
   10854            0 :                                   tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10855            0 :                                   if (res) return res;
   10856              :                                 }
   10857              :                               }
   10858              :                           }
   10859              :                       }
   10860              :                     break;
   10861              :                   }
   10862              :                 default:;
   10863              :                 }
   10864              :               break;
   10865              :             }
   10866        33415 :           default:;
   10867              :           }
   10868        33415 :         switch (TREE_CODE (_q21))
   10869              :           {
   10870            1 :           case NE_EXPR:
   10871            1 :             {
   10872            1 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10873            1 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10874            1 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   10875              :                 {
   10876            0 :                   if (integer_zerop (_q41))
   10877              :                     {
   10878            0 :                       if (integer_zerop (_p1))
   10879              :                         {
   10880            0 :                           {
   10881            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10882            0 :                             tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10883            0 :                             if (res) return res;
   10884              :                           }
   10885              :                         }
   10886              :                     }
   10887              :                 }
   10888              :               break;
   10889              :             }
   10890        33415 :           default:;
   10891              :           }
   10892        33415 :         switch (TREE_CODE (_q20))
   10893              :           {
   10894            9 :           case NE_EXPR:
   10895            9 :             {
   10896            9 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10897            9 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10898            9 :               if (integer_zerop (_q31))
   10899              :                 {
   10900            0 :                   if ((_q21 == _q30 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q30, 0) && types_match (_q21, _q30)))
   10901              :                     {
   10902            0 :                       if (integer_zerop (_p1))
   10903              :                         {
   10904            0 :                           {
   10905            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
   10906            0 :                             tree res = generic_simplify_304 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10907            0 :                             if (res) return res;
   10908              :                           }
   10909              :                         }
   10910              :                     }
   10911              :                 }
   10912              :               break;
   10913              :             }
   10914              :           default:;
   10915              :           }
   10916              :         break;
   10917              :       }
   10918      2083602 :     CASE_CONVERT:
   10919      2083602 :       {
   10920      2083602 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10921      2083602 :         switch (TREE_CODE (_q20))
   10922              :           {
   10923       627714 :           case ADDR_EXPR:
   10924       627714 :             {
   10925       627714 :               switch (TREE_CODE (_p1))
   10926              :                 {
   10927       599571 :                 CASE_CONVERT:
   10928       599571 :                   {
   10929       599571 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   10930       599571 :                     switch (TREE_CODE (_q40))
   10931              :                       {
   10932       599571 :                       case ADDR_EXPR:
   10933       599571 :                         {
   10934       599571 :                           {
   10935       599571 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10936       599571 :                             tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10937       599571 :                             if (res) return res;
   10938              :                           }
   10939           30 :                           break;
   10940              :                         }
   10941              :                       default:;
   10942              :                       }
   10943              :                     break;
   10944              :                   }
   10945        20897 :                 case ADDR_EXPR:
   10946        20897 :                   {
   10947        20897 :                     {
   10948        20897 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10949        20897 :                       tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10950        20897 :                       if (res) return res;
   10951              :                     }
   10952         7896 :                     break;
   10953              :                   }
   10954              :                 default:;
   10955              :                 }
   10956              :               break;
   10957              :             }
   10958              :           default:;
   10959              :           }
   10960              :         break;
   10961              :       }
   10962        19233 :     case ADDR_EXPR:
   10963        19233 :       {
   10964        19233 :         switch (TREE_CODE (_p1))
   10965              :           {
   10966          165 :           CASE_CONVERT:
   10967          165 :             {
   10968          165 :               tree _q30 = TREE_OPERAND (_p1, 0);
   10969          165 :               switch (TREE_CODE (_q30))
   10970              :                 {
   10971          165 :                 case ADDR_EXPR:
   10972          165 :                   {
   10973          165 :                     {
   10974          165 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
   10975          165 :                       tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10976          165 :                       if (res) return res;
   10977              :                     }
   10978            0 :                     break;
   10979              :                   }
   10980              :                 default:;
   10981              :                 }
   10982              :               break;
   10983              :             }
   10984        16640 :           case ADDR_EXPR:
   10985        16640 :             {
   10986        16640 :               {
   10987        16640 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
   10988        16640 :                 tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10989        16640 :                 if (res) return res;
   10990              :               }
   10991         7259 :               break;
   10992              :             }
   10993              :           default:;
   10994              :           }
   10995              :         break;
   10996              :       }
   10997     24015459 :     default:;
   10998              :     }
   10999     24015459 :   {
   11000     24015459 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11001     24015459 :     tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, EQ_EXPR);
   11002     24015459 :     if (res) return res;
   11003              :   }
   11004     24013420 :   switch (TREE_CODE (_p0))
   11005              :     {
   11006      1471060 :     CASE_CONVERT:
   11007      1471060 :       {
   11008      1471060 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11009      1471060 :         switch (TREE_CODE (_p1))
   11010              :           {
   11011       260431 :           case INTEGER_CST:
   11012       260431 :             {
   11013       260431 :               {
   11014       260431 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11015       260431 :                 tree res = generic_simplify_308 (loc, type, _p0, _p1, captures, EQ_EXPR);
   11016       260431 :                 if (res) return res;
   11017              :               }
   11018       259014 :               break;
   11019              :             }
   11020      1469643 :           default:;
   11021              :           }
   11022      1469643 :         switch (TREE_CODE (_q20))
   11023              :           {
   11024            0 :           case NE_EXPR:
   11025            0 :             {
   11026            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11027            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11028            0 :               switch (TREE_CODE (_q31))
   11029              :                 {
   11030            0 :                 case INTEGER_CST:
   11031            0 :                   {
   11032            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   11033              :                       {
   11034            0 :                         {
   11035            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   11036            0 :                           tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   11037            0 :                           if (res) return res;
   11038              :                         }
   11039              :                       }
   11040              :                     break;
   11041              :                   }
   11042              :                 default:;
   11043              :                 }
   11044              :               break;
   11045              :             }
   11046            0 :           case EQ_EXPR:
   11047            0 :             {
   11048            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11049            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11050            0 :               switch (TREE_CODE (_q31))
   11051              :                 {
   11052            0 :                 case INTEGER_CST:
   11053            0 :                   {
   11054            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   11055              :                       {
   11056            0 :                         {
   11057            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   11058            0 :                           tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   11059            0 :                           if (res) return res;
   11060              :                         }
   11061              :                       }
   11062              :                     break;
   11063              :                   }
   11064              :                 default:;
   11065              :                 }
   11066              :               break;
   11067              :             }
   11068              :           default:;
   11069              :           }
   11070              :         break;
   11071              :       }
   11072     24012003 :     default:;
   11073              :     }
   11074     24012003 :   switch (TREE_CODE (_p1))
   11075              :     {
   11076       685697 :     CASE_CONVERT:
   11077       685697 :       {
   11078       685697 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11079       685697 :         switch (TREE_CODE (_q30))
   11080              :           {
   11081            0 :           case NE_EXPR:
   11082            0 :             {
   11083            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   11084            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   11085            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   11086              :                 {
   11087            0 :                   switch (TREE_CODE (_q41))
   11088              :                     {
   11089            0 :                     case INTEGER_CST:
   11090            0 :                       {
   11091            0 :                         {
   11092            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   11093            0 :                           tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   11094            0 :                           if (res) return res;
   11095              :                         }
   11096            0 :                         break;
   11097              :                       }
   11098              :                     default:;
   11099              :                     }
   11100              :                 }
   11101              :               break;
   11102              :             }
   11103            0 :           case EQ_EXPR:
   11104            0 :             {
   11105            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   11106            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   11107            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   11108              :                 {
   11109            0 :                   switch (TREE_CODE (_q41))
   11110              :                     {
   11111            0 :                     case INTEGER_CST:
   11112            0 :                       {
   11113            0 :                         {
   11114            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   11115            0 :                           tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   11116            0 :                           if (res) return res;
   11117              :                         }
   11118            0 :                         break;
   11119              :                       }
   11120              :                     default:;
   11121              :                     }
   11122              :                 }
   11123              :               break;
   11124              :             }
   11125              :           default:;
   11126              :           }
   11127              :         break;
   11128              :       }
   11129     24012003 :     default:;
   11130              :     }
   11131     24012003 : if (integer_onep (_p1))
   11132              :   {
   11133      1826648 :     {
   11134      1826648 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11135      1826648 :       if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
   11136      1826648 :  && types_match (type, TREE_TYPE (captures[0]))
   11137              : )
   11138              :         {
   11139       116634 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1581;
   11140       116634 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1581;
   11141       116634 :           {
   11142       116634 :             tree res_op0;
   11143       116634 :             res_op0 = captures[0];
   11144       116634 :             tree _r;
   11145       116634 :             _r = non_lvalue_loc (loc, res_op0);
   11146       116634 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1027, __FILE__, __LINE__, true);
   11147     28253050 :             return _r;
   11148              :           }
   11149     23895369 : next_after_fail1581:;
   11150              :         }
   11151              :     }
   11152              :   }
   11153     23895369 :   switch (TREE_CODE (_p0))
   11154              :     {
   11155       701962 :     case BIT_AND_EXPR:
   11156       701962 :       {
   11157       701962 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11158       701962 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11159       701962 :         switch (TREE_CODE (_q21))
   11160              :           {
   11161          688 :           case VECTOR_CST:
   11162          688 :             {
   11163          688 :               if (integer_zerop (_p1))
   11164              :                 {
   11165          398 :                   {
   11166          398 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   11167          398 :                     const enum tree_code cmp = EQ_EXPR;
   11168          398 :                     const enum tree_code icmp = LE_EXPR;
   11169          398 :                     {
   11170          398 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   11171          398 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   11172              : )
   11173              :                           {
   11174            2 :                             {
   11175            2 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   11176            2 :  ? optab_vector : optab_default;
   11177            2 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   11178            2 :                                 if (target_supports_op_p (utype, icmp, optab)
   11179            2 :  || (optimize_vectors_before_lowering_p ()
   11180            2 :  && (!target_supports_op_p (type, cmp, optab)
   11181            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   11182              : )
   11183              :                                   {
   11184            2 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   11185              : )
   11186              :                                       {
   11187            2 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1582;
   11188            2 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1582;
   11189            2 :                                         {
   11190            2 :                                           tree res_op0;
   11191            2 :                                           res_op0 = captures[1];
   11192            2 :                                           tree res_op1;
   11193            2 :                                           res_op1 =  csts;
   11194            2 :                                           tree _r;
   11195            2 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   11196            2 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   11197            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11198            2 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1028, __FILE__, __LINE__, true);
   11199              :                                           return _r;
   11200              :                                         }
   11201       701045 : next_after_fail1582:;
   11202              :                                       }
   11203              :                                     else
   11204              :                                       {
   11205            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1583;
   11206            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1583;
   11207            0 :                                         {
   11208            0 :                                           tree res_op0;
   11209            0 :                                           {
   11210            0 :                                             tree _o1[1], _r1;
   11211            0 :                                             _o1[0] = captures[1];
   11212            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   11213              :                                               {
   11214            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   11215              :                                               }
   11216              :                                             else
   11217              :                                               _r1 = _o1[0];
   11218            0 :                                             res_op0 = _r1;
   11219              :                                           }
   11220            0 :                                           tree res_op1;
   11221            0 :                                           res_op1 =  csts;
   11222            0 :                                           tree _r;
   11223            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   11224            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   11225            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11226            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1029, __FILE__, __LINE__, true);
   11227              :                                           return _r;
   11228              :                                         }
   11229       701045 : next_after_fail1583:;
   11230              :                                       }
   11231              :                                   }
   11232              :                             }
   11233              :                           }
   11234              :                     }
   11235              :                   }
   11236              :                 }
   11237              :               break;
   11238              :             }
   11239       658225 :           case INTEGER_CST:
   11240       658225 :             {
   11241       658225 :               if (integer_zerop (_p1))
   11242              :                 {
   11243       541602 :                   {
   11244       541602 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   11245       541602 :                     const enum tree_code cmp = EQ_EXPR;
   11246       541602 :                     const enum tree_code icmp = LE_EXPR;
   11247       541602 :                     {
   11248       541602 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   11249       541602 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   11250              : )
   11251              :                           {
   11252         1061 :                             {
   11253         1061 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   11254         1061 :  ? optab_vector : optab_default;
   11255         1061 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   11256         1061 :                                 if (target_supports_op_p (utype, icmp, optab)
   11257         1061 :  || (optimize_vectors_before_lowering_p ()
   11258          915 :  && (!target_supports_op_p (type, cmp, optab)
   11259            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   11260              : )
   11261              :                                   {
   11262          915 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   11263              : )
   11264              :                                       {
   11265          610 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1584;
   11266          610 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1584;
   11267          610 :                                         {
   11268          610 :                                           tree res_op0;
   11269          610 :                                           res_op0 = captures[1];
   11270          610 :                                           tree res_op1;
   11271          610 :                                           res_op1 =  csts;
   11272          610 :                                           tree _r;
   11273          610 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   11274          610 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   11275            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11276          610 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1028, __FILE__, __LINE__, true);
   11277              :                                           return _r;
   11278              :                                         }
   11279       701045 : next_after_fail1584:;
   11280              :                                       }
   11281              :                                     else
   11282              :                                       {
   11283          305 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1585;
   11284          305 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1585;
   11285          305 :                                         {
   11286          305 :                                           tree res_op0;
   11287          305 :                                           {
   11288          305 :                                             tree _o1[1], _r1;
   11289          305 :                                             _o1[0] = captures[1];
   11290          305 :                                             if (TREE_TYPE (_o1[0]) != utype)
   11291              :                                               {
   11292          305 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   11293              :                                               }
   11294              :                                             else
   11295              :                                               _r1 = _o1[0];
   11296          305 :                                             res_op0 = _r1;
   11297              :                                           }
   11298          305 :                                           tree res_op1;
   11299          305 :                                           res_op1 =  csts;
   11300          305 :                                           tree _r;
   11301          305 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   11302          305 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   11303            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11304          305 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1029, __FILE__, __LINE__, true);
   11305              :                                           return _r;
   11306              :                                         }
   11307       701045 : next_after_fail1585:;
   11308              :                                       }
   11309              :                                   }
   11310              :                             }
   11311              :                           }
   11312              :                     }
   11313              :                   }
   11314              :                 }
   11315              :               break;
   11316              :             }
   11317       701045 :           default:;
   11318              :           }
   11319       701045 :         switch (TREE_CODE (_q20))
   11320              :           {
   11321            0 :           case VECTOR_CST:
   11322            0 :             {
   11323            0 :               if (integer_zerop (_p1))
   11324              :                 {
   11325            0 :                   {
   11326            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   11327            0 :                     const enum tree_code cmp = EQ_EXPR;
   11328            0 :                     const enum tree_code icmp = LE_EXPR;
   11329            0 :                     {
   11330            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   11331            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   11332              : )
   11333              :                           {
   11334            0 :                             {
   11335            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   11336            0 :  ? optab_vector : optab_default;
   11337            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   11338            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   11339            0 :  || (optimize_vectors_before_lowering_p ()
   11340            0 :  && (!target_supports_op_p (type, cmp, optab)
   11341            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   11342              : )
   11343              :                                   {
   11344            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   11345              : )
   11346              :                                       {
   11347            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1586;
   11348            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1586;
   11349            0 :                                         {
   11350            0 :                                           tree res_op0;
   11351            0 :                                           res_op0 = captures[1];
   11352            0 :                                           tree res_op1;
   11353            0 :                                           res_op1 =  csts;
   11354            0 :                                           tree _r;
   11355            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   11356            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   11357            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11358            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1028, __FILE__, __LINE__, true);
   11359              :                                           return _r;
   11360              :                                         }
   11361     28253050 : next_after_fail1586:;
   11362              :                                       }
   11363              :                                     else
   11364              :                                       {
   11365            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1587;
   11366            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1587;
   11367            0 :                                         {
   11368            0 :                                           tree res_op0;
   11369            0 :                                           {
   11370            0 :                                             tree _o1[1], _r1;
   11371            0 :                                             _o1[0] = captures[1];
   11372            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   11373              :                                               {
   11374            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   11375              :                                               }
   11376              :                                             else
   11377              :                                               _r1 = _o1[0];
   11378            0 :                                             res_op0 = _r1;
   11379              :                                           }
   11380            0 :                                           tree res_op1;
   11381            0 :                                           res_op1 =  csts;
   11382            0 :                                           tree _r;
   11383            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   11384            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   11385            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11386            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1029, __FILE__, __LINE__, true);
   11387              :                                           return _r;
   11388              :                                         }
   11389     28253050 : next_after_fail1587:;
   11390              :                                       }
   11391              :                                   }
   11392              :                             }
   11393              :                           }
   11394              :                     }
   11395              :                   }
   11396              :                 }
   11397              :               break;
   11398              :             }
   11399            0 :           case INTEGER_CST:
   11400            0 :             {
   11401            0 :               if (integer_zerop (_p1))
   11402              :                 {
   11403            0 :                   {
   11404            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   11405            0 :                     const enum tree_code cmp = EQ_EXPR;
   11406            0 :                     const enum tree_code icmp = LE_EXPR;
   11407            0 :                     {
   11408            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   11409            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   11410              : )
   11411              :                           {
   11412            0 :                             {
   11413            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   11414            0 :  ? optab_vector : optab_default;
   11415            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   11416            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   11417            0 :  || (optimize_vectors_before_lowering_p ()
   11418            0 :  && (!target_supports_op_p (type, cmp, optab)
   11419            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   11420              : )
   11421              :                                   {
   11422            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   11423              : )
   11424              :                                       {
   11425            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1588;
   11426            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1588;
   11427            0 :                                         {
   11428            0 :                                           tree res_op0;
   11429            0 :                                           res_op0 = captures[1];
   11430            0 :                                           tree res_op1;
   11431            0 :                                           res_op1 =  csts;
   11432            0 :                                           tree _r;
   11433            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   11434            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   11435            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11436            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1028, __FILE__, __LINE__, true);
   11437              :                                           return _r;
   11438              :                                         }
   11439     28253050 : next_after_fail1588:;
   11440              :                                       }
   11441              :                                     else
   11442              :                                       {
   11443            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1589;
   11444            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1589;
   11445            0 :                                         {
   11446            0 :                                           tree res_op0;
   11447            0 :                                           {
   11448            0 :                                             tree _o1[1], _r1;
   11449            0 :                                             _o1[0] = captures[1];
   11450            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   11451              :                                               {
   11452            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   11453              :                                               }
   11454              :                                             else
   11455              :                                               _r1 = _o1[0];
   11456            0 :                                             res_op0 = _r1;
   11457              :                                           }
   11458            0 :                                           tree res_op1;
   11459            0 :                                           res_op1 =  csts;
   11460            0 :                                           tree _r;
   11461            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   11462            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   11463            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11464            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1029, __FILE__, __LINE__, true);
   11465              :                                           return _r;
   11466              :                                         }
   11467     28253050 : next_after_fail1589:;
   11468              :                                       }
   11469              :                                   }
   11470              :                             }
   11471              :                           }
   11472              :                     }
   11473              :                   }
   11474              :                 }
   11475              :               break;
   11476              :             }
   11477              :           default:;
   11478              :           }
   11479              :         break;
   11480              :       }
   11481        17898 :     case RSHIFT_EXPR:
   11482        17898 :       {
   11483        17898 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11484        17898 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11485        17898 :         switch (TREE_CODE (_q20))
   11486              :           {
   11487            1 :           case MULT_EXPR:
   11488            1 :             {
   11489            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11490            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11491            1 :               switch (TREE_CODE (_q30))
   11492              :                 {
   11493            1 :                 CASE_CONVERT:
   11494            1 :                   {
   11495            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   11496            1 :                     switch (TREE_CODE (_q31))
   11497              :                       {
   11498            1 :                       CASE_CONVERT:
   11499            1 :                         {
   11500            1 :                           tree _q60 = TREE_OPERAND (_q31, 0);
   11501            1 :                           switch (TREE_CODE (_q21))
   11502              :                             {
   11503            1 :                             case INTEGER_CST:
   11504            1 :                               {
   11505            1 :                                 if (integer_zerop (_p1))
   11506              :                                   {
   11507            1 :                                     {
   11508            1 :                                       tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
   11509            1 :                                       tree res = generic_simplify_310 (loc, type, _p0, _p1, captures, EQ_EXPR, LE_EXPR);
   11510            1 :                                       if (res) return res;
   11511              :                                     }
   11512              :                                   }
   11513              :                                 break;
   11514              :                               }
   11515              :                             default:;
   11516              :                             }
   11517              :                           break;
   11518              :                         }
   11519              :                       default:;
   11520              :                       }
   11521              :                     break;
   11522              :                   }
   11523              :                 default:;
   11524              :                 }
   11525              :               break;
   11526              :             }
   11527              :           default:;
   11528              :           }
   11529              :         break;
   11530              :       }
   11531       678747 :     case PLUS_EXPR:
   11532       678747 :       {
   11533       678747 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11534       678747 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11535       678747 :         switch (TREE_CODE (_q21))
   11536              :           {
   11537       631518 :           case INTEGER_CST:
   11538       631518 :             {
   11539       631518 :               switch (TREE_CODE (_p1))
   11540              :                 {
   11541       361284 :                 case INTEGER_CST:
   11542       361284 :                   {
   11543       361284 :                     {
   11544       361284 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   11545       361284 :                       tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, EQ_EXPR);
   11546       361284 :                       if (res) return res;
   11547              :                     }
   11548           22 :                     break;
   11549              :                   }
   11550              :                 default:;
   11551              :                 }
   11552              :               break;
   11553              :             }
   11554              :           default:;
   11555              :           }
   11556              :         break;
   11557              :       }
   11558        99975 :     case MINUS_EXPR:
   11559        99975 :       {
   11560        99975 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11561        99975 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11562        99975 :         switch (TREE_CODE (_q21))
   11563              :           {
   11564           19 :           case INTEGER_CST:
   11565           19 :             {
   11566           19 :               switch (TREE_CODE (_p1))
   11567              :                 {
   11568           16 :                 case INTEGER_CST:
   11569           16 :                   {
   11570           16 :                     {
   11571           16 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   11572           16 :                       tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, EQ_EXPR);
   11573           16 :                       if (res) return res;
   11574              :                     }
   11575           16 :                     break;
   11576              :                   }
   11577              :                 default:;
   11578              :                 }
   11579              :               break;
   11580              :             }
   11581        99975 :           default:;
   11582              :           }
   11583        99975 :         switch (TREE_CODE (_q20))
   11584              :           {
   11585        39785 :           case INTEGER_CST:
   11586        39785 :             {
   11587        39785 :               switch (TREE_CODE (_p1))
   11588              :                 {
   11589        38456 :                 case INTEGER_CST:
   11590        38456 :                   {
   11591        38456 :                     {
   11592        38456 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11593        38456 :                       tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   11594        38456 :                       if (res) return res;
   11595              :                     }
   11596            0 :                     break;
   11597              :                   }
   11598              :                 default:;
   11599              :                 }
   11600              :               break;
   11601              :             }
   11602              :           default:;
   11603              :           }
   11604              :         break;
   11605              :       }
   11606      2023731 :     case CALL_EXPR:
   11607      2023731 :       switch (get_call_combined_fn (_p0))
   11608              :         {
   11609           19 :         case CFN_BUILT_IN_CLZ:
   11610           19 :           if (call_expr_nargs (_p0) == 1)
   11611              :     {
   11612           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11613           19 :               switch (TREE_CODE (_p1))
   11614              :                 {
   11615           19 :                 case INTEGER_CST:
   11616           19 :                   {
   11617           19 :                     {
   11618           19 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11619           19 :                       tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZ);
   11620           19 :                       if (res) return res;
   11621              :                     }
   11622           16 :                     break;
   11623              :                   }
   11624              :                 default:;
   11625              :                 }
   11626              :             }
   11627              :           break;
   11628           17 :         case CFN_BUILT_IN_CTZ:
   11629           17 :           if (call_expr_nargs (_p0) == 1)
   11630              :     {
   11631           17 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11632           17 :               switch (TREE_CODE (_p1))
   11633              :                 {
   11634           17 :                 case INTEGER_CST:
   11635           17 :                   {
   11636           17 :                     {
   11637           17 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11638           17 :                       tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZ);
   11639           17 :                       if (res) return res;
   11640              :                     }
   11641           16 :                     break;
   11642              :                   }
   11643              :                 default:;
   11644              :                 }
   11645              :             }
   11646              :           break;
   11647            4 :         case CFN_BUILT_IN_FFS:
   11648            4 :           if (call_expr_nargs (_p0) == 1)
   11649              :     {
   11650            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11651            4 :               switch (TREE_CODE (_p1))
   11652              :                 {
   11653            4 :                 case INTEGER_CST:
   11654            4 :                   {
   11655            4 :                     {
   11656            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11657            4 :                       tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFS);
   11658            4 :                       if (res) return res;
   11659              :                     }
   11660            0 :                     break;
   11661              :                   }
   11662              :                 default:;
   11663              :                 }
   11664              :             }
   11665              :           break;
   11666            0 :         case CFN_REDUC_IOR:
   11667            0 :           if (call_expr_nargs (_p0) == 1)
   11668              :     {
   11669            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11670            0 :               if (integer_zerop (_p1))
   11671              :                 {
   11672            0 :                   {
   11673            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11674            0 :                     tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, EQ_EXPR);
   11675            0 :                     if (res) return res;
   11676              :                   }
   11677              :                 }
   11678              :             }
   11679              :           break;
   11680            0 :         case CFN_BUILT_IN_FFSIMAX:
   11681            0 :           if (call_expr_nargs (_p0) == 1)
   11682              :     {
   11683            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11684            0 :               switch (TREE_CODE (_p1))
   11685              :                 {
   11686            0 :                 case INTEGER_CST:
   11687            0 :                   {
   11688            0 :                     {
   11689            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11690            0 :                       tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSIMAX);
   11691            0 :                       if (res) return res;
   11692              :                     }
   11693            0 :                     break;
   11694              :                   }
   11695              :                 default:;
   11696              :                 }
   11697              :             }
   11698              :           break;
   11699           15 :         case CFN_BUILT_IN_POPCOUNT:
   11700           15 :           if (call_expr_nargs (_p0) == 1)
   11701              :     {
   11702           15 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11703           15 :               if (integer_zerop (_p1))
   11704              :                 {
   11705            1 :                   {
   11706            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11707            1 :                     tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNT);
   11708            1 :                     if (res) return res;
   11709              :                   }
   11710              :                 }
   11711              :             }
   11712              :           break;
   11713            0 :         case CFN_BUILT_IN_CLZL:
   11714            0 :           if (call_expr_nargs (_p0) == 1)
   11715              :     {
   11716            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11717            0 :               switch (TREE_CODE (_p1))
   11718              :                 {
   11719            0 :                 case INTEGER_CST:
   11720            0 :                   {
   11721            0 :                     {
   11722            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11723            0 :                       tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZL);
   11724            0 :                       if (res) return res;
   11725              :                     }
   11726            0 :                     break;
   11727              :                   }
   11728              :                 default:;
   11729              :                 }
   11730              :             }
   11731              :           break;
   11732           16 :         case CFN_BUILT_IN_CTZL:
   11733           16 :           if (call_expr_nargs (_p0) == 1)
   11734              :     {
   11735           16 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11736           16 :               switch (TREE_CODE (_p1))
   11737              :                 {
   11738           16 :                 case INTEGER_CST:
   11739           16 :                   {
   11740           16 :                     {
   11741           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11742           16 :                       tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZL);
   11743           16 :                       if (res) return res;
   11744              :                     }
   11745           16 :                     break;
   11746              :                   }
   11747              :                 default:;
   11748              :                 }
   11749              :             }
   11750              :           break;
   11751            1 :         case CFN_BUILT_IN_FFSL:
   11752            1 :           if (call_expr_nargs (_p0) == 1)
   11753              :     {
   11754            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11755            1 :               switch (TREE_CODE (_p1))
   11756              :                 {
   11757            1 :                 case INTEGER_CST:
   11758            1 :                   {
   11759            1 :                     {
   11760            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11761            1 :                       tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSL);
   11762            1 :                       if (res) return res;
   11763              :                     }
   11764            0 :                     break;
   11765              :                   }
   11766              :                 default:;
   11767              :                 }
   11768              :             }
   11769              :           break;
   11770            7 :         case CFN_BUILT_IN_POPCOUNTLL:
   11771            7 :           if (call_expr_nargs (_p0) == 1)
   11772              :     {
   11773            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11774            7 :               if (integer_zerop (_p1))
   11775              :                 {
   11776            1 :                   {
   11777            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11778            1 :                     tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   11779            1 :                     if (res) return res;
   11780              :                   }
   11781              :                 }
   11782              :             }
   11783              :           break;
   11784            0 :         case CFN_BUILT_IN_CTZIMAX:
   11785            0 :           if (call_expr_nargs (_p0) == 1)
   11786              :     {
   11787            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11788            0 :               switch (TREE_CODE (_p1))
   11789              :                 {
   11790            0 :                 case INTEGER_CST:
   11791            0 :                   {
   11792            0 :                     {
   11793            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11794            0 :                       tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
   11795            0 :                       if (res) return res;
   11796              :                     }
   11797            0 :                     break;
   11798              :                   }
   11799              :                 default:;
   11800              :                 }
   11801              :             }
   11802              :           break;
   11803            0 :         case CFN_POPCOUNT:
   11804            0 :           if (call_expr_nargs (_p0) == 1)
   11805              :     {
   11806            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11807            0 :               if (integer_zerop (_p1))
   11808              :                 {
   11809            0 :                   {
   11810            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11811            0 :                     tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_POPCOUNT);
   11812            0 :                     if (res) return res;
   11813              :                   }
   11814              :                 }
   11815              :             }
   11816              :           break;
   11817            0 :         case CFN_CLZ:
   11818            0 :           if (call_expr_nargs (_p0) == 1)
   11819              :     {
   11820            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11821            0 :               switch (TREE_CODE (_p1))
   11822              :                 {
   11823            0 :                 case INTEGER_CST:
   11824            0 :                   {
   11825            0 :                     {
   11826            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11827            0 :                       tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_CLZ);
   11828            0 :                       if (res) return res;
   11829              :                     }
   11830            0 :                     break;
   11831              :                   }
   11832              :                 default:;
   11833              :                 }
   11834              :             }
   11835            0 :           if (call_expr_nargs (_p0) == 2)
   11836              :     {
   11837            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11838            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11839            0 :               switch (TREE_CODE (_p1))
   11840              :                 {
   11841            0 :                 case INTEGER_CST:
   11842            0 :                   {
   11843            0 :                     {
   11844            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   11845            0 :                       tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
   11846            0 :                       if (res) return res;
   11847              :                     }
   11848            0 :                     break;
   11849              :                   }
   11850              :                 default:;
   11851              :                 }
   11852              :             }
   11853              :           break;
   11854            0 :         case CFN_CTZ:
   11855            0 :           if (call_expr_nargs (_p0) == 1)
   11856              :     {
   11857            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11858            0 :               switch (TREE_CODE (_p1))
   11859              :                 {
   11860            0 :                 case INTEGER_CST:
   11861            0 :                   {
   11862            0 :                     {
   11863            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11864            0 :                       tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_CTZ);
   11865            0 :                       if (res) return res;
   11866              :                     }
   11867            0 :                     break;
   11868              :                   }
   11869              :                 default:;
   11870              :                 }
   11871              :             }
   11872            0 :           if (call_expr_nargs (_p0) == 2)
   11873              :     {
   11874            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11875            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   11876            0 :               switch (TREE_CODE (_p1))
   11877              :                 {
   11878            0 :                 case INTEGER_CST:
   11879            0 :                   {
   11880            0 :                     {
   11881            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   11882            0 :                       tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, EQ_EXPR);
   11883            0 :                       if (res) return res;
   11884              :                     }
   11885            0 :                     break;
   11886              :                   }
   11887              :                 default:;
   11888              :                 }
   11889              :             }
   11890              :           break;
   11891            0 :         case CFN_FFS:
   11892            0 :           if (call_expr_nargs (_p0) == 1)
   11893              :     {
   11894            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11895            0 :               switch (TREE_CODE (_p1))
   11896              :                 {
   11897            0 :                 case INTEGER_CST:
   11898            0 :                   {
   11899            0 :                     {
   11900            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11901            0 :                       tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_FFS);
   11902            0 :                       if (res) return res;
   11903              :                     }
   11904            0 :                     break;
   11905              :                   }
   11906              :                 default:;
   11907              :                 }
   11908              :             }
   11909              :           break;
   11910            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   11911            0 :           if (call_expr_nargs (_p0) == 1)
   11912              :     {
   11913            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11914            0 :               if (integer_zerop (_p1))
   11915              :                 {
   11916            0 :                   {
   11917            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11918            0 :                     tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   11919            0 :                     if (res) return res;
   11920              :                   }
   11921              :                 }
   11922              :             }
   11923              :           break;
   11924            0 :         case CFN_BUILT_IN_CLZIMAX:
   11925            0 :           if (call_expr_nargs (_p0) == 1)
   11926              :     {
   11927            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11928            0 :               switch (TREE_CODE (_p1))
   11929              :                 {
   11930            0 :                 case INTEGER_CST:
   11931            0 :                   {
   11932            0 :                     {
   11933            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11934            0 :                       tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZIMAX);
   11935            0 :                       if (res) return res;
   11936              :                     }
   11937            0 :                     break;
   11938              :                   }
   11939              :                 default:;
   11940              :                 }
   11941              :             }
   11942              :           break;
   11943            7 :         case CFN_BUILT_IN_POPCOUNTL:
   11944            7 :           if (call_expr_nargs (_p0) == 1)
   11945              :     {
   11946            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11947            7 :               if (integer_zerop (_p1))
   11948              :                 {
   11949            1 :                   {
   11950            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11951            1 :                     tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTL);
   11952            1 :                     if (res) return res;
   11953              :                   }
   11954              :                 }
   11955              :             }
   11956              :           break;
   11957           16 :         case CFN_BUILT_IN_CLZLL:
   11958           16 :           if (call_expr_nargs (_p0) == 1)
   11959              :     {
   11960           16 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11961           16 :               switch (TREE_CODE (_p1))
   11962              :                 {
   11963           16 :                 case INTEGER_CST:
   11964           16 :                   {
   11965           16 :                     {
   11966           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11967           16 :                       tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZLL);
   11968           16 :                       if (res) return res;
   11969              :                     }
   11970           16 :                     break;
   11971              :                   }
   11972              :                 default:;
   11973              :                 }
   11974              :             }
   11975              :           break;
   11976            0 :         case CFN_BUILT_IN_CTZLL:
   11977            0 :           if (call_expr_nargs (_p0) == 1)
   11978              :     {
   11979            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11980            0 :               switch (TREE_CODE (_p1))
   11981              :                 {
   11982            0 :                 case INTEGER_CST:
   11983            0 :                   {
   11984            0 :                     {
   11985            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11986            0 :                       tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   11987            0 :                       if (res) return res;
   11988              :                     }
   11989            0 :                     break;
   11990              :                   }
   11991              :                 default:;
   11992              :                 }
   11993              :             }
   11994              :           break;
   11995            0 :         case CFN_BUILT_IN_FFSLL:
   11996            0 :           if (call_expr_nargs (_p0) == 1)
   11997              :     {
   11998            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11999            0 :               switch (TREE_CODE (_p1))
   12000              :                 {
   12001            0 :                 case INTEGER_CST:
   12002            0 :                   {
   12003            0 :                     {
   12004            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   12005            0 :                       tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSLL);
   12006            0 :                       if (res) return res;
   12007              :                     }
   12008            0 :                     break;
   12009              :                   }
   12010              :                 default:;
   12011              :                 }
   12012              :             }
   12013              :           break;
   12014              :         default:;
   12015              :         }
   12016              :       break;
   12017              :     default:;
   12018              :     }
   12019              :   return NULL_TREE;
   12020              : }
   12021              : 
   12022              : tree
   12023       758052 : generic_simplify_UNLT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   12024              : {
   12025       758052 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   12026       758052 :   switch (TREE_CODE (_p0))
   12027              :     {
   12028            0 :     case VEC_COND_EXPR:
   12029            0 :       {
   12030            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12031            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12032            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   12033            0 :         switch (TREE_CODE (_p1))
   12034              :           {
   12035            0 :           case VEC_COND_EXPR:
   12036            0 :             {
   12037            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   12038            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   12039            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   12040            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12041              :                 {
   12042            0 :                   {
   12043            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   12044            0 :                     if (VECTOR_TYPE_P (type)
   12045            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   12046            0 :  || types_match (type, TREE_TYPE (captures[2]))
   12047            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   12048              :  || (optimize_vectors_before_lowering_p ()
   12049            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   12050              : )
   12051              :                       {
   12052            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1876;
   12053            0 :                         {
   12054            0 :                           tree res_op0;
   12055            0 :                           res_op0 = captures[1];
   12056            0 :                           tree res_op1;
   12057            0 :                           {
   12058            0 :                             tree _o1[2], _r1;
   12059            0 :                             _o1[0] = captures[2];
   12060            0 :                             _o1[1] = captures[5];
   12061            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   12062            0 :                             if (EXPR_P (_r1))
   12063            0 :                               goto next_after_fail1876;
   12064            0 :                             res_op1 = _r1;
   12065              :                           }
   12066            0 :                           tree res_op2;
   12067            0 :                           {
   12068            0 :                             tree _o1[2], _r1;
   12069            0 :                             _o1[0] = captures[3];
   12070            0 :                             _o1[1] = captures[6];
   12071            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   12072            0 :                             if (EXPR_P (_r1))
   12073            0 :                               goto next_after_fail1876;
   12074            0 :                             res_op2 = _r1;
   12075              :                           }
   12076            0 :                           tree _r;
   12077            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12078            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
   12079              :                           return _r;
   12080              :                         }
   12081            0 : next_after_fail1876:;
   12082              :                       }
   12083              :                   }
   12084              :                 }
   12085              :               break;
   12086              :             }
   12087            0 :           default:;
   12088              :           }
   12089            0 :         {
   12090            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   12091            0 :           if (VECTOR_TYPE_P (type)
   12092            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   12093            0 :  || types_match (type, TREE_TYPE (captures[2]))
   12094            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   12095              :  || (optimize_vectors_before_lowering_p ()
   12096            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   12097              : )
   12098              :             {
   12099            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1877;
   12100            0 :               {
   12101            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1877;
   12102            0 :                 tree res_op0;
   12103            0 :                 res_op0 = captures[1];
   12104            0 :                 tree res_op1;
   12105            0 :                 {
   12106            0 :                   tree _o1[2], _r1;
   12107            0 :                   _o1[0] = captures[2];
   12108            0 :                   _o1[1] = unshare_expr (captures[4]);
   12109            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   12110            0 :                   if (EXPR_P (_r1))
   12111            0 :                     goto next_after_fail1877;
   12112            0 :                   res_op1 = _r1;
   12113              :                 }
   12114            0 :                 tree res_op2;
   12115            0 :                 {
   12116            0 :                   tree _o1[2], _r1;
   12117            0 :                   _o1[0] = captures[3];
   12118            0 :                   _o1[1] = captures[4];
   12119            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   12120            0 :                   if (EXPR_P (_r1))
   12121            0 :                     goto next_after_fail1877;
   12122            0 :                   res_op2 = _r1;
   12123              :                 }
   12124            0 :                 tree _r;
   12125            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12126            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   12127              :                 return _r;
   12128              :               }
   12129       758052 : next_after_fail1877:;
   12130              :             }
   12131              :         }
   12132              :         break;
   12133              :       }
   12134       758052 :     default:;
   12135              :     }
   12136       758052 :   switch (TREE_CODE (_p1))
   12137              :     {
   12138            0 :     case VEC_COND_EXPR:
   12139            0 :       {
   12140            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12141            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12142            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12143            0 :         {
   12144            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   12145            0 :           if (VECTOR_TYPE_P (type)
   12146            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   12147            0 :  || types_match (type, TREE_TYPE (captures[3]))
   12148            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   12149              :  || (optimize_vectors_before_lowering_p ()
   12150            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   12151              : )
   12152              :             {
   12153            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1878;
   12154            0 :               {
   12155            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1878;
   12156            0 :                 tree res_op0;
   12157            0 :                 res_op0 = captures[2];
   12158            0 :                 tree res_op1;
   12159            0 :                 {
   12160            0 :                   tree _o1[2], _r1;
   12161            0 :                   _o1[0] = unshare_expr (captures[0]);
   12162            0 :                   _o1[1] = captures[3];
   12163            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   12164            0 :                   if (EXPR_P (_r1))
   12165            0 :                     goto next_after_fail1878;
   12166            0 :                   res_op1 = _r1;
   12167              :                 }
   12168            0 :                 tree res_op2;
   12169            0 :                 {
   12170            0 :                   tree _o1[2], _r1;
   12171            0 :                   _o1[0] = captures[0];
   12172            0 :                   _o1[1] = captures[4];
   12173            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   12174            0 :                   if (EXPR_P (_r1))
   12175            0 :                     goto next_after_fail1878;
   12176            0 :                   res_op2 = _r1;
   12177              :                 }
   12178            0 :                 tree _r;
   12179            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12180            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   12181              :                 return _r;
   12182              :               }
   12183       758052 : next_after_fail1878:;
   12184              :             }
   12185              :         }
   12186              :         break;
   12187              :       }
   12188       758052 :     default:;
   12189              :     }
   12190       758052 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   12191              :     {
   12192            0 :       {
   12193            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   12194            0 :         tree res = generic_simplify_592 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   12195            0 :         if (res) return res;
   12196              :       }
   12197              :     }
   12198       758052 :   switch (TREE_CODE (_p0))
   12199              :     {
   12200          283 :     case FLOAT_EXPR:
   12201          283 :       {
   12202          283 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12203          283 :         switch (TREE_CODE (_p1))
   12204              :           {
   12205            0 :           case FLOAT_EXPR:
   12206            0 :             {
   12207            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   12208            0 :               {
   12209            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   12210            0 :                 tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, UNLT_EXPR, LT_EXPR);
   12211            0 :                 if (res) return res;
   12212              :               }
   12213            0 :               break;
   12214              :             }
   12215              :           default:;
   12216              :           }
   12217              :         break;
   12218              :       }
   12219            0 :     case NEGATE_EXPR:
   12220            0 :       {
   12221            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12222            0 :         switch (TREE_CODE (_p1))
   12223              :           {
   12224            0 :           case NEGATE_EXPR:
   12225            0 :             {
   12226            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   12227            0 :               {
   12228            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   12229            0 :                 tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   12230            0 :                 if (res) return res;
   12231              :               }
   12232            0 :               break;
   12233              :             }
   12234            0 :           default:;
   12235              :           }
   12236            0 :       if (CONSTANT_CLASS_P (_p1))
   12237              :         {
   12238            0 :           {
   12239            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12240            0 :             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   12241            0 :             if (res) return res;
   12242              :           }
   12243              :         }
   12244              :         break;
   12245              :       }
   12246       758052 :     default:;
   12247              :     }
   12248       758052 :   switch (TREE_CODE (_p1))
   12249              :     {
   12250       380293 :     case REAL_CST:
   12251       380293 :       {
   12252       380293 :         {
   12253       380293 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12254       380293 :           tree res = generic_simplify_591 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   12255       380293 :           if (res) return res;
   12256              :         }
   12257       380291 :         break;
   12258              :       }
   12259              :     default:;
   12260              :     }
   12261              :   return NULL_TREE;
   12262              : }
   12263              : 
   12264              : tree
   12265           79 : generic_simplify_LTGT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   12266              : {
   12267           79 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   12268           79 :   switch (TREE_CODE (_p0))
   12269              :     {
   12270            0 :     case VEC_COND_EXPR:
   12271            0 :       {
   12272            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12273            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12274            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   12275            0 :         switch (TREE_CODE (_p1))
   12276              :           {
   12277            0 :           case VEC_COND_EXPR:
   12278            0 :             {
   12279            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   12280            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   12281            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   12282            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12283              :                 {
   12284            0 :                   {
   12285            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   12286            0 :                     if (VECTOR_TYPE_P (type)
   12287            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   12288            0 :  || types_match (type, TREE_TYPE (captures[2]))
   12289            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   12290              :  || (optimize_vectors_before_lowering_p ()
   12291            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   12292              : )
   12293              :                       {
   12294            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1891;
   12295            0 :                         {
   12296            0 :                           tree res_op0;
   12297            0 :                           res_op0 = captures[1];
   12298            0 :                           tree res_op1;
   12299            0 :                           {
   12300            0 :                             tree _o1[2], _r1;
   12301            0 :                             _o1[0] = captures[2];
   12302            0 :                             _o1[1] = captures[5];
   12303            0 :                             _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   12304            0 :                             if (EXPR_P (_r1))
   12305            0 :                               goto next_after_fail1891;
   12306            0 :                             res_op1 = _r1;
   12307              :                           }
   12308            0 :                           tree res_op2;
   12309            0 :                           {
   12310            0 :                             tree _o1[2], _r1;
   12311            0 :                             _o1[0] = captures[3];
   12312            0 :                             _o1[1] = captures[6];
   12313            0 :                             _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   12314            0 :                             if (EXPR_P (_r1))
   12315            0 :                               goto next_after_fail1891;
   12316            0 :                             res_op2 = _r1;
   12317              :                           }
   12318            0 :                           tree _r;
   12319            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12320            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
   12321              :                           return _r;
   12322              :                         }
   12323            0 : next_after_fail1891:;
   12324              :                       }
   12325              :                   }
   12326              :                 }
   12327              :               break;
   12328              :             }
   12329            0 :           default:;
   12330              :           }
   12331            0 :         {
   12332            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   12333            0 :           if (VECTOR_TYPE_P (type)
   12334            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   12335            0 :  || types_match (type, TREE_TYPE (captures[2]))
   12336            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   12337              :  || (optimize_vectors_before_lowering_p ()
   12338            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   12339              : )
   12340              :             {
   12341            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1892;
   12342            0 :               {
   12343            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1892;
   12344            0 :                 tree res_op0;
   12345            0 :                 res_op0 = captures[1];
   12346            0 :                 tree res_op1;
   12347            0 :                 {
   12348            0 :                   tree _o1[2], _r1;
   12349            0 :                   _o1[0] = captures[2];
   12350            0 :                   _o1[1] = unshare_expr (captures[4]);
   12351            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   12352            0 :                   if (EXPR_P (_r1))
   12353            0 :                     goto next_after_fail1892;
   12354            0 :                   res_op1 = _r1;
   12355              :                 }
   12356            0 :                 tree res_op2;
   12357            0 :                 {
   12358            0 :                   tree _o1[2], _r1;
   12359            0 :                   _o1[0] = captures[3];
   12360            0 :                   _o1[1] = captures[4];
   12361            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   12362            0 :                   if (EXPR_P (_r1))
   12363            0 :                     goto next_after_fail1892;
   12364            0 :                   res_op2 = _r1;
   12365              :                 }
   12366            0 :                 tree _r;
   12367            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12368            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   12369              :                 return _r;
   12370              :               }
   12371           79 : next_after_fail1892:;
   12372              :             }
   12373              :         }
   12374              :         break;
   12375              :       }
   12376           79 :     default:;
   12377              :     }
   12378           79 :   switch (TREE_CODE (_p1))
   12379              :     {
   12380            0 :     case VEC_COND_EXPR:
   12381            0 :       {
   12382            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12383            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12384            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12385            0 :         {
   12386            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   12387            0 :           if (VECTOR_TYPE_P (type)
   12388            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   12389            0 :  || types_match (type, TREE_TYPE (captures[3]))
   12390            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   12391              :  || (optimize_vectors_before_lowering_p ()
   12392            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   12393              : )
   12394              :             {
   12395            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1893;
   12396            0 :               {
   12397            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1893;
   12398            0 :                 tree res_op0;
   12399            0 :                 res_op0 = captures[2];
   12400            0 :                 tree res_op1;
   12401            0 :                 {
   12402            0 :                   tree _o1[2], _r1;
   12403            0 :                   _o1[0] = unshare_expr (captures[0]);
   12404            0 :                   _o1[1] = captures[3];
   12405            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   12406            0 :                   if (EXPR_P (_r1))
   12407            0 :                     goto next_after_fail1893;
   12408            0 :                   res_op1 = _r1;
   12409              :                 }
   12410            0 :                 tree res_op2;
   12411            0 :                 {
   12412            0 :                   tree _o1[2], _r1;
   12413            0 :                   _o1[0] = captures[0];
   12414            0 :                   _o1[1] = captures[4];
   12415            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   12416            0 :                   if (EXPR_P (_r1))
   12417            0 :                     goto next_after_fail1893;
   12418            0 :                   res_op2 = _r1;
   12419              :                 }
   12420            0 :                 tree _r;
   12421            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12422            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   12423              :                 return _r;
   12424              :               }
   12425           79 : next_after_fail1893:;
   12426              :             }
   12427              :         }
   12428              :         break;
   12429              :       }
   12430           79 :     default:;
   12431              :     }
   12432           79 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   12433              :     {
   12434            2 :       {
   12435            2 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   12436            2 :         if (!flag_trapping_math || !tree_expr_maybe_nan_p (captures[0])
   12437              : )
   12438              :           {
   12439            0 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1894;
   12440            0 :             {
   12441            0 :               tree _r;
   12442            0 :               _r =  constant_boolean_node (false, type);
   12443            0 :               if (TREE_SIDE_EFFECTS (captures[0]))
   12444            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12445            0 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1081, __FILE__, __LINE__, true);
   12446           79 :               return _r;
   12447              :             }
   12448            0 : next_after_fail1894:;
   12449              :           }
   12450              :       }
   12451              :     }
   12452           79 :   switch (TREE_CODE (_p0))
   12453              :     {
   12454            0 :     case FLOAT_EXPR:
   12455            0 :       {
   12456            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12457            0 :         switch (TREE_CODE (_p1))
   12458              :           {
   12459            0 :           case FLOAT_EXPR:
   12460            0 :             {
   12461            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   12462            0 :               {
   12463            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   12464            0 :                 tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, LTGT_EXPR, NE_EXPR);
   12465            0 :                 if (res) return res;
   12466              :               }
   12467            0 :               break;
   12468              :             }
   12469              :           default:;
   12470              :           }
   12471              :         break;
   12472              :       }
   12473            0 :     case NEGATE_EXPR:
   12474            0 :       {
   12475            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12476            0 :         switch (TREE_CODE (_p1))
   12477              :           {
   12478            0 :           case NEGATE_EXPR:
   12479            0 :             {
   12480            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   12481            0 :               {
   12482            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   12483            0 :                 tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
   12484            0 :                 if (res) return res;
   12485              :               }
   12486            0 :               break;
   12487              :             }
   12488            0 :           default:;
   12489              :           }
   12490            0 :       if (CONSTANT_CLASS_P (_p1))
   12491              :         {
   12492            0 :           {
   12493            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12494            0 :             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
   12495            0 :             if (res) return res;
   12496              :           }
   12497              :         }
   12498              :         break;
   12499              :       }
   12500           79 :     default:;
   12501              :     }
   12502           79 :   switch (TREE_CODE (_p1))
   12503              :     {
   12504            2 :     case REAL_CST:
   12505            2 :       {
   12506            2 :         {
   12507            2 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12508            2 :           tree res = generic_simplify_591 (loc, type, _p0, _p1, captures, LTGT_EXPR);
   12509            2 :           if (res) return res;
   12510              :         }
   12511            2 :         break;
   12512              :       }
   12513              :     default:;
   12514              :     }
   12515              :   return NULL_TREE;
   12516              : }
   12517              : 
   12518              : tree
   12519     47465723 : generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0, tree _p1, tree _p2)
   12520              : {
   12521     47465723 :   switch (code)
   12522              :     {
   12523     13157089 :     case COND_EXPR:
   12524     13157089 :       return generic_simplify_COND_EXPR (loc, code, type, _p0, _p1, _p2);
   12525       465359 :     case VEC_COND_EXPR:
   12526       465359 :       return generic_simplify_VEC_COND_EXPR (loc, code, type, _p0, _p1, _p2);
   12527       945539 :     case BIT_FIELD_REF:
   12528       945539 :       return generic_simplify_BIT_FIELD_REF (loc, code, type, _p0, _p1, _p2);
   12529        16253 :     case BIT_INSERT_EXPR:
   12530        16253 :       return generic_simplify_BIT_INSERT_EXPR (loc, code, type, _p0, _p1, _p2);
   12531       836984 :     case VEC_PERM_EXPR:
   12532       836984 :       return generic_simplify_VEC_PERM_EXPR (loc, code, type, _p0, _p1, _p2);
   12533              :     default:;
   12534              :     }
   12535              :   return NULL_TREE;
   12536              : }
   12537              : 
   12538              : tree
   12539            0 : generic_simplify (location_t, enum tree_code,
   12540              :                   const tree, tree, tree, tree, tree)
   12541              : {
   12542            0 :   return NULL_TREE;
   12543              : }
   12544              : 
   12545              : tree
   12546            0 : generic_simplify (location_t, enum tree_code,
   12547              :                   const tree, tree, tree, tree, tree, tree)
   12548              : {
   12549            0 :   return NULL_TREE;
   12550              : }
   12551              : 
   12552              : tree
   12553            0 : generic_simplify (location_t, enum tree_code,
   12554              :                   const tree, tree, tree, tree, tree, tree, tree)
   12555              : {
   12556            0 :   return NULL_TREE;
   12557              : }
   12558              : 
   12559              : tree
   12560            0 : generic_simplify (location_t, enum tree_code,
   12561              :                   const tree, tree, tree, tree, tree, tree, tree, tree)
   12562              : {
   12563            0 :   return NULL_TREE;
   12564              : }
   12565              : void
   12566        18366 : generic_dump_logs (const char *file1, int line1_id, const char *file2, int line2, bool simplify)
   12567              : {
   12568        18366 :   static int dbg_line_numbers[1159] = {
   12569              :         /* 0 */ 159, 162, 168, 170, 173, 176, 178, 184, 192, 190, 
   12570              :         /* 10 */ 194, 196, 1038, 1040, 2418, 2424, 2426, 2429, 2434, 2437, 
   12571              :         /* 20 */ 2691, 2695, 2697, 2699, 2701, 2703, 2705, 2707, 2730, 2746, 
   12572              :         /* 30 */ 2754, 2736, 3367, 3369, 3371, 3378, 3375, 3385, 3387, 3394, 
   12573              :         /* 40 */ 3391, 3593, 3603, 6232, 9978, 9999, 12520, 12523, 12528, 2385, 
   12574              :         /* 50 */ 9798, 1446, 1693, 1708, 1713, 1760, 1761, 1765, 1766, 1808, 
   12575              :         /* 60 */ 1831, 1836, 1946, 2079, 2216, 2102, 2280, 2092, 2274, 2110, 
   12576              :         /* 70 */ 2268, 2326, 2287, 2293, 2963, 2300, 2314, 2360, 2583, 2649, 
   12577              :         /* 80 */ 2672, 2683, 2686, 2825, 2857, 4677, 4690, 4700, 3444, 3446, 
   12578              :         /* 90 */ 5088, 4714, 4726, 7852, 7854, 7934, 7942, 11396, 11402, 12291, 
   12579              :         /* 100 */ 243, 286, 313, 314, 525, 1455, 2062, 2119, 2124, 2142, 
   12580              :         /* 110 */ 2155, 2227, 4172, 4110, 4215, 4216, 4220, 4221, 4231, 4235, 
   12581              :         /* 120 */ 4239, 4254, 4257, 4261, 4187, 4190, 4195, 4341, 4347, 4353, 
   12582              :         /* 130 */ 4533, 4534, 4563, 4584, 4603, 5076, 5099, 6121, 7783, 7868, 
   12583              :         /* 140 */ 7870, 9426, 9501, 11227, 11274, 11288, 12278, 12547, 13138, 1022, 
   12584              :         /* 150 */ 1028, 1673, 1682, 2245, 2097, 2193, 2134, 2188, 2236, 2989, 
   12585              :         /* 160 */ 4123, 4163, 4168, 4169, 4177, 4178, 4181, 4198, 4273, 4276, 
   12586              :         /* 170 */ 4280, 4361, 4383, 4421, 4432, 4471, 4486, 5082, 7793, 9506, 
   12587              :         /* 180 */ 11284, 12551, 1577, 1578, 1617, 1622, 1633, 1638, 1667, 1659, 
   12588              :         /* 190 */ 1737, 1698, 1703, 1730, 1799, 1745, 1787, 1826, 2322, 1792, 
   12589              :         /* 200 */ 1970, 2069, 2074, 2087, 2255, 2342, 2352, 2354, 2619, 2624, 
   12590              :         /* 210 */ 2629, 2635, 2636, 2658, 2808, 2837, 2839, 2844, 2846, 2982, 
   12591              :         /* 220 */ 3649, 3664, 3682, 3884, 3885, 3886, 3894, 3902, 3911, 3920, 
   12592              :         /* 230 */ 4020, 4022, 3952, 3953, 3958, 3959, 3964, 3969, 3973, 4075, 
   12593              :         /* 240 */ 4088, 3654, 3673, 3675, 3659, 8505, 8508, 10399, 13299, 13314, 
   12594              :         /* 250 */ 493, 499, 531, 1392, 1412, 1417, 2410, 2411, 2448, 2998, 
   12595              :         /* 260 */ 2783, 5796, 6107, 6114, 6165, 6168, 6227, 9419, 9833, 9663, 
   12596              :         /* 270 */ 9670, 9827, 9872, 9877, 361, 968, 1463, 3275, 3071, 3077, 
   12597              :         /* 280 */ 3080, 3085, 2892, 2893, 2977, 2772, 2912, 3159, 3022, 3032, 
   12598              :         /* 290 */ 3101, 3103, 3104, 3107, 3109, 3110, 3112, 3114, 3116, 3118, 
   12599              :         /* 300 */ 3120, 3122, 3136, 3137, 3193, 3281, 3222, 3249, 3289, 3294, 
   12600              :         /* 310 */ 3306, 3322, 3330, 3337, 3403, 4002, 4060, 5009, 5017, 5020, 
   12601              :         /* 320 */ 5026, 5029, 5055, 5555, 5556, 5622, 5626, 5757, 5565, 5566, 
   12602              :         /* 330 */ 5640, 5643, 5644, 5649, 5652, 5655, 5656, 5598, 5600, 5580, 
   12603              :         /* 340 */ 5583, 5829, 5833, 5838, 6133, 6294, 6298, 7879, 7895, 7897, 
   12604              :         /* 350 */ 7909, 7954, 7960, 7961, 7976, 7977, 7981, 7999, 8004, 8036, 
   12605              :         /* 360 */ 8044, 8054, 8063, 8067, 8073, 8080, 8096, 8100, 8104, 8111, 
   12606              :         /* 370 */ 8112, 8117, 8118, 8125, 8126, 8128, 8129, 8145, 8156, 8168, 
   12607              :         /* 380 */ 8172, 8174, 8179, 8182, 8185, 8193, 8255, 8256, 8260, 8261, 
   12608              :         /* 390 */ 8268, 8272, 8276, 8279, 8285, 8286, 8290, 8293, 8300, 8330, 
   12609              :         /* 400 */ 8333, 8336, 8339, 8413, 8416, 8423, 8430, 8437, 8445, 8454, 
   12610              :         /* 410 */ 8455, 8548, 8558, 8597, 8603, 8619, 8632, 8634, 8636, 8647, 
   12611              :         /* 420 */ 8675, 8717, 8696, 8697, 8704, 8706, 8722, 8728, 8733, 8742, 
   12612              :         /* 430 */ 8748, 8754, 8759, 8764, 8805, 8772, 8813, 8787, 8797, 8876, 
   12613              :         /* 440 */ 8905, 8924, 8926, 8928, 8930, 8932, 8934, 8938, 8940, 8963, 
   12614              :         /* 450 */ 8986, 9097, 9104, 9105, 9113, 9114, 9315, 10463, 10465, 10543, 
   12615              :         /* 460 */ 10545, 10546, 10552, 10568, 10570, 10572, 10590, 10591, 11012, 11015, 
   12616              :         /* 470 */ 11029, 11038, 11102, 11103, 11157, 11159, 11235, 11827, 11829, 11831, 
   12617              :         /* 480 */ 12300, 7875, 7886, 7888, 8011, 505, 1365, 1386, 9783, 9788, 
   12618              :         /* 490 */ 9793, 565, 566, 577, 582, 589, 598, 606, 615, 662, 
   12619              :         /* 500 */ 665, 903, 1073, 1101, 1132, 626, 933, 937, 942, 948, 
   12620              :         /* 510 */ 952, 960, 1065, 1152, 778, 788, 790, 792, 9413, 9838, 
   12621              :         /* 520 */ 9860, 9843, 9848, 9853, 9867, 9901, 9906, 878, 7069, 7071, 
   12622              :         /* 530 */ 7073, 7173, 7176, 7386, 7388, 7402, 7406, 7429, 7435, 7446, 
   12623              :         /* 540 */ 7508, 7523, 5126, 5146, 5153, 5159, 5165, 5171, 6512, 6513, 
   12624              :         /* 550 */ 6526, 6527, 6541, 6542, 6554, 6555, 7514, 5139, 5182, 5195, 
   12625              :         /* 560 */ 6980, 7321, 7329, 7674, 10416, 10417, 7684, 11456, 11464, 13363, 
   12626              :         /* 570 */ 8829, 8830, 8844, 8845, 890, 893, 1921, 3045, 3048, 3167, 
   12627              :         /* 580 */ 3179, 3264, 3208, 3235, 3358, 3361, 4874, 4885, 5039, 5047, 
   12628              :         /* 590 */ 5066, 5381, 7817, 7924, 9241, 8467, 8470, 8496, 8497, 9011, 
   12629              :         /* 600 */ 9013, 9015, 9017, 9021, 9023, 9025, 9027, 9031, 9036, 9043, 
   12630              :         /* 610 */ 9048, 9068, 9070, 9072, 9074, 9254, 9267, 9277, 9285, 9295, 
   12631              :         /* 620 */ 9440, 9442, 10477, 10486, 10526, 11080, 11082, 11083, 11138, 11141, 
   12632              :         /* 630 */ 11143, 3061, 5611, 7807, 8535, 9339, 9514, 9519, 11848, 11850, 
   12633              :         /* 640 */ 11852, 11854, 11858, 1011, 1047, 1437, 5230, 5332, 5335, 5343, 
   12634              :         /* 650 */ 5496, 5498, 5499, 5500, 5768, 6596, 5260, 5262, 5296, 5305, 
   12635              :         /* 660 */ 6349, 6352, 6353, 6361, 2594, 2604, 2611, 4033, 4038, 4946, 
   12636              :         /* 670 */ 10282, 10284, 10315, 10350, 13082, 1329, 9731, 9752, 1338, 9475, 
   12637              :         /* 680 */ 9481, 9778, 10229, 1352, 1356, 9773, 9956, 1563, 1725, 1773, 
   12638              :         /* 690 */ 1718, 1750, 1781, 1821, 1862, 1873, 1884, 1896, 2869, 2198, 
   12639              :         /* 700 */ 2206, 2211, 2334, 2713, 3004, 3589, 3619, 3621, 3631, 3633, 
   12640              :         /* 710 */ 3741, 3742, 3743, 3751, 3759, 3768, 3777, 3812, 3813, 3818, 
   12641              :         /* 720 */ 3819, 3824, 3829, 3833, 3639, 3644, 3689, 5107, 5726, 5744, 
   12642              :         /* 730 */ 5745, 6320, 6326, 6374, 8026, 10385, 10387, 11269, 13334, 1816, 
   12643              :         /* 740 */ 2942, 2001, 2947, 5807, 2919, 2953, 2957, 5821, 4989, 7844, 
   12644              :         /* 750 */ 7846, 2455, 2469, 2924, 4148, 2494, 2517, 2518, 10866, 3012, 
   12645              :         /* 760 */ 4734, 4738, 4744, 4765, 4796, 4805, 4825, 4857, 4898, 4901, 
   12646              :         /* 770 */ 4910, 4911, 4929, 4931, 4933, 4935, 4984, 10407, 10990, 10997, 
   12647              :         /* 780 */ 4758, 4751, 4956, 4965, 4968, 12057, 12063, 12071, 12077, 12086, 
   12648              :         /* 790 */ 12092, 12100, 12106, 12152, 12160, 5217, 5468, 5478, 9368, 9371, 
   12649              :         /* 800 */ 9390, 6270, 6282, 6285, 6289, 9129, 8019, 8015, 9349, 9356, 
   12650              :         /* 810 */ 9491, 9496, 9597, 9694, 9711, 9743, 9763, 9768, 10019, 9996, 
   12651              :         /* 820 */ 9975, 9804, 9808, 10122, 10132, 10139, 10148, 10166, 10173, 10154, 
   12652              :         /* 830 */ 10442, 10448, 10856, 10862, 10859, 10879, 10884, 10890, 10898, 10904, 
   12653              :         /* 840 */ 10912, 10918, 10928, 10934, 10942, 10948, 10956, 10962, 10970, 10976, 
   12654              :         /* 850 */ 11047, 11249, 11264, 11300, 11555, 11558, 11363, 11364, 11377, 11390, 
   12655              :         /* 860 */ 12234, 12249, 12375, 12376, 13191, 216, 2366, 2376, 6406, 2394, 
   12656              :         /* 870 */ 1262, 2880, 3570, 5849, 5851, 5861, 5980, 5993, 6008, 6031, 
   12657              :         /* 880 */ 6043, 6053, 6066, 6092, 6416, 6986, 1998, 2012, 2019, 2050, 
   12658              :         /* 890 */ 2057, 2724, 2970, 2371, 2389, 2398, 2464, 2500, 2506, 4135, 
   12659              :         /* 900 */ 7770, 4143, 10938, 10952, 10894, 10966, 10980, 10908, 10922, 5866, 
   12660              :         /* 910 */ 5876, 5885, 5912, 5922, 5928, 6427, 5937, 5934, 6240, 6248, 
   12661              :         /* 920 */ 6256, 6260, 6243, 6251, 6264, 6276, 234, 269, 1603, 1604, 
   12662              :         /* 930 */ 1954, 1959, 2934, 2935, 2793, 2719, 3989, 4864, 6445, 6454, 
   12663              :         /* 940 */ 6465, 6474, 13097, 760, 2171, 6180, 6186, 6189, 3451, 3455, 
   12664              :         /* 950 */ 274, 3472, 3476, 3507, 3515, 3488, 3502, 292, 329, 1677, 
   12665              :         /* 960 */ 2007, 2475, 3524, 3531, 3539, 2486, 3188, 3216, 3243, 3227, 
   12666              :         /* 970 */ 3254, 4395, 4367, 4442, 4451, 4494, 4505, 5322, 6194, 6213, 
   12667              :         /* 980 */ 13063, 13064, 1913, 1926, 1931, 4995, 12211, 12215, 279, 332, 
   12668              :         /* 990 */ 3197, 3200, 3546, 3553, 3559, 3564, 4404, 4460, 4514, 6197, 
   12669              :         /* 1000 */ 405, 336, 373, 382, 390, 464, 479, 487, 679, 719, 
   12670              :         /* 1010 */ 839, 1082, 1300, 1315, 1305, 1420, 1423, 1555, 2778, 6218, 
   12671              :         /* 1020 */ 9448, 9454, 9645, 9895, 6755, 6765, 8565, 9161, 9221, 9222, 
   12672              :         /* 1030 */ 4047, 9155, 642, 645, 769, 798, 804, 810, 847, 852, 
   12673              :         /* 1040 */ 857, 921, 925, 9460, 9466, 9079, 983, 984, 995, 1510, 
   12674              :         /* 1050 */ 5246, 1499, 1502, 1534, 1545, 5223, 5327, 5529, 1584, 1843, 
   12675              :         /* 1060 */ 1936, 1964, 2663, 5535, 5536, 13070, 4772, 4776, 4842, 4843, 
   12676              :         /* 1070 */ 4977, 4783, 4787, 4833, 4834, 5449, 6237, 9137, 9139, 9146, 
   12677              :         /* 1080 */ 9148, 8023, 7530, 5113, 6485, 5210, 6494, 7336, 7341, 7481, 
   12678              :         /* 1090 */ 7483, 7489, 7498, 7499, 6392, 6394, 7536, 7539, 7548, 7552, 
   12679              :         /* 1100 */ 7557, 7572, 7600, 7605, 7671, 7579, 7613, 7618, 7681, 8859, 
   12680              :         /* 1110 */ 8861, 7637, 7638, 7639, 7694, 7661, 7662, 7663, 7709, 7710, 
   12681              :         /* 1120 */ 8890, 8895, 7565, 6398, 6400, 6776, 6778, 10598, 10604, 10609, 
   12682              :         /* 1130 */ 10618, 10620, 10640, 10685, 10688, 10689, 10721, 10727, 10729, 10730, 
   12683              :         /* 1140 */ 10786, 10787, 10808, 10813, 10818, 10848, 13254, 12400, 12402, 12437, 
   12684              :         /* 1150 */ 12512, 12515, 12596, 12535, 12541, 12662, 12664, 12723, 12725
   12685              :   };
   12686              : 
   12687        27432 :   fprintf (dump_file, "%s %s:%d, %s:%d\n",
   12688              :           simplify ? "Applying pattern" : "Matching expression", file1, dbg_line_numbers[line1_id], file2, line2);
   12689        18366 : }
   12690              : 
   12691              : #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.