LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-5.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 56.5 % 7016 3961
Test Date: 2026-07-11 15:47:05 Functions: 66.7 % 78 52
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      1966989 : tree_power_of_two_cand (tree t, tree *res_ops)
      11              : {
      12      1966989 :   const tree type = TREE_TYPE (t);
      13      1966989 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14      1966989 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15      1966224 :   switch (TREE_CODE (t))
      16              :     {
      17      1625452 :     case INTEGER_CST:
      18      1625452 :       {
      19      1625452 :         {
      20      1625452 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      21      1625452 :           {
      22      1625452 :             res_ops[0] = captures[0];
      23      1625452 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 12, __FILE__, __LINE__, false);
      24              :             return true;
      25              :           }
      26              :         }
      27           16 :         break;
      28              :       }
      29           16 :     case LSHIFT_EXPR:
      30           16 :       {
      31           16 :         tree _p0 = TREE_OPERAND (t, 0);
      32           16 :         tree _p1 = TREE_OPERAND (t, 1);
      33           16 :         switch (TREE_CODE (_p0))
      34              :           {
      35           16 :           case INTEGER_CST:
      36           16 :             {
      37           16 :               {
      38           16 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      39           16 :                 {
      40           16 :                   res_ops[0] = captures[0];
      41           16 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 13, __FILE__, __LINE__, false);
      42           16 :                   return true;
      43              :                 }
      44              :               }
      45              :               break;
      46              :             }
      47              :           default:;
      48              :           }
      49              :         break;
      50              :       }
      51              :     default:;
      52              :     }
      53              :   return false;
      54              : }
      55              : 
      56              : bool
      57     84452118 : tree_with_possible_nonzero_bits (tree t)
      58              : {
      59     84452118 :   const tree type = TREE_TYPE (t);
      60     84452118 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      61     84452118 :   if (TREE_SIDE_EFFECTS (t)) return false;
      62     79205965 :   switch (TREE_CODE (t))
      63              :     {
      64      2059786 :     case BIT_AND_EXPR:
      65      2059786 :       {
      66      2059786 :         tree _p0 = TREE_OPERAND (t, 0);
      67      2059786 :         tree _p1 = TREE_OPERAND (t, 1);
      68      2059786 :         if (tree_with_possible_nonzero_bits_1 (_p0))
      69              :           {
      70       882586 :             {
      71       882586 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      72       882586 :               {
      73       882586 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 35, __FILE__, __LINE__, false);
      74       882586 :                 return true;
      75              :               }
      76              :             }
      77              :           }
      78      1177200 :         if (tree_with_possible_nonzero_bits_1 (_p1))
      79              :           {
      80       995917 :             {
      81       995917 :               tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      82       995917 :               {
      83       995917 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 35, __FILE__, __LINE__, false);
      84       995917 :                 return true;
      85              :               }
      86              :             }
      87              :           }
      88              :         break;
      89              :       }
      90     77327462 :     default:;
      91              :     }
      92     77327462 : if (tree_with_possible_nonzero_bits_1 (t))
      93              :   {
      94     41544294 :     {
      95     41544294 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      96     41544294 :       {
      97     41544294 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 36, __FILE__, __LINE__, false);
      98     41544294 :         return true;
      99              :       }
     100              :     }
     101              :   }
     102              :   return false;
     103              : }
     104              : 
     105              : bool
     106       780180 : tree_vec_same_elem_p (tree t)
     107              : {
     108       780180 :   const tree type = TREE_TYPE (t);
     109       780180 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     110       780180 :   if (TREE_SIDE_EFFECTS (t)) return false;
     111       780180 :   switch (TREE_CODE (t))
     112              :     {
     113            0 :     case VEC_DUPLICATE_EXPR:
     114            0 :       {
     115            0 :         tree _p0 = TREE_OPERAND (t, 0);
     116            0 :         {
     117            0 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
     118            0 :           {
     119            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 46, __FILE__, __LINE__, false);
     120            0 :             return true;
     121              :           }
     122              :         }
     123              :         break;
     124              :       }
     125              :     case CONSTRUCTOR:
     126              :       {
     127              :         {
     128              :           tree captures[1] ATTRIBUTE_UNUSED = { t };
     129              :           if (TREE_CODE (captures[0]) == SSA_NAME
     130              :  && uniform_vector_p (gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])))
     131              : )
     132              :             {
     133              :               {
     134              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 47, __FILE__, __LINE__, false);
     135              :                 return true;
     136              :               }
     137              :             }
     138              :         }
     139              :         break;
     140              :       }
     141       780180 :     default:;
     142              :     }
     143       780180 :   {
     144       780180 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
     145       780180 :     if (uniform_vector_p (captures[0])
     146              : )
     147              :       {
     148        13981 :         {
     149        13981 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 48, __FILE__, __LINE__, false);
     150        13981 :           return true;
     151              :         }
     152              :       }
     153              :   }
     154              :   return false;
     155              : }
     156              : 
     157              : tree
     158          196 : generic_simplify_14 (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          196 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     162          196 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail89;
     163          196 :   {
     164          196 :     if (! tree_invariant_p (captures[3])) goto next_after_fail89;
     165           15 :     tree res_op0;
     166           15 :     {
     167           15 :       tree _o1[2], _r1;
     168           15 :       _o1[0] = captures[2];
     169           15 :       _o1[1] = unshare_expr (captures[3]);
     170           15 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     171           15 :       res_op0 = _r1;
     172              :     }
     173           15 :     tree res_op1;
     174           15 :     {
     175           15 :       tree _o1[2], _r1;
     176           15 :       _o1[0] = captures[4];
     177           15 :       _o1[1] = captures[3];
     178           15 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     179           15 :       if (EXPR_P (_r1))
     180           14 :         goto next_after_fail89;
     181            1 :       res_op1 = _r1;
     182              :     }
     183            1 :     tree _r;
     184            1 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     185            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 62, __FILE__, __LINE__, true);
     186              :     return _r;
     187              :   }
     188              : next_after_fail89:;
     189              :   return NULL_TREE;
     190              : }
     191              : 
     192              : tree
     193            0 : generic_simplify_23 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     194              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     195              :  const enum tree_code ARG_UNUSED (op))
     196              : {
     197            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     198            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail98;
     199            0 :   {
     200            0 :     tree res_op0;
     201            0 :     res_op0 = captures[0];
     202            0 :     tree res_op1;
     203            0 :     res_op1 = captures[1];
     204            0 :     tree _r;
     205            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     206            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 71, __FILE__, __LINE__, true);
     207              :     return _r;
     208              :   }
     209            0 : next_after_fail98:;
     210            0 :   return NULL_TREE;
     211              : }
     212              : 
     213              : tree
     214          390 : generic_simplify_30 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     215              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     216              :  const enum tree_code ARG_UNUSED (op),
     217              :  const enum tree_code ARG_UNUSED (rop))
     218              : {
     219          390 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     220          390 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     221          390 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     222              : )
     223              :     {
     224          390 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail105;
     225          390 :       {
     226          390 :         tree res_op0;
     227          390 :         {
     228          390 :           tree _o1[1], _r1;
     229          390 :           _o1[0] = captures[0];
     230          390 :           if (TREE_TYPE (_o1[0]) != type)
     231              :             {
     232            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     233              :             }
     234              :           else
     235              :             _r1 = _o1[0];
     236          390 :           res_op0 = _r1;
     237              :         }
     238          390 :         tree res_op1;
     239          390 :         {
     240          390 :           tree _o1[2], _r1;
     241          390 :           {
     242          390 :             tree _o2[1], _r2;
     243          390 :             _o2[0] = captures[1];
     244          390 :             if (TREE_TYPE (_o2[0]) != type)
     245              :               {
     246            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
     247              :               }
     248              :             else
     249              :               _r2 = _o2[0];
     250          390 :             _o1[0] = _r2;
     251              :           }
     252          390 :           {
     253          390 :             tree _o2[1], _r2;
     254          390 :             _o2[0] = captures[2];
     255          390 :             if (TREE_TYPE (_o2[0]) != type)
     256              :               {
     257            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
     258              :               }
     259              :             else
     260              :               _r2 = _o2[0];
     261          390 :             _o1[1] = _r2;
     262              :           }
     263          390 :           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     264          390 :           res_op1 = _r1;
     265              :         }
     266          390 :         tree _r;
     267          390 :         _r = fold_build2_loc (loc, rop, type, res_op0, res_op1);
     268          390 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 78, __FILE__, __LINE__, true);
     269          390 :         return _r;
     270              :       }
     271            0 : next_after_fail105:;
     272              :     }
     273              :   return NULL_TREE;
     274              : }
     275              : 
     276              : tree
     277            0 : generic_simplify_42 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     278              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     279              :  const enum tree_code ARG_UNUSED (op))
     280              : {
     281            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     282            0 :   if (INTEGRAL_TYPE_P (type)
     283            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[2])) == 0
     284              : )
     285              :     {
     286            0 :       {
     287            0 :  tree t = type;
     288            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     289            0 :  t = unsigned_type_for (t);
     290            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), 1);
     291            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail119;
     292            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail119;
     293            0 :           {
     294            0 :             tree res_op0;
     295            0 :             {
     296            0 :               tree _o1[2], _r1;
     297            0 :               {
     298            0 :                 tree _o2[1], _r2;
     299            0 :                 _o2[0] = captures[2];
     300            0 :                 if (TREE_TYPE (_o2[0]) != t)
     301              :                   {
     302            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     303              :                   }
     304              :                 else
     305              :                   _r2 = _o2[0];
     306            0 :                 _o1[0] = _r2;
     307              :               }
     308            0 :               _o1[1] =  wide_int_to_tree (t, c);
     309            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     310            0 :               res_op0 = _r1;
     311              :             }
     312            0 :             tree _r;
     313            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     314            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 90, __FILE__, __LINE__, true);
     315            0 :             return _r;
     316              :           }
     317            0 : next_after_fail119:;
     318            0 :       }
     319              :     }
     320              :   return NULL_TREE;
     321              : }
     322              : 
     323              : tree
     324           64 : generic_simplify_50 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     325              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     326              :  const enum tree_code ARG_UNUSED (cmp),
     327              :  const enum tree_code ARG_UNUSED (icmp),
     328              :  const enum tree_code ARG_UNUSED (ncmp))
     329              : {
     330           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     331           64 :   {
     332           64 :  enum tree_code ic = invert_tree_comparison
     333           64 :  (cmp, HONOR_NANS (captures[0]));
     334           64 :       if (ic == icmp
     335              : )
     336              :         {
     337           64 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail128;
     338           64 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail128;
     339           64 :           {
     340           64 :             tree res_op0;
     341           64 :             res_op0 = captures[0];
     342           64 :             tree res_op1;
     343           64 :             res_op1 = captures[1];
     344           64 :             tree _r;
     345           64 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
     346           64 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 96, __FILE__, __LINE__, true);
     347           64 :             return _r;
     348              :           }
     349              : next_after_fail128:;
     350              :         }
     351              :       else
     352              :         {
     353            0 :           if (ic == ncmp
     354              : )
     355              :             {
     356            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail129;
     357            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail129;
     358            0 :               {
     359            0 :                 tree res_op0;
     360            0 :                 res_op0 = captures[0];
     361            0 :                 tree res_op1;
     362            0 :                 res_op1 = captures[1];
     363            0 :                 tree _r;
     364            0 :                 _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
     365            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 97, __FILE__, __LINE__, true);
     366            0 :                 return _r;
     367              :               }
     368              : next_after_fail129:;
     369              :             }
     370              :         }
     371              :   }
     372              :   return NULL_TREE;
     373              : }
     374              : 
     375              : tree
     376       241620 : generic_simplify_64 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     377              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     378              :  const enum tree_code ARG_UNUSED (outer_op))
     379              : {
     380       241620 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     381       241620 :   if (!TYPE_SATURATING (type)
     382              : )
     383              :     {
     384       241620 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     385       483233 :  && !FIXED_POINT_TYPE_P (type)
     386              : )
     387              :         {
     388       241613 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     389              : )
     390              :             {
     391       228086 :               if (!CONSTANT_CLASS_P (captures[1])
     392              : )
     393              :                 {
     394       228086 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail151;
     395       228086 :                   {
     396       228086 :                     tree res_op0;
     397       228086 :                     {
     398       228086 :                       tree _o1[2], _r1;
     399       228086 :                       {
     400       228086 :                         tree _o2[1], _r2;
     401       228086 :                         _o2[0] = captures[0];
     402       228086 :                         if (TREE_TYPE (_o2[0]) != type)
     403              :                           {
     404         3303 :                             _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     405              :                           }
     406              :                         else
     407              :                           _r2 = _o2[0];
     408       228086 :                         _o1[0] = _r2;
     409              :                       }
     410       228086 :                       _o1[1] = captures[2];
     411       228086 :                       _r1 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     412       228086 :                       if (EXPR_P (_r1))
     413            0 :                         goto next_after_fail151;
     414       228086 :                       res_op0 = _r1;
     415              :                     }
     416       228086 :                     tree res_op1;
     417       228086 :                     {
     418       228086 :                       tree _o1[1], _r1;
     419       228086 :                       _o1[0] = captures[1];
     420       228086 :                       if (TREE_TYPE (_o1[0]) != type)
     421              :                         {
     422         3335 :                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     423              :                         }
     424              :                       else
     425              :                         _r1 = _o1[0];
     426       228086 :                       res_op1 = _r1;
     427              :                     }
     428       228086 :                     tree _r;
     429       228086 :                     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     430       228086 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 119, __FILE__, __LINE__, true);
     431       228086 :                     return _r;
     432              :                   }
     433              : next_after_fail151:;
     434              :                 }
     435              :             }
     436              :           else
     437              :             {
     438        27054 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     439        27054 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     440              : )
     441              :                 {
     442         2317 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail152;
     443         2317 :                   {
     444         2317 :                     tree res_op0;
     445         2317 :                     {
     446         2317 :                       tree _o1[2], _r1;
     447         2317 :                       {
     448         2317 :                         tree _o2[2], _r2;
     449         2317 :                         _o2[0] = captures[0];
     450         2317 :                         {
     451         2317 :                           tree _o3[1], _r3;
     452         2317 :                           _o3[0] = captures[2];
     453         2317 :                           if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     454              :                             {
     455         2317 :                               _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     456              :                             }
     457              :                           else
     458              :                             _r3 = _o3[0];
     459         2317 :                           _o2[1] = _r3;
     460              :                         }
     461         2317 :                         _r2 = fold_build2_loc (loc, outer_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     462         2317 :                         if (EXPR_P (_r2))
     463            0 :                           goto next_after_fail152;
     464         2317 :                         _o1[0] = _r2;
     465              :                       }
     466         2317 :                       _o1[1] = captures[1];
     467         2317 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     468         2317 :                       res_op0 = _r1;
     469              :                     }
     470         2317 :                     tree _r;
     471         2317 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     472         2317 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 120, __FILE__, __LINE__, true);
     473         2317 :                     return _r;
     474              :                   }
     475              : next_after_fail152:;
     476              :                 }
     477              :               else
     478              :                 {
     479        11210 :                   if (types_match (type, captures[1]) && !TYPE_OVERFLOW_SANITIZED (type)
     480              : )
     481              :                     {
     482        11182 :                       {
     483        11182 :  tree cst = const_binop (outer_op, type, captures[0], captures[2]);
     484        11182 :                           if (cst && !TREE_OVERFLOW (cst)
     485              : )
     486              :                             {
     487        11175 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail153;
     488        11175 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail153;
     489        11175 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail153;
     490        11175 :                               {
     491        11175 :                                 tree res_op0;
     492        11175 :                                 res_op0 =  cst;
     493        11175 :                                 tree res_op1;
     494        11175 :                                 res_op1 = captures[1];
     495        11175 :                                 tree _r;
     496        11175 :                                 _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     497        11175 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 121, __FILE__, __LINE__, true);
     498        11175 :                                 return _r;
     499              :                               }
     500              : next_after_fail153:;
     501              :                             }
     502              :                       }
     503              :                     }
     504              :                 }
     505              :             }
     506              :         }
     507              :     }
     508              :   return NULL_TREE;
     509              : }
     510              : 
     511              : tree
     512            1 : generic_simplify_87 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     513              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     514              : {
     515            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     516            1 :   if (INTEGRAL_TYPE_P (type)
     517              : )
     518              :     {
     519            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail178;
     520            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail178;
     521            1 :       {
     522            1 :         tree res_op0;
     523            1 :         res_op0 = unshare_expr (captures[1]);
     524            1 :         tree res_op1;
     525            1 :         {
     526            1 :           tree _o1[2], _r1;
     527            1 :           _o1[0] = captures[4];
     528            1 :           _o1[1] = captures[1];
     529            1 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     530            1 :           res_op1 = _r1;
     531              :         }
     532            1 :         tree _r;
     533            1 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     534            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 146, __FILE__, __LINE__, true);
     535            1 :         return _r;
     536              :       }
     537              : next_after_fail178:;
     538              :     }
     539              :   return NULL_TREE;
     540              : }
     541              : 
     542              : tree
     543         2650 : generic_simplify_95 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     544              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     545              : {
     546         2650 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     547         2650 :   if (!TYPE_SATURATING (type)
     548              : )
     549              :     {
     550         2650 :       if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     551         2650 :  && !TYPE_OVERFLOW_SANITIZED (type)
     552              : )
     553              :         {
     554           13 :           {
     555           13 :  tree t1 = type;
     556           13 :  if (INTEGRAL_TYPE_P (type)
     557           21 :  && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
     558            8 :  t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
     559           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail186;
     560           13 :               {
     561           13 :                 tree res_op0;
     562           13 :                 {
     563           13 :                   tree _o1[2], _r1;
     564           13 :                   {
     565           13 :                     tree _o2[1], _r2;
     566           13 :                     _o2[0] = captures[0];
     567           13 :                     if (TREE_TYPE (_o2[0]) != t1)
     568              :                       {
     569            8 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     570              :                       }
     571              :                     else
     572              :                       _r2 = _o2[0];
     573           13 :                     _o1[0] = _r2;
     574              :                   }
     575           13 :                   {
     576           13 :                     tree _o2[1], _r2;
     577           13 :                     _o2[0] = captures[1];
     578           13 :                     if (TREE_TYPE (_o2[0]) != t1)
     579              :                       {
     580            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     581              :                       }
     582              :                     else
     583              :                       _r2 = _o2[0];
     584           13 :                     _o1[1] = _r2;
     585              :                   }
     586           13 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     587           13 :                   res_op0 = _r1;
     588              :                 }
     589           13 :                 tree _r;
     590           13 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     591           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 153, __FILE__, __LINE__, true);
     592           13 :                 return _r;
     593              :               }
     594            0 : next_after_fail186:;
     595              :           }
     596              :         }
     597              :     }
     598              :   return NULL_TREE;
     599              : }
     600              : 
     601              : tree
     602            9 : generic_simplify_106 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     603              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     604              : {
     605            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     606            9 :   if (INTEGRAL_TYPE_P (type)
     607            9 :  && (
     608              : 
     609            9 :  || !TREE_SIDE_EFFECTS (captures[1]))
     610              : )
     611              :     {
     612            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail203;
     613            2 :       {
     614            2 :         tree res_op0;
     615            2 :         {
     616            2 :           tree _o1[1], _r1;
     617            2 :           _o1[0] = captures[2];
     618            2 :           if (TREE_TYPE (_o1[0]) != boolean_type_node)
     619              :             {
     620            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
     621              :             }
     622              :           else
     623              :             _r1 = _o1[0];
     624            2 :           res_op0 = _r1;
     625              :         }
     626            2 :         tree res_op1;
     627            2 :         res_op1 = captures[1];
     628            2 :         tree res_op2;
     629            2 :         res_op2 = captures[0];
     630            2 :         tree _r;
     631            2 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     632            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 170, __FILE__, __LINE__, true);
     633            2 :         return _r;
     634              :       }
     635            0 : next_after_fail203:;
     636              :     }
     637              :   return NULL_TREE;
     638              : }
     639              : 
     640              : tree
     641            0 : generic_simplify_112 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     642              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     643              :  const enum tree_code ARG_UNUSED (bitop),
     644              :  const enum tree_code ARG_UNUSED (cmp))
     645              : {
     646            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     647            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     648            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     649            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
     650              : )
     651              :     {
     652            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail209;
     653            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail209;
     654            0 :       {
     655            0 :         tree res_op0;
     656            0 :         {
     657            0 :           tree _o1[2], _r1;
     658            0 :           _o1[0] = captures[0];
     659            0 :           {
     660            0 :             tree _o2[1], _r2;
     661            0 :             _o2[0] = captures[2];
     662            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     663              :               {
     664            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     665              :               }
     666              :             else
     667              :               _r2 = _o2[0];
     668            0 :             _o1[1] = _r2;
     669              :           }
     670            0 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     671            0 :           res_op0 = _r1;
     672              :         }
     673            0 :         tree res_op1;
     674            0 :         res_op1 = captures[1];
     675            0 :         tree _r;
     676            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
     677            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 176, __FILE__, __LINE__, true);
     678            0 :         return _r;
     679              :       }
     680              : next_after_fail209:;
     681              :     }
     682              :   return NULL_TREE;
     683              : }
     684              : 
     685              : tree
     686            8 : generic_simplify_123 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     687              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     688              : {
     689            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     690           16 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     691           16 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     692              : )
     693              :     {
     694            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail220;
     695            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail220;
     696            0 :       {
     697            0 :         tree _r;
     698            0 :         _r = captures[2];
     699            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 185, __FILE__, __LINE__, true);
     700            0 :         return _r;
     701              :       }
     702              : next_after_fail220:;
     703              :     }
     704              :   return NULL_TREE;
     705              : }
     706              : 
     707              : tree
     708            1 : generic_simplify_132 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     709              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     710              : {
     711            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     712            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail229;
     713            1 :   {
     714            1 :     tree res_op0;
     715            1 :     {
     716            1 :       tree _o1[2], _r1;
     717            1 :       _o1[0] = captures[1];
     718            1 :       _o1[1] = captures[2];
     719            1 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     720            1 :       res_op0 = _r1;
     721              :     }
     722            1 :     tree _r;
     723            1 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     724            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 191, __FILE__, __LINE__, true);
     725              :     return _r;
     726              :   }
     727            0 : next_after_fail229:;
     728            0 :   return NULL_TREE;
     729              : }
     730              : 
     731              : tree
     732            2 : generic_simplify_142 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     733              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     734              :  const enum tree_code ARG_UNUSED (bitop),
     735              :  const enum tree_code ARG_UNUSED (rbitop))
     736              : {
     737            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     738            2 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail243;
     739            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail243;
     740            2 :   {
     741            2 :     tree _r;
     742            2 :     _r = captures[2];
     743            2 :     if (TREE_SIDE_EFFECTS (captures[1]))
     744            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     745            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 197, __FILE__, __LINE__, true);
     746              :     return _r;
     747              :   }
     748              : next_after_fail243:;
     749              :   return NULL_TREE;
     750              : }
     751              : 
     752              : tree
     753          700 : generic_simplify_148 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     754              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     755              :  const enum tree_code ARG_UNUSED (op))
     756              : {
     757          700 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     758          700 :   if (bitwise_equal_p (captures[4], captures[7])
     759              : )
     760              :     {
     761           40 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail250;
     762           40 :       {
     763           40 :         tree res_op0;
     764           40 :         {
     765           40 :           tree _o1[2], _r1;
     766           40 :           {
     767           40 :             tree _o2[2], _r2;
     768           40 :             _o2[0] = captures[5];
     769           40 :             {
     770           40 :               tree _o3[1], _r3;
     771           40 :               _o3[0] = captures[6];
     772           40 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     773              :                 {
     774            0 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     775              :                 }
     776              :               else
     777              :                 _r3 = _o3[0];
     778           40 :               _o2[1] = _r3;
     779              :             }
     780           40 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     781           40 :             _o1[0] = _r2;
     782              :           }
     783           40 :           {
     784           40 :             tree _o2[1], _r2;
     785           40 :             _o2[0] = captures[4];
     786           40 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     787              :               {
     788            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     789              :               }
     790              :             else
     791              :               _r2 = _o2[0];
     792           40 :             _o1[1] = _r2;
     793              :           }
     794           40 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     795           40 :           res_op0 = _r1;
     796              :         }
     797           40 :         tree _r;
     798           40 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     799           40 :         if (TREE_SIDE_EFFECTS (captures[7]))
     800            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     801           40 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 201, __FILE__, __LINE__, true);
     802           40 :         return _r;
     803              :       }
     804            0 : next_after_fail250:;
     805              :     }
     806              :   return NULL_TREE;
     807              : }
     808              : 
     809              : tree
     810           36 : generic_simplify_159 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     811              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     812              :  const enum tree_code ARG_UNUSED (rcmp),
     813              :  const enum tree_code ARG_UNUSED (cmp2),
     814              :  const enum tree_code ARG_UNUSED (cmp1),
     815              :  const enum tree_code ARG_UNUSED (bitop))
     816              : {
     817           36 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     818           36 :   {
     819           36 :  tree_code rescode;
     820           36 :  tree res;
     821           36 :  bool honor_nans = HONOR_NANS (captures[0]);
     822           36 :  rescode = combine_comparisons (bitop, cmp1, cmp2,
     823              :  type, honor_nans, &res);
     824           36 :       if (rescode == INTEGER_CST
     825              : )
     826              :         {
     827            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail276;
     828            0 :           {
     829            0 :             tree _r;
     830            0 :             _r =  res;
     831            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
     832            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     833            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
     834            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     835            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 218, __FILE__, __LINE__, true);
     836           18 :             return _r;
     837              :           }
     838            0 : next_after_fail276:;
     839              :         }
     840              :       else
     841              :         {
     842           36 :           if (rescode == rcmp
     843              : )
     844              :             {
     845           18 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail277;
     846           18 :               {
     847           18 :                 tree res_op0;
     848           18 :                 res_op0 = captures[0];
     849           18 :                 tree res_op1;
     850           18 :                 res_op1 = captures[1];
     851           18 :                 tree _r;
     852           18 :                 _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
     853           18 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 219, __FILE__, __LINE__, true);
     854           18 :                 return _r;
     855              :               }
     856            0 : next_after_fail277:;
     857              :             }
     858              :         }
     859              :   }
     860           18 :   return NULL_TREE;
     861              : }
     862              : 
     863              : tree
     864            4 : generic_simplify_171 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     865              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     866              : {
     867            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     868            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail308;
     869            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail308;
     870            4 :   {
     871            4 :     tree _r;
     872            4 :     _r =  constant_boolean_node (true, type);
     873            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     874            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     875            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 229, __FILE__, __LINE__, true);
     876              :     return _r;
     877              :   }
     878              : next_after_fail308:;
     879              :   return NULL_TREE;
     880              : }
     881              : 
     882              : tree
     883            2 : generic_simplify_174 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     884              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     885              : {
     886            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     887            4 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     888            4 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
     889              : )
     890              :     {
     891            2 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail312;
     892            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail312;
     893            2 :       {
     894            2 :         tree res_op0;
     895            2 :         res_op0 = captures[3];
     896            2 :         tree res_op1;
     897            2 :         {
     898            2 :           tree _o1[2], _r1;
     899            2 :           _o1[0] = captures[1];
     900            2 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
     901            2 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     902            2 :           res_op1 = _r1;
     903              :         }
     904            2 :         tree _r;
     905            2 :         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     906            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 210, __FILE__, __LINE__, true);
     907            2 :         return _r;
     908              :       }
     909              : next_after_fail312:;
     910              :     }
     911              :   return NULL_TREE;
     912              : }
     913              : 
     914              : tree
     915            0 : generic_simplify_180 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     916              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     917              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     918              : {
     919            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     920            0 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     921              : )
     922              :     {
     923            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail318;
     924            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail318;
     925            0 :       {
     926            0 :         tree res_op0;
     927            0 :         res_op0 = captures[0];
     928            0 :         tree _r;
     929            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     930            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 237, __FILE__, __LINE__, true);
     931            0 :         return _r;
     932              :       }
     933              : next_after_fail318:;
     934              :     }
     935              :   return NULL_TREE;
     936              : }
     937              : 
     938              : tree
     939            0 : generic_simplify_183 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     940              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     941              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     942              : {
     943            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     944            0 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     945              : )
     946              :     {
     947            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail321;
     948            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail321;
     949            0 :       {
     950            0 :         tree res_op0;
     951            0 :         {
     952            0 :           tree _o1[1], _r1;
     953            0 :           _o1[0] = captures[0];
     954            0 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     955            0 :           res_op0 = _r1;
     956              :         }
     957            0 :         tree _r;
     958            0 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     959            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 238, __FILE__, __LINE__, true);
     960            0 :         return _r;
     961              :       }
     962              : next_after_fail321:;
     963              :     }
     964              :   return NULL_TREE;
     965              : }
     966              : 
     967              : tree
     968            0 : generic_simplify_190 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     969              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     970              : {
     971            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     972            0 :   if (INTEGRAL_TYPE_P (type)
     973            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     974            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
     975              : )
     976              :     {
     977            0 :       if (TYPE_UNSIGNED (type)
     978              : )
     979              :         {
     980            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail329;
     981            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail329;
     982            0 :           {
     983            0 :             tree res_op0;
     984            0 :             res_op0 = captures[0];
     985            0 :             tree _r;
     986            0 :             _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
     987            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 243, __FILE__, __LINE__, true);
     988            0 :             return _r;
     989              :           }
     990              : next_after_fail329:;
     991              :         }
     992              :       else
     993              :         {
     994            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail330;
     995            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail330;
     996            0 :           {
     997            0 :             tree res_op0;
     998            0 :             res_op0 = captures[0];
     999            0 :             tree _r;
    1000            0 :             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    1001            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 244, __FILE__, __LINE__, true);
    1002            0 :             return _r;
    1003              :           }
    1004              : next_after_fail330:;
    1005              :         }
    1006              :     }
    1007              :   return NULL_TREE;
    1008              : }
    1009              : 
    1010              : tree
    1011       178938 : generic_simplify_197 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1012              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1013              : {
    1014       178938 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1015       178938 :   {
    1016       178938 :  poly_widest_int factor;
    1017       178938 :       if (multiple_p (wi::to_poly_widest (captures[2]), wi::to_widest (captures[1]), &factor)
    1018              : )
    1019              :         {
    1020        55374 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail337;
    1021        55374 :           {
    1022        55374 :             tree res_op0;
    1023        55374 :             {
    1024        55374 :               tree _o1[1], _r1;
    1025        55374 :               _o1[0] = captures[0];
    1026        55374 :               if (TREE_TYPE (_o1[0]) != type)
    1027              :                 {
    1028        10109 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1029              :                 }
    1030              :               else
    1031              :                 _r1 = _o1[0];
    1032        55374 :               res_op0 = _r1;
    1033              :             }
    1034        55374 :             tree res_op1;
    1035        55374 :             res_op1 =  wide_int_to_tree (type, factor);
    1036        55374 :             tree _r;
    1037        55374 :             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    1038        55374 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1039            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1040        55374 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1041            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1042        55374 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 250, __FILE__, __LINE__, true);
    1043        55374 :             return _r;
    1044              :           }
    1045            0 : next_after_fail337:;
    1046              :         }
    1047       178938 :   }
    1048       123564 :   return NULL_TREE;
    1049              : }
    1050              : 
    1051              : tree
    1052            2 : generic_simplify_206 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1053              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1054              :  const combined_fn ARG_UNUSED (POW))
    1055              : {
    1056            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1057            2 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1058              : )
    1059              :     {
    1060            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail347;
    1061            2 :       {
    1062            2 :         tree res_op0;
    1063            2 :         {
    1064            2 :           tree _o1[2], _r1;
    1065            2 :           _o1[0] = captures[1];
    1066            2 :           _o1[1] = captures[4];
    1067            2 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1068            2 :           res_op0 = _r1;
    1069              :         }
    1070            2 :         tree res_op1;
    1071            2 :         res_op1 = captures[2];
    1072            2 :         tree _r;
    1073            2 :         _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
    1074            2 :         if (!_r)
    1075            0 :           goto next_after_fail347;
    1076            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 260, __FILE__, __LINE__, true);
    1077            2 :         return _r;
    1078              :       }
    1079              : next_after_fail347:;
    1080              :     }
    1081              :   return NULL_TREE;
    1082              : }
    1083              : 
    1084              : tree
    1085            0 : generic_simplify_215 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1086              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1087              :  const enum tree_code ARG_UNUSED (neeq))
    1088              : {
    1089            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1090            0 :   if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
    1091            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    1092            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1093              : )
    1094              :     {
    1095            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail359;
    1096            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail359;
    1097            0 :       {
    1098            0 :         tree res_op0;
    1099            0 :         res_op0 = captures[1];
    1100            0 :         tree res_op1;
    1101            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1102            0 :         tree _r;
    1103            0 :         _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
    1104            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 271, __FILE__, __LINE__, true);
    1105            0 :         return _r;
    1106              :       }
    1107              : next_after_fail359:;
    1108              :     }
    1109              :   return NULL_TREE;
    1110              : }
    1111              : 
    1112              : tree
    1113        12880 : generic_simplify_222 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1114              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1115              :  const enum tree_code ARG_UNUSED (op))
    1116              : {
    1117        12880 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1118        12880 :   if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1119        12880 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1120        12880 :  && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
    1121              : )
    1122              :     {
    1123        12880 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail379;
    1124        12880 :       {
    1125        12880 :         tree res_op0;
    1126        12880 :         res_op0 = captures[3];
    1127        12880 :         tree res_op1;
    1128        12880 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
    1129        12880 :         tree _r;
    1130        12880 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1131        12880 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1132            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1133        12880 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 291, __FILE__, __LINE__, true);
    1134        12880 :         return _r;
    1135              :       }
    1136            0 : next_after_fail379:;
    1137              :     }
    1138              :   return NULL_TREE;
    1139              : }
    1140              : 
    1141              : tree
    1142           21 : generic_simplify_230 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1143              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1144              :  const enum tree_code ARG_UNUSED (cmp))
    1145              : {
    1146           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1147           21 :   if (TREE_INT_CST_LOW (captures[1]) & 1
    1148              : )
    1149              :     {
    1150            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail387;
    1151            2 :       {
    1152            2 :         tree _r;
    1153            2 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1154            2 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1155            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1156            2 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1157            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1158            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 298, __FILE__, __LINE__, true);
    1159            2 :         return _r;
    1160              :       }
    1161            0 : next_after_fail387:;
    1162              :     }
    1163              :   return NULL_TREE;
    1164              : }
    1165              : 
    1166              : tree
    1167            6 : generic_simplify_237 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1168              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1169              :  const enum tree_code ARG_UNUSED (cmp),
    1170              :  const enum tree_code ARG_UNUSED (icmp))
    1171              : {
    1172            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1173            6 :   {
    1174            6 :  int c1 = wi::clz (wi::to_wide (captures[0]));
    1175            6 :  int c2 = wi::clz (wi::to_wide (captures[2]));
    1176            6 :       if (c1 < c2
    1177              : )
    1178              :         {
    1179            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail396;
    1180            0 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail396;
    1181            0 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail396;
    1182            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail396;
    1183            0 :           {
    1184            0 :             tree _r;
    1185            0 :             _r =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
    1186            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1187            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1188            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 307, __FILE__, __LINE__, true);
    1189            0 :             return _r;
    1190              :           }
    1191              : next_after_fail396:;
    1192              :         }
    1193              :       else
    1194              :         {
    1195            6 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail397;
    1196            6 :           if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail397;
    1197            6 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail397;
    1198            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail397;
    1199            6 :           {
    1200            6 :             tree res_op0;
    1201            6 :             res_op0 = captures[1];
    1202            6 :             tree res_op1;
    1203            6 :             res_op1 =  build_int_cst (TREE_TYPE (captures[1]), c1 - c2);
    1204            6 :             tree _r;
    1205            6 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1206            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 308, __FILE__, __LINE__, true);
    1207            6 :             return _r;
    1208              :           }
    1209              : next_after_fail397:;
    1210              :         }
    1211              :   }
    1212              :   return NULL_TREE;
    1213              : }
    1214              : 
    1215              : tree
    1216           14 : generic_simplify_247 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1217              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1218              :  const enum tree_code ARG_UNUSED (cmp),
    1219              :  const combined_fn ARG_UNUSED (bswap))
    1220              : {
    1221           14 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1222           14 :   {
    1223           14 :  tree ctype = TREE_TYPE (captures[0]);
    1224           14 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail416;
    1225           14 :       {
    1226           14 :         tree res_op0;
    1227           14 :         {
    1228           14 :           tree _o1[1], _r1;
    1229           14 :           _o1[0] = captures[1];
    1230           14 :           if (TREE_TYPE (_o1[0]) != ctype)
    1231              :             {
    1232            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1233              :             }
    1234              :           else
    1235              :             _r1 = _o1[0];
    1236           14 :           res_op0 = _r1;
    1237              :         }
    1238           14 :         tree res_op1;
    1239           14 :         {
    1240           14 :           tree _o1[1], _r1;
    1241           14 :           _o1[0] = captures[2];
    1242           14 :           if (TREE_TYPE (_o1[0]) != ctype)
    1243              :             {
    1244            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1245              :             }
    1246              :           else
    1247              :             _r1 = _o1[0];
    1248           14 :           res_op1 = _r1;
    1249              :         }
    1250           14 :         tree _r;
    1251           14 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1252           14 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 327, __FILE__, __LINE__, true);
    1253              :         return _r;
    1254              :       }
    1255            0 : next_after_fail416:;
    1256              :   }
    1257            0 :   return NULL_TREE;
    1258              : }
    1259              : 
    1260              : tree
    1261       160907 : generic_simplify_255 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1262              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1263              :  const enum tree_code ARG_UNUSED (cmp))
    1264              : {
    1265       160907 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1266       316805 :   if (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1267       161632 :  || ! tree_expr_maybe_nan_p (captures[0])
    1268              : )
    1269              :     {
    1270       155247 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail429;
    1271       155247 :       {
    1272       155247 :         tree _r;
    1273       155247 :         _r =  constant_boolean_node (true, type);
    1274       155247 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1275            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1276       155247 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 339, __FILE__, __LINE__, true);
    1277       155247 :         return _r;
    1278              :       }
    1279            0 : next_after_fail429:;
    1280              :     }
    1281              :   else
    1282              :     {
    1283         5660 :       if (cmp != EQ_EXPR
    1284         5660 :  && (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1285           79 :  || ! flag_trapping_math)
    1286              : )
    1287              :         {
    1288            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail430;
    1289            0 :           {
    1290            0 :             tree res_op0;
    1291            0 :             res_op0 = unshare_expr (captures[0]);
    1292            0 :             tree res_op1;
    1293            0 :             res_op1 = captures[0];
    1294            0 :             tree _r;
    1295            0 :             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1296            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 340, __FILE__, __LINE__, true);
    1297            0 :             return _r;
    1298              :           }
    1299            0 : next_after_fail430:;
    1300              :         }
    1301              :     }
    1302              :   return NULL_TREE;
    1303              : }
    1304              : 
    1305              : tree
    1306        19680 : generic_simplify_262 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1307              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1308              :  const enum tree_code ARG_UNUSED (cmp))
    1309              : {
    1310        19680 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1311        19680 :   if (flag_associative_math
    1312              : )
    1313              :     {
    1314           13 :       {
    1315           13 :  tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
    1316           13 :           if (tem && !TREE_OVERFLOW (tem)
    1317              : )
    1318              :             {
    1319           13 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail451;
    1320           13 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail451;
    1321           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail451;
    1322           13 :               {
    1323           13 :                 tree res_op0;
    1324           13 :                 res_op0 =  tem;
    1325           13 :                 tree res_op1;
    1326           13 :                 res_op1 = captures[1];
    1327           13 :                 tree _r;
    1328           13 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1329           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 360, __FILE__, __LINE__, true);
    1330           13 :                 return _r;
    1331              :               }
    1332              : next_after_fail451:;
    1333              :             }
    1334              :       }
    1335              :     }
    1336              :   return NULL_TREE;
    1337              : }
    1338              : 
    1339              : tree
    1340           59 : generic_simplify_268 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1341              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1342              :  const enum tree_code ARG_UNUSED (cmp),
    1343              :  const enum tree_code ARG_UNUSED (scmp))
    1344              : {
    1345           59 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1346           96 :   if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1347           96 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1348           37 :  && (cmp == EQ_EXPR
    1349           37 :  || cmp == NE_EXPR
    1350           36 :  || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    1351              : )
    1352              :     {
    1353           23 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail484;
    1354           23 :       {
    1355           23 :         tree res_op0;
    1356           23 :         res_op0 = captures[0];
    1357           23 :         tree res_op1;
    1358           23 :         res_op1 = captures[1];
    1359           23 :         tree _r;
    1360           23 :         _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1361           23 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 393, __FILE__, __LINE__, true);
    1362           23 :         return _r;
    1363              :       }
    1364            0 : next_after_fail484:;
    1365              :     }
    1366              :   return NULL_TREE;
    1367              : }
    1368              : 
    1369              : tree
    1370     19855872 : generic_simplify_271 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1371              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1372              :  const enum tree_code ARG_UNUSED (cmp))
    1373              : {
    1374     19855872 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1375     39422931 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1376     12002922 :  && !(targetm.have_canonicalize_funcptr_for_compare ()
    1377            0 :  && ((POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1378            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1]))))
    1379            0 :  || (POINTER_TYPE_P (TREE_TYPE (captures[3]))
    1380            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[3]))))))
    1381     19855872 :  && single_use (captures[0])
    1382              : )
    1383              :     {
    1384     12002922 :       if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    1385      5219597 :  && (TREE_CODE (captures[3]) == INTEGER_CST
    1386      1938404 :  || captures[2] != captures[3])
    1387      3281193 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1388              :  || cmp == NE_EXPR
    1389      1502219 :  || cmp == EQ_EXPR)
    1390      2249124 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1391     14212096 :  && (TREE_CODE (TREE_TYPE (captures[1])) != BOOLEAN_TYPE
    1392         1655 :  || TREE_CODE (TREE_TYPE (captures[3])) == BOOLEAN_TYPE)
    1393              : )
    1394              :         {
    1395      2209146 :           if (TREE_CODE (captures[2]) == INTEGER_CST
    1396              : )
    1397              :             {
    1398      2209146 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail494;
    1399      2209146 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail494;
    1400      2209146 :               {
    1401      2209146 :                 tree res_op0;
    1402      2209146 :                 res_op0 = captures[1];
    1403      2209146 :                 tree res_op1;
    1404      2209146 :                 res_op1 =  force_fit_type (TREE_TYPE (captures[1]),
    1405      2209146 :  wide_int::from (wi::to_wide (captures[2]),
    1406      2209146 :  MAX (TYPE_PRECISION (TREE_TYPE (captures[2])),
    1407              :  TYPE_PRECISION (TREE_TYPE (captures[1]))),
    1408      2209146 :  TYPE_SIGN (TREE_TYPE (captures[2]))),
    1409      2209146 :  0, TREE_OVERFLOW (captures[2]));
    1410      2209146 :                 tree _r;
    1411      2209146 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1412      2209146 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 395, __FILE__, __LINE__, true);
    1413      2209146 :                 return _r;
    1414              :               }
    1415              : next_after_fail494:;
    1416              :             }
    1417              :           else
    1418              :             {
    1419            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail495;
    1420            0 :               {
    1421            0 :                 tree res_op0;
    1422            0 :                 res_op0 = captures[1];
    1423            0 :                 tree res_op1;
    1424            0 :                 {
    1425            0 :                   tree _o1[1], _r1;
    1426            0 :                   _o1[0] = captures[2];
    1427            0 :                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1428              :                     {
    1429            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1430              :                     }
    1431              :                   else
    1432              :                     _r1 = _o1[0];
    1433            0 :                   res_op1 = _r1;
    1434              :                 }
    1435            0 :                 tree _r;
    1436            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1437            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 396, __FILE__, __LINE__, true);
    1438            0 :                 return _r;
    1439              :               }
    1440            0 : next_after_fail495:;
    1441              :             }
    1442              :         }
    1443              :       else
    1444              :         {
    1445      9793776 :           if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    1446              : )
    1447              :             {
    1448      5815828 :               if ((cmp == EQ_EXPR || cmp == NE_EXPR
    1449      2969383 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1450       404976 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1451       319374 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    1452      8699609 :  && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]))
    1453      5730208 :  || ((TYPE_PRECISION (TREE_TYPE (captures[1]))
    1454      5730208 :  >= TYPE_PRECISION (TREE_TYPE (captures[3])))
    1455            0 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1456            0 :  == TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
    1457      5730208 :  || (TREE_CODE (captures[2]) == INTEGER_CST
    1458      4625368 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1459      4625368 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))))
    1460              : )
    1461              :                 {
    1462      4590681 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail496;
    1463      4590681 :                   {
    1464      4590681 :                     tree res_op0;
    1465      4590681 :                     res_op0 = captures[1];
    1466      4590681 :                     tree res_op1;
    1467      4590681 :                     {
    1468      4590681 :                       tree _o1[1], _r1;
    1469      4590681 :                       _o1[0] = captures[3];
    1470      4590681 :                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1471              :                         {
    1472      4590663 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1473              :                         }
    1474              :                       else
    1475              :                         _r1 = _o1[0];
    1476      4590681 :                       res_op1 = _r1;
    1477              :                     }
    1478      4590681 :                     tree _r;
    1479      4590681 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1480      4590681 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 397, __FILE__, __LINE__, true);
    1481      4590681 :                     return _r;
    1482              :                   }
    1483            0 : next_after_fail496:;
    1484              :                 }
    1485              :               else
    1486              :                 {
    1487      1225147 :                   if (TREE_CODE (captures[2]) == INTEGER_CST
    1488        84358 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1489      1309505 :  && !int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    1490              : )
    1491              :                     {
    1492        37997 :                       {
    1493        37997 :  tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1494        37997 :  tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1495        37997 :  bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[2]));
    1496        37997 :  bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[2], min));
    1497        37997 :                           if (above || below
    1498              : )
    1499              :                             {
    1500        31555 :                               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1501              : )
    1502              :                                 {
    1503        26781 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail497;
    1504        26781 :                                   {
    1505        26781 :                                     tree _r;
    1506        26781 :                                     _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
    1507        26781 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1508           10 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1509        26781 :                                     if (TREE_SIDE_EFFECTS (captures[2]))
    1510            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1511        26781 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 398, __FILE__, __LINE__, true);
    1512        26781 :                                     return _r;
    1513              :                                   }
    1514            0 : next_after_fail497:;
    1515              :                                 }
    1516              :                               else
    1517              :                                 {
    1518         4774 :                                   if (cmp == LT_EXPR || cmp == LE_EXPR
    1519              : )
    1520              :                                     {
    1521         4231 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail498;
    1522         4231 :                                       {
    1523         4231 :                                         tree _r;
    1524         4231 :                                         _r =  constant_boolean_node (above ? true : false, type);
    1525         4231 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1526           10 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1527         4231 :                                         if (TREE_SIDE_EFFECTS (captures[2]))
    1528            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1529         4231 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 399, __FILE__, __LINE__, true);
    1530         4231 :                                         return _r;
    1531              :                                       }
    1532            0 : next_after_fail498:;
    1533              :                                     }
    1534              :                                   else
    1535              :                                     {
    1536          543 :                                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1537              : )
    1538              :                                         {
    1539          543 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail499;
    1540          543 :                                           {
    1541          543 :                                             tree _r;
    1542          771 :                                             _r =  constant_boolean_node (above ? false : true, type);
    1543          543 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1544            4 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1545          543 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    1546            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1547          543 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 400, __FILE__, __LINE__, true);
    1548          543 :                                             return _r;
    1549              :                                           }
    1550            0 : next_after_fail499:;
    1551              :                                         }
    1552              :                                     }
    1553              :                                 }
    1554              :                             }
    1555              :                       }
    1556              :                     }
    1557              :                 }
    1558              :             }
    1559              :           else
    1560              :             {
    1561      7953027 :               if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1562      3741714 :  && (TYPE_PRECISION (TREE_TYPE (captures[0]))
    1563      3741714 :  < TYPE_PRECISION (TREE_TYPE (captures[1])))
    1564       967411 :  && (cmp == EQ_EXPR || cmp == NE_EXPR)
    1565      4621194 :  && types_match (TREE_TYPE (captures[1]),
    1566       643246 :  TREE_TYPE (captures[3]))
    1567              : )
    1568              :                 {
    1569            0 :                   {
    1570            0 :  tree itype = TREE_TYPE (captures[0]);
    1571            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail500;
    1572            0 :                       {
    1573            0 :                         tree res_op0;
    1574            0 :                         {
    1575            0 :                           tree _o1[1], _r1;
    1576            0 :                           {
    1577            0 :                             tree _o2[2], _r2;
    1578            0 :                             _o2[0] = captures[1];
    1579            0 :                             _o2[1] = captures[3];
    1580            0 :                             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1581            0 :                             _o1[0] = _r2;
    1582              :                           }
    1583            0 :                           if (TREE_TYPE (_o1[0]) != itype)
    1584              :                             {
    1585            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    1586              :                             }
    1587              :                           else
    1588              :                             _r1 = _o1[0];
    1589            0 :                           res_op0 = _r1;
    1590              :                         }
    1591            0 :                         tree res_op1;
    1592            0 :                         res_op1 =  build_zero_cst (itype);
    1593            0 :                         tree _r;
    1594            0 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1595            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 401, __FILE__, __LINE__, true);
    1596            0 :                         return _r;
    1597              :                       }
    1598            0 : next_after_fail500:;
    1599              :                   }
    1600              :                 }
    1601              :             }
    1602              :         }
    1603              :     }
    1604              :   else
    1605              :     {
    1606     15153456 :       if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
    1607      1131964 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1608       565982 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1])))
    1609      8984676 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1610       565863 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[3])))
    1611              : )
    1612              :         {
    1613       565863 :           {
    1614       565863 :  tree type1 = TREE_TYPE (captures[3]);
    1615       565863 :  if (TREE_CODE (captures[3]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
    1616              :  {
    1617       358330 :  REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[3]);
    1618       358330 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (float_type_node)
    1619       358330 :  && exact_real_truncate (TYPE_MODE (float_type_node), &orig))
    1620       181576 :  type1 = float_type_node;
    1621       358330 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (double_type_node)
    1622       358330 :  && exact_real_truncate (TYPE_MODE (double_type_node), &orig))
    1623          292 :  type1 = double_type_node;
    1624              :  }
    1625       565863 :  tree newtype
    1626       565863 :  = (element_precision (TREE_TYPE (captures[1])) > element_precision (type1)
    1627       565863 :  ? TREE_TYPE (captures[1]) : type1);
    1628       565863 :               if (element_precision (TREE_TYPE (captures[0])) > element_precision (newtype)
    1629       565863 :  && (!VECTOR_TYPE_P (type) || is_truth_type_for (newtype, type))
    1630              : )
    1631              :                 {
    1632        44630 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail501;
    1633        44630 :                   {
    1634        44630 :                     tree res_op0;
    1635        44630 :                     {
    1636        44630 :                       tree _o1[1], _r1;
    1637        44630 :                       _o1[0] = captures[1];
    1638        44630 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1639              :                         {
    1640        11448 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1641              :                         }
    1642              :                       else
    1643              :                         _r1 = _o1[0];
    1644        44630 :                       res_op0 = _r1;
    1645              :                     }
    1646        44630 :                     tree res_op1;
    1647        44630 :                     {
    1648        44630 :                       tree _o1[1], _r1;
    1649        44630 :                       _o1[0] = captures[3];
    1650        44630 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1651              :                         {
    1652        44630 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1653              :                         }
    1654              :                       else
    1655              :                         _r1 = _o1[0];
    1656        44630 :                       res_op1 = _r1;
    1657              :                     }
    1658        44630 :                     tree _r;
    1659        44630 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1660        44630 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 402, __FILE__, __LINE__, true);
    1661        44630 :                     return _r;
    1662              :                   }
    1663            0 : next_after_fail501:;
    1664              :                 }
    1665              :           }
    1666              :         }
    1667              :     }
    1668              :   return NULL_TREE;
    1669              : }
    1670              : 
    1671              : tree
    1672            0 : generic_simplify_303 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1673              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1674              :  const enum tree_code ARG_UNUSED (cmp))
    1675              : {
    1676            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1677            0 :   if (VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (captures[0])))
    1678            0 :  && can_compare_p (cmp == EQ_EXPR ? EQ : NE, TYPE_MODE (TREE_TYPE (captures[0])),
    1679              :  ccp_jump)
    1680              : )
    1681              :     {
    1682            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail569;
    1683            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail569;
    1684            0 :       {
    1685            0 :         tree res_op0;
    1686            0 :         res_op0 = captures[0];
    1687            0 :         tree res_op1;
    1688            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1689            0 :         tree _r;
    1690            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1691            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 460, __FILE__, __LINE__, true);
    1692            0 :         return _r;
    1693              :       }
    1694              : next_after_fail569:;
    1695              :     }
    1696              :   return NULL_TREE;
    1697              : }
    1698              : 
    1699              : tree
    1700            0 : generic_simplify_308 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1701              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1702              :  const combined_fn ARG_UNUSED (copysigns))
    1703              : {
    1704            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1705            0 :   if (!REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
    1706              : )
    1707              :     {
    1708            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail575;
    1709            0 :       {
    1710            0 :         tree res_op0;
    1711            0 :         res_op0 = captures[0];
    1712            0 :         tree _r;
    1713            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    1714            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1715            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1716            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 466, __FILE__, __LINE__, true);
    1717            0 :         return _r;
    1718              :       }
    1719            0 : next_after_fail575:;
    1720              :     }
    1721              :   return NULL_TREE;
    1722              : }
    1723              : 
    1724              : tree
    1725            7 : generic_simplify_313 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1726              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1727              :  const enum tree_code ARG_UNUSED (div))
    1728              : {
    1729            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1730           14 :   if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
    1731            0 :  && (!VECTOR_TYPE_P (type)
    1732            0 :  || target_supports_op_p (type, RSHIFT_EXPR, optab_vector)
    1733            0 :  || target_supports_op_p (type, RSHIFT_EXPR, optab_scalar))
    1734            7 :  && (useless_type_conversion_p (type, TREE_TYPE (captures[2]))
    1735            0 :  || (element_precision (type) >= element_precision (TREE_TYPE (captures[2]))
    1736            0 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    1737            0 :  || (element_precision (type)
    1738            0 :  == element_precision (TREE_TYPE (captures[2])))
    1739            0 :  || (INTEGRAL_TYPE_P (type)
    1740            0 :  && (tree_nonzero_bits (captures[0])
    1741            7 :  & wi::mask (element_precision (TREE_TYPE (captures[2])) - 1,
    1742              :  true,
    1743            7 :  element_precision (type))) == 0))))
    1744              : )
    1745              :     {
    1746            0 :       if (!VECTOR_TYPE_P (type)
    1747            0 :  && useless_type_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1748            0 :  && element_precision (TREE_TYPE (captures[1])) < element_precision (type)
    1749              : )
    1750              :         {
    1751            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail580;
    1752            0 :           {
    1753            0 :             tree res_op0;
    1754            0 :             {
    1755            0 :               tree _o1[2], _r1;
    1756            0 :               _o1[0] = captures[1];
    1757            0 :               _o1[1] = captures[3];
    1758            0 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1759            0 :               res_op0 = _r1;
    1760              :             }
    1761            0 :             tree _r;
    1762            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1763            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1764            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1765            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 471, __FILE__, __LINE__, true);
    1766            0 :             return _r;
    1767              :           }
    1768            0 : next_after_fail580:;
    1769              :         }
    1770              :       else
    1771              :         {
    1772            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail581;
    1773            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail581;
    1774            0 :           {
    1775            0 :             tree res_op0;
    1776            0 :             res_op0 = captures[0];
    1777            0 :             tree res_op1;
    1778            0 :             res_op1 = captures[3];
    1779            0 :             tree _r;
    1780            0 :             _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    1781            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1782            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1783            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 472, __FILE__, __LINE__, true);
    1784            0 :             return _r;
    1785              :           }
    1786              : next_after_fail581:;
    1787              :         }
    1788              :     }
    1789              :   return NULL_TREE;
    1790              : }
    1791              : 
    1792              : tree
    1793          230 : generic_simplify_330 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1794              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1795              :  const enum tree_code ARG_UNUSED (mod))
    1796              : {
    1797          230 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1798          230 :   if (!integer_zerop (captures[0])
    1799              : )
    1800              :     {
    1801           93 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail600;
    1802           93 :       {
    1803           93 :         tree _r;
    1804           93 :         _r =  build_zero_cst (type);
    1805           93 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1806            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1807           93 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 489, __FILE__, __LINE__, true);
    1808           93 :         return _r;
    1809              :       }
    1810            0 : next_after_fail600:;
    1811              :     }
    1812              :   return NULL_TREE;
    1813              : }
    1814              : 
    1815              : tree
    1816            6 : generic_simplify_341 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1817              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1818              :  const combined_fn ARG_UNUSED (COS),
    1819              :  const combined_fn ARG_UNUSED (SIN),
    1820              :  const combined_fn ARG_UNUSED (TAN))
    1821              : {
    1822            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1823            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1824              : )
    1825              :     {
    1826            6 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail613;
    1827            6 :       {
    1828            6 :         tree res_op0;
    1829            6 :         res_op0 =  build_one_cst (type);
    1830            6 :         tree res_op1;
    1831            6 :         {
    1832            6 :           tree _o1[1], _r1;
    1833            6 :           _o1[0] = captures[1];
    1834            6 :           _r1 = maybe_build_call_expr_loc (loc, TAN, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1835            6 :           if (!_r1)
    1836            0 :             goto next_after_fail613;
    1837            6 :           res_op1 = _r1;
    1838              :         }
    1839            6 :         tree _r;
    1840            6 :         _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1841            6 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 502, __FILE__, __LINE__, true);
    1842            6 :         return _r;
    1843              :       }
    1844              : next_after_fail613:;
    1845              :     }
    1846              :   return NULL_TREE;
    1847              : }
    1848              : 
    1849              : tree
    1850           39 : generic_simplify_349 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1851              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1852              :  const enum tree_code ARG_UNUSED (cmp),
    1853              :  const enum tree_code ARG_UNUSED (minmax))
    1854              : {
    1855           39 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1856           39 :   {
    1857           39 :  tree_code code = minmax_from_comparison (cmp, captures[0], captures[1], captures[0], captures[4]);
    1858           39 :       if ((cmp == LT_EXPR || cmp == LE_EXPR)
    1859           15 :  && code == MIN_EXPR
    1860           43 :  && integer_nonzerop (fold_build2 (LE_EXPR, boolean_type_node, captures[3], captures[4]))
    1861              : )
    1862              :         {
    1863            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail625;
    1864            4 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail625;
    1865            4 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail625;
    1866            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail625;
    1867            4 :           {
    1868            4 :             tree res_op0;
    1869            4 :             res_op0 = captures[2];
    1870            4 :             tree res_op1;
    1871            4 :             res_op1 = captures[4];
    1872            4 :             tree _r;
    1873            4 :             _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    1874            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 514, __FILE__, __LINE__, true);
    1875            4 :             return _r;
    1876              :           }
    1877              : next_after_fail625:;
    1878              :         }
    1879              :       else
    1880              :         {
    1881           35 :           if ((cmp == GT_EXPR || cmp == GE_EXPR)
    1882           24 :  && code == MAX_EXPR
    1883           59 :  && integer_nonzerop (fold_build2 (GE_EXPR, boolean_type_node, captures[3], captures[4]))
    1884              : )
    1885              :             {
    1886           10 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail626;
    1887           10 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail626;
    1888           10 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail626;
    1889           10 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail626;
    1890           10 :               {
    1891           10 :                 tree res_op0;
    1892           10 :                 res_op0 = captures[2];
    1893           10 :                 tree res_op1;
    1894           10 :                 res_op1 = captures[4];
    1895           10 :                 tree _r;
    1896           10 :                 _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
    1897           10 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 515, __FILE__, __LINE__, true);
    1898           10 :                 return _r;
    1899              :               }
    1900              : next_after_fail626:;
    1901              :             }
    1902              :         }
    1903              :   }
    1904              :   return NULL_TREE;
    1905              : }
    1906              : 
    1907              : tree
    1908           15 : generic_simplify_361 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1909              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1910              :  const enum tree_code ARG_UNUSED (op))
    1911              : {
    1912           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1913           15 :   if (INTEGRAL_TYPE_P (type)
    1914           15 :  && TYPE_PRECISION (type) > 1
    1915           15 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1916           30 :  && expr_no_side_effects_p (captures[1])
    1917              : )
    1918              :     {
    1919            8 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail639;
    1920            8 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail639;
    1921            8 :       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail639;
    1922            8 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail639;
    1923            8 :       {
    1924            8 :         tree res_op0;
    1925            8 :         {
    1926            8 :           tree _o1[2], _r1;
    1927            8 :           {
    1928            8 :             tree _o2[1], _r2;
    1929            8 :             _o2[0] = captures[0];
    1930            8 :             if (TREE_TYPE (_o2[0]) != type)
    1931              :               {
    1932            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1933              :               }
    1934              :             else
    1935              :               _r2 = _o2[0];
    1936            8 :             _o1[0] = _r2;
    1937              :           }
    1938            8 :           _o1[1] = captures[1];
    1939            8 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1940            8 :           res_op0 = _r1;
    1941              :         }
    1942            8 :         tree res_op1;
    1943            8 :         res_op1 = captures[2];
    1944            8 :         tree _r;
    1945            8 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1946            8 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 528, __FILE__, __LINE__, true);
    1947            8 :         return _r;
    1948              :       }
    1949              : next_after_fail639:;
    1950              :     }
    1951              :   return NULL_TREE;
    1952              : }
    1953              : 
    1954              : tree
    1955           22 : generic_simplify_376 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1956              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1957              :  const enum tree_code ARG_UNUSED (cmp))
    1958              : {
    1959           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1960           22 :   if (INTEGRAL_TYPE_P (type)
    1961           22 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1962           22 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1963           44 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
    1964              : )
    1965              :     {
    1966           22 :       {
    1967           22 :  tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
    1968           22 :           if (cmp == LT_EXPR
    1969              : )
    1970              :             {
    1971           13 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail655;
    1972           13 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail655;
    1973           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail655;
    1974           13 :               {
    1975           13 :                 tree res_op0;
    1976           13 :                 {
    1977           13 :                   tree _o1[1], _r1;
    1978           13 :                   {
    1979           13 :                     tree _o2[2], _r2;
    1980           13 :                     _o2[0] = captures[0];
    1981           13 :                     _o2[1] = shifter;
    1982           13 :                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1983           13 :                     _o1[0] = _r2;
    1984              :                   }
    1985           13 :                   if (TREE_TYPE (_o1[0]) != type)
    1986              :                     {
    1987            1 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1988              :                     }
    1989              :                   else
    1990              :                     _r1 = _o1[0];
    1991           13 :                   res_op0 = _r1;
    1992              :                 }
    1993           13 :                 tree res_op1;
    1994           13 :                 res_op1 = captures[1];
    1995           13 :                 tree _r;
    1996           13 :                 _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    1997           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 542, __FILE__, __LINE__, true);
    1998           13 :                 return _r;
    1999              :               }
    2000              : next_after_fail655:;
    2001              :             }
    2002              :           else
    2003              :             {
    2004            9 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail656;
    2005            9 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail656;
    2006            9 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail656;
    2007            9 :               {
    2008            9 :                 tree res_op0;
    2009            9 :                 {
    2010            9 :                   tree _o1[2], _r1;
    2011            9 :                   {
    2012            9 :                     tree _o2[1], _r2;
    2013            9 :                     {
    2014            9 :                       tree _o3[2], _r3;
    2015            9 :                       _o3[0] = captures[0];
    2016            9 :                       _o3[1] = shifter;
    2017            9 :                       _r3 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2018            9 :                       _o2[0] = _r3;
    2019              :                     }
    2020            9 :                     if (TREE_TYPE (_o2[0]) != type)
    2021              :                       {
    2022            1 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    2023              :                       }
    2024              :                     else
    2025              :                       _r2 = _o2[0];
    2026            9 :                     _o1[0] = _r2;
    2027              :                   }
    2028            9 :                   _o1[1] = captures[1];
    2029            9 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2030            9 :                   res_op0 = _r1;
    2031              :                 }
    2032            9 :                 tree _r;
    2033            9 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2034            9 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 543, __FILE__, __LINE__, true);
    2035            9 :                 return _r;
    2036              :               }
    2037              : next_after_fail656:;
    2038              :             }
    2039              :       }
    2040              :     }
    2041              :   return NULL_TREE;
    2042              : }
    2043              : 
    2044              : tree
    2045          556 : generic_simplify_394 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2046              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2047              :  const enum tree_code ARG_UNUSED (cmp))
    2048              : {
    2049          556 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2050          556 :   if (wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    2051              : )
    2052              :     {
    2053          556 :       {
    2054          556 :  wi::overflow_type ovf;
    2055          556 :  wide_int prod = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[1]),
    2056         1112 :  TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
    2057          556 :           if (ovf
    2058              : )
    2059              :             {
    2060            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail678;
    2061            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail678;
    2062            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail678;
    2063            0 :               {
    2064            0 :                 tree _r;
    2065            0 :                 _r =  constant_boolean_node (wi::lt_p (wi::to_wide (captures[2]), 0,
    2066            0 :  TYPE_SIGN (TREE_TYPE (captures[2])))
    2067            0 :  != (cmp == LT_EXPR || cmp == LE_EXPR), type);
    2068            0 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    2069            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2070            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 565, __FILE__, __LINE__, true);
    2071            0 :                 return _r;
    2072              :               }
    2073            0 : next_after_fail678:;
    2074              :             }
    2075              :           else
    2076              :             {
    2077          556 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail679;
    2078          556 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail679;
    2079          556 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail679;
    2080          556 :               {
    2081          556 :                 tree res_op0;
    2082          556 :                 res_op0 = captures[0];
    2083          556 :                 tree res_op1;
    2084          556 :                 res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
    2085          556 :                 tree _r;
    2086          556 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2087          556 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 566, __FILE__, __LINE__, true);
    2088          556 :                 return _r;
    2089              :               }
    2090            0 : next_after_fail679:;
    2091              :             }
    2092          556 :       }
    2093              :     }
    2094              :   return NULL_TREE;
    2095              : }
    2096              : 
    2097              : tree
    2098     20474737 : generic_simplify_409 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2099              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2100              :  const enum tree_code ARG_UNUSED (cmp),
    2101              :  const enum tree_code ARG_UNUSED (acmp))
    2102              : {
    2103     20474737 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2104     20474737 :   {
    2105     20474737 :  tree cst = uniform_integer_cst_p (captures[1]);
    2106     20474737 :       if (tree_int_cst_sgn (cst) == -1
    2107              : )
    2108              :         {
    2109       177571 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail732;
    2110       177571 :           {
    2111       177571 :             tree res_op0;
    2112       177571 :             res_op0 = captures[0];
    2113       177571 :             tree res_op1;
    2114       177571 :             res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
    2115       177571 :  wide_int_to_tree (TREE_TYPE (cst),
    2116       177571 :  wi::to_wide (cst)
    2117       355142 :  + 1));
    2118       177571 :             tree _r;
    2119       177571 :             _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
    2120       177571 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2121            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2122       177571 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 602, __FILE__, __LINE__, true);
    2123       177571 :             return _r;
    2124              :           }
    2125            0 : next_after_fail732:;
    2126              :         }
    2127              :   }
    2128              :   return NULL_TREE;
    2129              : }
    2130              : 
    2131              : tree
    2132            0 : generic_simplify_412 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2133              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2134              :  const enum tree_code ARG_UNUSED (cmp),
    2135              :  const enum tree_code ARG_UNUSED (out))
    2136              : {
    2137            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2138            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2139            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2140              : )
    2141              :     {
    2142            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail735;
    2143            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail735;
    2144            0 :       {
    2145            0 :         tree res_op0;
    2146            0 :         {
    2147            0 :           tree _o1[1], _r1;
    2148            0 :           _o1[0] = captures[0];
    2149            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2150            0 :           res_op0 = _r1;
    2151              :         }
    2152            0 :         tree res_op1;
    2153            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2154            0 :         tree _r;
    2155            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2156            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 587, __FILE__, __LINE__, true);
    2157            0 :         return _r;
    2158              :       }
    2159              : next_after_fail735:;
    2160              :     }
    2161              :   return NULL_TREE;
    2162              : }
    2163              : 
    2164              : tree
    2165            1 : generic_simplify_417 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2166              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2167              :  const combined_fn ARG_UNUSED (logs),
    2168              :  const combined_fn ARG_UNUSED (exps),
    2169              :  const enum tree_code ARG_UNUSED (cmp))
    2170              : {
    2171            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2172            1 :   if (flag_unsafe_math_optimizations
    2173              : )
    2174              :     {
    2175            1 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2176            1 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    2177            1 :  && ! flag_trapping_math
    2178            2 :  && ! flag_errno_math
    2179              : )
    2180              :         {
    2181            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail740;
    2182            1 :           {
    2183            1 :             tree res_op0;
    2184            1 :             res_op0 = captures[1];
    2185            1 :             tree res_op1;
    2186            1 :             {
    2187            1 :               tree _o1[1], _r1;
    2188            1 :               _o1[0] = captures[2];
    2189            1 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2190            1 :               if (!_r1)
    2191            0 :                 goto next_after_fail740;
    2192            1 :               if (EXPR_P (_r1))
    2193            1 :                 goto next_after_fail740;
    2194            0 :               res_op1 = _r1;
    2195              :             }
    2196            0 :             tree _r;
    2197            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2198            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 606, __FILE__, __LINE__, true);
    2199            0 :             return _r;
    2200              :           }
    2201              : next_after_fail740:;
    2202              :         }
    2203              :     }
    2204              :   return NULL_TREE;
    2205              : }
    2206              : 
    2207              : tree
    2208          330 : generic_simplify_424 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2209              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2210              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2211              : {
    2212          330 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2213          330 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail751;
    2214          330 :   {
    2215          330 :     tree _r;
    2216          330 :     _r = captures[0];
    2217          330 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2218           42 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2219          330 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 617, __FILE__, __LINE__, true);
    2220              :     return _r;
    2221              :   }
    2222            0 : next_after_fail751:;
    2223            0 :   return NULL_TREE;
    2224              : }
    2225              : 
    2226              : tree
    2227        28045 : generic_simplify_429 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2228              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2229              :  const enum tree_code ARG_UNUSED (bit_op),
    2230              :  const enum tree_code ARG_UNUSED (shift))
    2231              : {
    2232        28045 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2233        28045 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
    2234              : )
    2235              :     {
    2236        28045 :       {
    2237        28045 :  tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
    2238        28045 :           if (mask
    2239              : )
    2240              :             {
    2241        28038 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail759;
    2242        28038 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail759;
    2243        28038 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail759;
    2244        28038 :               {
    2245        28038 :                 tree res_op0;
    2246        28038 :                 {
    2247        28038 :                   tree _o1[2], _r1;
    2248        28038 :                   {
    2249        28038 :                     tree _o2[1], _r2;
    2250        28038 :                     _o2[0] = captures[2];
    2251        28038 :                     if (TREE_TYPE (_o2[0]) != type)
    2252              :                       {
    2253           70 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    2254              :                       }
    2255              :                     else
    2256              :                       _r2 = _o2[0];
    2257        28038 :                     _o1[0] = _r2;
    2258              :                   }
    2259        28038 :                   _o1[1] = captures[4];
    2260        28038 :                   _r1 = fold_build2_loc (loc, shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2261        28038 :                   res_op0 = _r1;
    2262              :                 }
    2263        28038 :                 tree res_op1;
    2264        28038 :                 res_op1 =  mask;
    2265        28038 :                 tree _r;
    2266        28038 :                 _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2267        28038 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 623, __FILE__, __LINE__, true);
    2268        28038 :                 return _r;
    2269              :               }
    2270              : next_after_fail759:;
    2271              :             }
    2272              :       }
    2273              :     }
    2274              :   return NULL_TREE;
    2275              : }
    2276              : 
    2277              : tree
    2278           94 : generic_simplify_435 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2279              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2280              :  const enum tree_code ARG_UNUSED (minmax))
    2281              : {
    2282           94 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2283           94 :   if (INTEGRAL_TYPE_P (type)
    2284           94 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2285           94 :  && types_match (type, TREE_TYPE (captures[1]))
    2286            8 :  && types_match (type, TREE_TYPE (captures[3]))
    2287            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    2288            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type)
    2289           94 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (type)
    2290              : )
    2291              :     {
    2292            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail771;
    2293            0 :       {
    2294            0 :         tree res_op0;
    2295            0 :         res_op0 = captures[1];
    2296            0 :         tree res_op1;
    2297            0 :         res_op1 = captures[3];
    2298            0 :         tree _r;
    2299            0 :         _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    2300            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 635, __FILE__, __LINE__, true);
    2301            0 :         return _r;
    2302              :       }
    2303            0 : next_after_fail771:;
    2304              :     }
    2305              :   return NULL_TREE;
    2306              : }
    2307              : 
    2308              : tree
    2309      9091983 : generic_simplify_438 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2310              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2311              :  const enum tree_code ARG_UNUSED (op))
    2312              : {
    2313      9091983 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2314      9091983 :   if (INTEGRAL_TYPE_P (type)
    2315      8217587 :  && op != MULT_EXPR
    2316      8217587 :  && op != RDIV_EXPR
    2317      4069646 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2318      3653666 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2319      3653666 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2320      3599676 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2321      3599668 :  && type_has_mode_precision_p (type)
    2322      3591084 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2323      1249904 :  && types_match (captures[2], type)
    2324      9105361 :  && (types_match (captures[2], captures[4])
    2325        13378 :  || poly_int_tree_p (captures[3]))
    2326              : )
    2327              :     {
    2328        10622 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2329              : )
    2330              :         {
    2331         6004 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail777;
    2332         6004 :           {
    2333         6004 :             tree res_op0;
    2334         6004 :             res_op0 = captures[2];
    2335         6004 :             tree res_op1;
    2336         6004 :             {
    2337         6004 :               tree _o1[1], _r1;
    2338         6004 :               _o1[0] = captures[4];
    2339         6004 :               if (TREE_TYPE (_o1[0]) != type)
    2340              :                 {
    2341         6004 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2342              :                 }
    2343              :               else
    2344              :                 _r1 = _o1[0];
    2345         6004 :               res_op1 = _r1;
    2346              :             }
    2347         6004 :             tree _r;
    2348         6004 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2349         6004 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 637, __FILE__, __LINE__, true);
    2350         6004 :             return _r;
    2351              :           }
    2352            0 : next_after_fail777:;
    2353              :         }
    2354              :       else
    2355              :         {
    2356         4618 :           {
    2357         4618 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2358         4618 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail778;
    2359         4618 :               {
    2360         4618 :                 tree res_op0;
    2361         4618 :                 {
    2362         4618 :                   tree _o1[2], _r1;
    2363         4618 :                   {
    2364         4618 :                     tree _o2[1], _r2;
    2365         4618 :                     _o2[0] = captures[2];
    2366         4618 :                     if (TREE_TYPE (_o2[0]) != utype)
    2367              :                       {
    2368         4618 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2369              :                       }
    2370              :                     else
    2371              :                       _r2 = _o2[0];
    2372         4618 :                     _o1[0] = _r2;
    2373              :                   }
    2374         4618 :                   {
    2375         4618 :                     tree _o2[1], _r2;
    2376         4618 :                     _o2[0] = captures[4];
    2377         4618 :                     if (TREE_TYPE (_o2[0]) != utype)
    2378              :                       {
    2379         4618 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2380              :                       }
    2381              :                     else
    2382              :                       _r2 = _o2[0];
    2383         4618 :                     _o1[1] = _r2;
    2384              :                   }
    2385         4618 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2386         4618 :                   res_op0 = _r1;
    2387              :                 }
    2388         4618 :                 tree _r;
    2389         4618 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2390         4618 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 638, __FILE__, __LINE__, true);
    2391         4618 :                 return _r;
    2392              :               }
    2393            0 : next_after_fail778:;
    2394              :           }
    2395              :         }
    2396              :     }
    2397              :   else
    2398              :     {
    2399      9046607 :       if (FLOAT_TYPE_P (type)
    2400      9116115 :  && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    2401        34754 :  == DECIMAL_FLOAT_TYPE_P (type)
    2402              : )
    2403              :         {
    2404        34728 :           {
    2405        34728 :  tree arg0 = strip_float_extensions (captures[2]);
    2406        34728 :  tree arg1 = strip_float_extensions (captures[4]);
    2407        34728 :  tree itype = TREE_TYPE (captures[0]);
    2408        34728 :  tree ty1 = TREE_TYPE (arg0);
    2409        34728 :  tree ty2 = TREE_TYPE (arg1);
    2410        34728 :  enum tree_code code = TREE_CODE (itype);
    2411            0 :               if (FLOAT_TYPE_P (ty1)
    2412        34728 :  && FLOAT_TYPE_P (ty2)
    2413              : )
    2414              :                 {
    2415        34728 :                   {
    2416        34728 :  tree newtype = type;
    2417        34728 :  if (TYPE_MODE (ty1) == SDmode
    2418        34466 :  || TYPE_MODE (ty2) == SDmode
    2419        69194 :  || TYPE_MODE (type) == SDmode)
    2420          262 :  newtype = dfloat32_type_node;
    2421        34728 :  if (TYPE_MODE (ty1) == DDmode
    2422        34596 :  || TYPE_MODE (ty2) == DDmode
    2423        69197 :  || TYPE_MODE (type) == DDmode)
    2424          259 :  newtype = dfloat64_type_node;
    2425        34728 :  if (TYPE_MODE (ty1) == TDmode
    2426        34728 :  || TYPE_MODE (ty2) == TDmode
    2427        69204 :  || TYPE_MODE (type) == TDmode)
    2428          267 :  newtype = dfloat128_type_node;
    2429        34728 :                       if ((newtype == dfloat32_type_node
    2430        34728 :  || newtype == dfloat64_type_node
    2431        34601 :  || newtype == dfloat128_type_node)
    2432          394 :  && newtype == type
    2433        34734 :  && types_match (newtype, type)
    2434              : )
    2435              :                         {
    2436            6 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail779;
    2437            0 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail779;
    2438            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail779;
    2439            0 :                           {
    2440            0 :                             tree res_op0;
    2441            0 :                             {
    2442            0 :                               tree _o1[1], _r1;
    2443            0 :                               _o1[0] = captures[2];
    2444            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2445              :                                 {
    2446            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2447              :                                 }
    2448              :                               else
    2449              :                                 _r1 = _o1[0];
    2450            0 :                               res_op0 = _r1;
    2451              :                             }
    2452            0 :                             tree res_op1;
    2453            0 :                             {
    2454            0 :                               tree _o1[1], _r1;
    2455            0 :                               _o1[0] = captures[4];
    2456            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2457              :                                 {
    2458            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2459              :                                 }
    2460              :                               else
    2461              :                                 _r1 = _o1[0];
    2462            0 :                               res_op1 = _r1;
    2463              :                             }
    2464            0 :                             tree _r;
    2465            0 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2466            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 639, __FILE__, __LINE__, true);
    2467            0 :                             return _r;
    2468              :                           }
    2469              : next_after_fail779:;
    2470              :                         }
    2471              :                       else
    2472              :                         {
    2473        34722 :                           {
    2474        34722 :  if (element_precision (ty1) > element_precision (newtype))
    2475           14 :  newtype = ty1;
    2476        34722 :  if (element_precision (ty2) > element_precision (newtype))
    2477         4617 :  newtype = ty2;
    2478        34722 :                               if (element_precision (newtype) < element_precision (itype)
    2479        17337 :  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
    2480            0 :  || target_supports_op_p (newtype, op, optab_default))
    2481        17337 :  && (flag_unsafe_math_optimizations
    2482        17312 :  || (element_precision (newtype) == element_precision (type)
    2483        17288 :  && real_can_shorten_arithmetic (element_mode (itype),
    2484              :  element_mode (type))
    2485         7657 :  && !excess_precision_type (newtype)))
    2486        37993 :  && !types_match (itype, newtype)
    2487              : )
    2488              :                                 {
    2489         3271 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail780;
    2490         3270 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail780;
    2491         3262 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail780;
    2492         3262 :                                   {
    2493         3262 :                                     tree res_op0;
    2494         3262 :                                     {
    2495         3262 :                                       tree _o1[2], _r1;
    2496         3262 :                                       {
    2497         3262 :                                         tree _o2[1], _r2;
    2498         3262 :                                         _o2[0] = captures[2];
    2499         3262 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2500              :                                           {
    2501            3 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2502              :                                           }
    2503              :                                         else
    2504              :                                           _r2 = _o2[0];
    2505         3262 :                                         _o1[0] = _r2;
    2506              :                                       }
    2507         3262 :                                       {
    2508         3262 :                                         tree _o2[1], _r2;
    2509         3262 :                                         _o2[0] = captures[4];
    2510         3262 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2511              :                                           {
    2512         3262 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2513              :                                           }
    2514              :                                         else
    2515              :                                           _r2 = _o2[0];
    2516         3262 :                                         _o1[1] = _r2;
    2517              :                                       }
    2518         3262 :                                       _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2519         3262 :                                       res_op0 = _r1;
    2520              :                                     }
    2521         3262 :                                     tree _r;
    2522         3262 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2523         3262 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 640, __FILE__, __LINE__, true);
    2524         3262 :                                     return _r;
    2525              :                                   }
    2526              : next_after_fail780:;
    2527              :                                 }
    2528              :                           }
    2529              :                         }
    2530              :                   }
    2531              :                 }
    2532              :           }
    2533              :         }
    2534              :     }
    2535              :   return NULL_TREE;
    2536              : }
    2537              : 
    2538              : tree
    2539         1667 : generic_simplify_470 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2540              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2541              : {
    2542         1667 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2543         1667 :   {
    2544         1667 :  bool wascmp;
    2545         1667 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
    2546         1667 :  || bitwise_inverted_equal_p (captures[1], captures[2], wascmp)
    2547              : )
    2548              :         {
    2549            8 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail818;
    2550            8 :           {
    2551            8 :             tree _r;
    2552            8 :             _r =  wascmp ? constant_boolean_node (false, type) : build_zero_cst (type);
    2553            8 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2554            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2555            8 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2556            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2557            8 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2558            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2559            8 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 669, __FILE__, __LINE__, true);
    2560            8 :             return _r;
    2561              :           }
    2562            0 : next_after_fail818:;
    2563              :         }
    2564              :   }
    2565         1659 :   return NULL_TREE;
    2566              : }
    2567              : 
    2568              : tree
    2569            0 : generic_simplify_481 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2570              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2571              : {
    2572            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2573            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail850;
    2574            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail850;
    2575            0 :   {
    2576            0 :     tree _r;
    2577            0 :     _r = captures[2];
    2578            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2579            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2580            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 691, __FILE__, __LINE__, true);
    2581              :     return _r;
    2582              :   }
    2583              : next_after_fail850:;
    2584              :   return NULL_TREE;
    2585              : }
    2586              : 
    2587              : tree
    2588          214 : generic_simplify_485 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2589              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2590              :  const enum tree_code ARG_UNUSED (code2),
    2591              :  const enum tree_code ARG_UNUSED (code1))
    2592              : {
    2593          214 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2594          214 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2595            6 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2596          214 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2597            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2598            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2599            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2600          208 :  && bitwise_equal_p (captures[2], captures[5]))
    2601              : )
    2602              :     {
    2603            6 :       {
    2604            6 :  bool one_before = false;
    2605            6 :  bool one_after = false;
    2606            6 :  int cmp = 0;
    2607            6 :  bool allbits = true;
    2608            6 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2609            6 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2610              :  {
    2611            6 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
    2612            6 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
    2613            6 :  auto t2 = wi::to_wide (captures[5]);
    2614            6 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
    2615            6 :  if (cmp < 0
    2616            6 :  && t1 == t2 - 1)
    2617              :  one_before = true;
    2618            6 :  if (cmp > 0
    2619            6 :  && t1 == t2 + 1)
    2620              :  one_after = true;
    2621              :  }
    2622            6 :  bool val;
    2623            6 :  switch (code2)
    2624              :  {
    2625            0 :  case EQ_EXPR: val = (cmp == 0); break;
    2626            2 :  case NE_EXPR: val = (cmp != 0); break;
    2627            0 :  case LT_EXPR: val = (cmp < 0); break;
    2628            4 :  case GT_EXPR: val = (cmp > 0); break;
    2629            0 :  case LE_EXPR: val = (cmp <= 0); break;
    2630            0 :  case GE_EXPR: val = (cmp >= 0); break;
    2631            0 :  default: gcc_unreachable ();
    2632              :  }
    2633            6 :           if (code1 == EQ_EXPR && val
    2634              : )
    2635              :             {
    2636            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail861;
    2637            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail861;
    2638            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail861;
    2639            0 :               {
    2640            0 :                 tree _r;
    2641            0 :                 _r = captures[0];
    2642            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
    2643            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2644            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 677, __FILE__, __LINE__, true);
    2645            0 :                 return _r;
    2646              :               }
    2647              : next_after_fail861:;
    2648              :             }
    2649              :           else
    2650              :             {
    2651            6 :               if (code1 == EQ_EXPR && !val
    2652              : )
    2653              :                 {
    2654            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail862;
    2655            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail862;
    2656            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail862;
    2657            0 :                   {
    2658            0 :                     tree _r;
    2659            0 :                     _r =  constant_boolean_node (false, type);
    2660            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
    2661            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2662            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 678, __FILE__, __LINE__, true);
    2663            0 :                     return _r;
    2664              :                   }
    2665              : next_after_fail862:;
    2666              :                 }
    2667              :               else
    2668              :                 {
    2669            6 :                   if (code1 == NE_EXPR && !val && allbits
    2670              : )
    2671              :                     {
    2672            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail863;
    2673            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail863;
    2674            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail863;
    2675            0 :                       {
    2676            0 :                         tree _r;
    2677            0 :                         _r = captures[3];
    2678            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 679, __FILE__, __LINE__, true);
    2679            0 :                         return _r;
    2680              :                       }
    2681              : next_after_fail863:;
    2682              :                     }
    2683              :                   else
    2684              :                     {
    2685            6 :                       if ((code1 == NE_EXPR
    2686            6 :  && code2 == GE_EXPR
    2687            0 :  && cmp == 0
    2688            0 :  && allbits)
    2689            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2690            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2691            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2692              : )
    2693              :                         {
    2694            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail864;
    2695            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail864;
    2696            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail864;
    2697            0 :                           {
    2698            0 :                             tree res_op0;
    2699            0 :                             res_op0 = captures[4];
    2700            0 :                             tree res_op1;
    2701            0 :                             {
    2702            0 :                               tree _o1[1], _r1;
    2703            0 :                               _o1[0] = captures[2];
    2704            0 :                               if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2705              :                                 {
    2706            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2707              :                                 }
    2708              :                               else
    2709              :                                 _r1 = _o1[0];
    2710            0 :                               res_op1 = _r1;
    2711              :                             }
    2712            0 :                             tree _r;
    2713            0 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2714            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 680, __FILE__, __LINE__, true);
    2715            0 :                             return _r;
    2716              :                           }
    2717              : next_after_fail864:;
    2718              :                         }
    2719              :                       else
    2720              :                         {
    2721            6 :                           if ((code1 == NE_EXPR
    2722            6 :  && code2 == LE_EXPR
    2723            0 :  && cmp == 0
    2724            0 :  && allbits)
    2725            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2726            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2727            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2728              : )
    2729              :                             {
    2730            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail865;
    2731            0 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail865;
    2732            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail865;
    2733            0 :                               {
    2734            0 :                                 tree res_op0;
    2735            0 :                                 res_op0 = captures[4];
    2736            0 :                                 tree res_op1;
    2737            0 :                                 {
    2738            0 :                                   tree _o1[1], _r1;
    2739            0 :                                   _o1[0] = captures[2];
    2740            0 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2741              :                                     {
    2742            0 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2743              :                                     }
    2744              :                                   else
    2745              :                                     _r1 = _o1[0];
    2746            0 :                                   res_op1 = _r1;
    2747              :                                 }
    2748            0 :                                 tree _r;
    2749            0 :                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2750            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 681, __FILE__, __LINE__, true);
    2751            0 :                                 return _r;
    2752              :                               }
    2753              : next_after_fail865:;
    2754              :                             }
    2755              :                           else
    2756              :                             {
    2757            6 :                               if ((code1 == NE_EXPR
    2758            6 :  && code2 == GT_EXPR
    2759              :  && one_after
    2760            4 :  && allbits)
    2761            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2762            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2763            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2764              : )
    2765              :                                 {
    2766            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail866;
    2767            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail866;
    2768            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail866;
    2769            0 :                                   {
    2770            0 :                                     tree res_op0;
    2771            0 :                                     res_op0 = captures[4];
    2772            0 :                                     tree res_op1;
    2773            0 :                                     {
    2774            0 :                                       tree _o1[1], _r1;
    2775            0 :                                       _o1[0] = captures[2];
    2776            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2777              :                                         {
    2778            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2779              :                                         }
    2780              :                                       else
    2781              :                                         _r1 = _o1[0];
    2782            0 :                                       res_op1 = _r1;
    2783              :                                     }
    2784            0 :                                     tree _r;
    2785            0 :                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2786            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 682, __FILE__, __LINE__, true);
    2787            0 :                                     return _r;
    2788              :                                   }
    2789              : next_after_fail866:;
    2790              :                                 }
    2791              :                               else
    2792              :                                 {
    2793            6 :                                   if ((code1 == NE_EXPR
    2794            6 :  && code2 == LT_EXPR
    2795              :  && one_before
    2796            0 :  && allbits)
    2797            6 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2798            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2799            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2800              : )
    2801              :                                     {
    2802            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail867;
    2803            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail867;
    2804            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail867;
    2805            0 :                                       {
    2806            0 :                                         tree res_op0;
    2807            0 :                                         res_op0 = captures[4];
    2808            0 :                                         tree res_op1;
    2809            0 :                                         {
    2810            0 :                                           tree _o1[1], _r1;
    2811            0 :                                           _o1[0] = captures[2];
    2812            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2813              :                                             {
    2814            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2815              :                                             }
    2816              :                                           else
    2817              :                                             _r1 = _o1[0];
    2818            0 :                                           res_op1 = _r1;
    2819              :                                         }
    2820            0 :                                         tree _r;
    2821            0 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2822            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 683, __FILE__, __LINE__, true);
    2823            0 :                                         return _r;
    2824              :                                       }
    2825              : next_after_fail867:;
    2826              :                                     }
    2827              :                                 }
    2828              :                             }
    2829              :                         }
    2830              :                     }
    2831              :                 }
    2832              :             }
    2833              :       }
    2834              :     }
    2835              :   return NULL_TREE;
    2836              : }
    2837              : 
    2838              : tree
    2839          147 : generic_simplify_518 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2840              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2841              : {
    2842          147 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2843          147 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail911;
    2844          147 :   {
    2845          147 :     tree res_op0;
    2846          147 :     {
    2847          147 :       tree _o1[1], _r1;
    2848          147 :       _o1[0] = captures[0];
    2849          147 :       if (TREE_TYPE (_o1[0]) != type)
    2850              :         {
    2851            0 :           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    2852              :         }
    2853              :       else
    2854              :         _r1 = _o1[0];
    2855          147 :       res_op0 = _r1;
    2856              :     }
    2857          147 :     tree res_op1;
    2858          147 :     res_op1 =  build_each_one_cst (type);
    2859          147 :     tree _r;
    2860          147 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    2861          147 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 721, __FILE__, __LINE__, true);
    2862              :     return _r;
    2863              :   }
    2864            0 : next_after_fail911:;
    2865            0 :   return NULL_TREE;
    2866              : }
    2867              : 
    2868              : tree
    2869            0 : generic_simplify_525 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2870              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2871              :  const enum tree_code ARG_UNUSED (minmax))
    2872              : {
    2873            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2874            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail919;
    2875            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail919;
    2876            0 :   {
    2877            0 :     tree _r;
    2878            0 :     _r = captures[0];
    2879            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 729, __FILE__, __LINE__, true);
    2880              :     return _r;
    2881              :   }
    2882              : next_after_fail919:;
    2883              :   return NULL_TREE;
    2884              : }
    2885              : 
    2886              : tree
    2887            0 : generic_simplify_532 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2888              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2889              :  const enum tree_code ARG_UNUSED (minmax))
    2890              : {
    2891            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2892            0 :   if (TYPE_UNSIGNED(type)
    2893              : )
    2894              :     {
    2895            0 :       if (minmax == MIN_EXPR
    2896              : )
    2897              :         {
    2898            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail927;
    2899            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail927;
    2900            0 :           {
    2901            0 :             tree _r;
    2902            0 :             _r = captures[1];
    2903            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 736, __FILE__, __LINE__, true);
    2904            0 :             return _r;
    2905              :           }
    2906              : next_after_fail927:;
    2907              :         }
    2908              :       else
    2909              :         {
    2910            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail928;
    2911            0 :           {
    2912            0 :             tree _r;
    2913            0 :             _r = captures[0];
    2914            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2915            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2916            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 737, __FILE__, __LINE__, true);
    2917            0 :             return _r;
    2918              :           }
    2919            0 : next_after_fail928:;
    2920              :         }
    2921              :     }
    2922              :   return NULL_TREE;
    2923              : }
    2924              : 
    2925              : tree
    2926            2 : generic_simplify_540 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2927              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2928              : {
    2929            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2930            2 :   if (TREE_CODE (type) != COMPLEX_TYPE
    2931            2 :  && (! ANY_INTEGRAL_TYPE_P (type)
    2932            1 :  || TYPE_OVERFLOW_UNDEFINED (type))
    2933              : )
    2934              :     {
    2935            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail948;
    2936            2 :       {
    2937            2 :         tree res_op0;
    2938            2 :         res_op0 = captures[0];
    2939            2 :         tree _r;
    2940            2 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    2941            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 745, __FILE__, __LINE__, true);
    2942            2 :         return _r;
    2943              :       }
    2944            0 : next_after_fail948:;
    2945              :     }
    2946              :   return NULL_TREE;
    2947              : }
    2948              : 
    2949              : tree
    2950           12 : generic_simplify_547 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2951              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2952              :  const enum tree_code ARG_UNUSED (op))
    2953              : {
    2954           12 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2955           12 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail955;
    2956           12 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail955;
    2957           12 :   {
    2958           12 :     tree _r;
    2959           12 :     _r = captures[2];
    2960           12 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 534, __FILE__, __LINE__, true);
    2961              :     return _r;
    2962              :   }
    2963              : next_after_fail955:;
    2964              :   return NULL_TREE;
    2965              : }
    2966              : 
    2967              : tree
    2968            0 : generic_simplify_553 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2969              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2970              :  const combined_fn ARG_UNUSED (cond_op))
    2971              : {
    2972            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2973            0 :   {
    2974            0 :  tree op_type = TREE_TYPE (captures[6]);
    2975            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2976            0 :  && element_precision (type) == element_precision (op_type)
    2977              : )
    2978              :         {
    2979            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail961;
    2980            0 :           {
    2981            0 :             tree res_op0;
    2982            0 :             {
    2983            0 :               tree _o1[5], _r1;
    2984            0 :               _o1[0] = captures[2];
    2985            0 :               _o1[1] = captures[3];
    2986            0 :               _o1[2] = captures[4];
    2987            0 :               _o1[3] = captures[5];
    2988            0 :               {
    2989            0 :                 tree _o2[1], _r2;
    2990            0 :                 _o2[0] = captures[1];
    2991            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2992              :                   {
    2993            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2994              :                   }
    2995              :                 else
    2996              :                   _r2 = _o2[0];
    2997            0 :                 _o1[4] = _r2;
    2998              :               }
    2999            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]);
    3000            0 :               if (!_r1)
    3001            0 :                 goto next_after_fail961;
    3002            0 :               res_op0 = _r1;
    3003              :             }
    3004            0 :             tree _r;
    3005            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3006            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3007            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3008            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
    3009            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
    3010            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 753, __FILE__, __LINE__, true);
    3011            0 :             return _r;
    3012              :           }
    3013              : next_after_fail961:;
    3014              :         }
    3015              :   }
    3016              :   return NULL_TREE;
    3017              : }
    3018              : 
    3019              : tree
    3020            0 : generic_simplify_566 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3021              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3022              :  const enum tree_code ARG_UNUSED (bitop),
    3023              :  const combined_fn ARG_UNUSED (bswap))
    3024              : {
    3025            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3026            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail977;
    3027            0 :   {
    3028            0 :     tree res_op0;
    3029            0 :     res_op0 = captures[0];
    3030            0 :     tree res_op1;
    3031            0 :     {
    3032            0 :       tree _o1[1], _r1;
    3033            0 :       _o1[0] = captures[1];
    3034            0 :       _r1 = maybe_build_call_expr_loc (loc, bswap, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3035            0 :       if (!_r1)
    3036            0 :         goto next_after_fail977;
    3037            0 :       res_op1 = _r1;
    3038              :     }
    3039            0 :     tree _r;
    3040            0 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    3041            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 769, __FILE__, __LINE__, true);
    3042              :     return _r;
    3043              :   }
    3044              : next_after_fail977:;
    3045              :   return NULL_TREE;
    3046              : }
    3047              : 
    3048              : tree
    3049            0 : generic_simplify_575 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3050              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3051              :  const combined_fn ARG_UNUSED (tans),
    3052              :  const combined_fn ARG_UNUSED (atans))
    3053              : {
    3054            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3055            0 :   if (flag_unsafe_math_optimizations
    3056              : )
    3057              :     {
    3058            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail986;
    3059            0 :       {
    3060            0 :         tree _r;
    3061            0 :         _r = captures[0];
    3062            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 778, __FILE__, __LINE__, true);
    3063            0 :         return _r;
    3064              :       }
    3065            0 : next_after_fail986:;
    3066              :     }
    3067              :   return NULL_TREE;
    3068              : }
    3069              : 
    3070              : tree
    3071            0 : generic_simplify_580 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3072              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3073              :  const combined_fn ARG_UNUSED (froms),
    3074              :  const combined_fn ARG_UNUSED (tos))
    3075              : {
    3076            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3077            0 :   if (optimize && canonicalize_math_p ()
    3078            0 :  && targetm.libc_has_function (function_c99_misc, NULL_TREE)
    3079              : )
    3080              :     {
    3081            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail991;
    3082            0 :       {
    3083            0 :         tree res_op0;
    3084            0 :         {
    3085            0 :           tree _o1[1], _r1;
    3086            0 :           _o1[0] = captures[0];
    3087            0 :           _r1 = maybe_build_call_expr_loc (loc, tos, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3088            0 :           if (!_r1)
    3089            0 :             goto next_after_fail991;
    3090            0 :           res_op0 = _r1;
    3091              :         }
    3092            0 :         tree _r;
    3093            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3094            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 783, __FILE__, __LINE__, true);
    3095            0 :         return _r;
    3096              :       }
    3097              : next_after_fail991:;
    3098              :     }
    3099              :   return NULL_TREE;
    3100              : }
    3101              : 
    3102              : tree
    3103            0 : generic_simplify_587 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3104              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3105              :  const combined_fn ARG_UNUSED (floors))
    3106              : {
    3107            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3108            0 :   if (canonicalize_math_p ()
    3109              : )
    3110              :     {
    3111            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail998;
    3112            0 :       {
    3113            0 :         tree res_op0;
    3114            0 :         res_op0 = captures[0];
    3115            0 :         tree _r;
    3116            0 :         _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3117            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 790, __FILE__, __LINE__, true);
    3118            0 :         return _r;
    3119              :       }
    3120            0 : next_after_fail998:;
    3121              :     }
    3122              :   return NULL_TREE;
    3123              : }
    3124              : 
    3125              : tree
    3126            0 : generic_simplify_595 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3127              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3128              :  const combined_fn ARG_UNUSED (fmas))
    3129              : {
    3130            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3131            0 :   if (canonicalize_math_after_vectorization_p ()
    3132              : )
    3133              :     {
    3134              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1006;
    3135              :       {
    3136              :         tree res_op0;
    3137              :         res_op0 = captures[0];
    3138              :         tree res_op1;
    3139              :         res_op1 = captures[1];
    3140              :         tree res_op2;
    3141              :         res_op2 = captures[2];
    3142              :         tree _r;
    3143              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
    3144              :         if (!_r)
    3145              :           goto next_after_fail1006;
    3146              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 798, __FILE__, __LINE__, true);
    3147              :         return _r;
    3148              :       }
    3149            0 : next_after_fail1006:;
    3150              :     }
    3151            0 :   return NULL_TREE;
    3152              : }
    3153              : 
    3154              : tree
    3155            0 : generic_simplify_605 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3156              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures),
    3157              :  const combined_fn ARG_UNUSED (fmas))
    3158              : {
    3159            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3160            0 :   if (canonicalize_math_after_vectorization_p ()
    3161              : )
    3162              :     {
    3163              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1016;
    3164              :       {
    3165              :         tree res_op0;
    3166              :         res_op0 = captures[0];
    3167              :         tree res_op1;
    3168              :         res_op1 = captures[1];
    3169              :         tree res_op2;
    3170              :         res_op2 = captures[2];
    3171              :         tree res_op3;
    3172              :         res_op3 = captures[3];
    3173              :         tree res_op4;
    3174              :         res_op4 = captures[4];
    3175              :         tree _r;
    3176              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3177              :         if (!_r)
    3178              :           goto next_after_fail1016;
    3179              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 808, __FILE__, __LINE__, true);
    3180              :         return _r;
    3181              :       }
    3182            0 : next_after_fail1016:;
    3183              :     }
    3184            0 :   return NULL_TREE;
    3185              : }
    3186              : 
    3187              : tree
    3188            0 : generic_simplify_615 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3189              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3190              :  const combined_fn ARG_UNUSED (ctz))
    3191              : {
    3192            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3193            0 :   {
    3194            0 :  tree t = TREE_TYPE (captures[0]);
    3195            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1026;
    3196            0 :       {
    3197            0 :         tree res_op0;
    3198            0 :         {
    3199            0 :           tree _o1[1], _r1;
    3200            0 :           _o1[0] = captures[1];
    3201            0 :           if (TREE_TYPE (_o1[0]) != t)
    3202              :             {
    3203            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3204              :             }
    3205              :           else
    3206              :             _r1 = _o1[0];
    3207            0 :           res_op0 = _r1;
    3208              :         }
    3209            0 :         tree _r;
    3210            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3211            0 :         if (!_r)
    3212            0 :           goto next_after_fail1026;
    3213            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 815, __FILE__, __LINE__, true);
    3214              :         return _r;
    3215              :       }
    3216              : next_after_fail1026:;
    3217              :   }
    3218              :   return NULL_TREE;
    3219              : }
    3220              : 
    3221              : tree
    3222            0 : generic_simplify_625 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3223              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3224              :  const combined_fn ARG_UNUSED (bswap),
    3225              :  const combined_fn ARG_UNUSED (parity))
    3226              : {
    3227            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3228            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3229            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3230            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3231            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3232              : )
    3233              :     {
    3234            0 :       {
    3235            0 :  tree type0 = TREE_TYPE (captures[0]);
    3236            0 :  tree type1 = TREE_TYPE (captures[1]);
    3237            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1037;
    3238            0 :           {
    3239            0 :             tree res_op0;
    3240            0 :             {
    3241            0 :               tree _o1[1], _r1;
    3242            0 :               {
    3243            0 :                 tree _o2[1], _r2;
    3244            0 :                 _o2[0] = captures[2];
    3245            0 :                 if (TREE_TYPE (_o2[0]) != type1)
    3246              :                   {
    3247            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3248              :                   }
    3249              :                 else
    3250              :                   _r2 = _o2[0];
    3251            0 :                 _o1[0] = _r2;
    3252              :               }
    3253            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3254              :                 {
    3255            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3256              :                 }
    3257              :               else
    3258              :                 _r1 = _o1[0];
    3259            0 :               res_op0 = _r1;
    3260              :             }
    3261            0 :             tree _r;
    3262            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3263            0 :             if (!_r)
    3264            0 :               goto next_after_fail1037;
    3265            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
    3266            0 :             return _r;
    3267              :           }
    3268              : next_after_fail1037:;
    3269              :       }
    3270              :     }
    3271              :   return NULL_TREE;
    3272              : }
    3273              : 
    3274              : tree
    3275      4352480 : generic_simplify_NEGATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3276              : {
    3277      4352480 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3278      4352480 :   switch (TREE_CODE (_p0))
    3279              :     {
    3280        41373 :     case PLUS_EXPR:
    3281        41373 :       {
    3282        41373 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3283        41373 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3284        41373 :         if (tree_negate_expr_p (_q21))
    3285              :           {
    3286        39291 :             {
    3287        39291 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3288        39291 :               tree res = generic_simplify_516 (loc, type, _p0, captures);
    3289        39291 :               if (res) return res;
    3290              :             }
    3291              :           }
    3292         2082 :         if (tree_negate_expr_p (_q20))
    3293              :           {
    3294           17 :             {
    3295           17 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    3296           17 :               tree res = generic_simplify_516 (loc, type, _p0, captures);
    3297           17 :               if (res) return res;
    3298              :             }
    3299              :           }
    3300              :         break;
    3301              :       }
    3302       109597 :     case MINUS_EXPR:
    3303       109597 :       {
    3304       109597 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3305       109597 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3306       109597 :         {
    3307       109597 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3308       109597 :           if ((ANY_INTEGRAL_TYPE_P (type) && !TYPE_OVERFLOW_SANITIZED (type))
    3309       187148 :  || (FLOAT_TYPE_P (type)
    3310        77551 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3311        77551 :  && !HONOR_SIGNED_ZEROS (type))
    3312              : )
    3313              :             {
    3314        32103 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1084;
    3315        32103 :               {
    3316        32103 :                 tree res_op0;
    3317        32103 :                 res_op0 = captures[1];
    3318        32103 :                 tree res_op1;
    3319        32103 :                 res_op1 = captures[0];
    3320        32103 :                 tree _r;
    3321        32103 :                 _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3322        32103 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 860, __FILE__, __LINE__, true);
    3323        32103 :                 return _r;
    3324              :               }
    3325            0 : next_after_fail1084:;
    3326              :             }
    3327              :         }
    3328        77494 :         break;
    3329              :       }
    3330           16 :     case POINTER_DIFF_EXPR:
    3331           16 :       {
    3332           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3333           16 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3334           16 :         {
    3335           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3336           16 :           tree res = generic_simplify_517 (loc, type, _p0, captures);
    3337           16 :           if (res) return res;
    3338              :         }
    3339            0 :         break;
    3340              :       }
    3341         5752 :     case MULT_EXPR:
    3342         5752 :       {
    3343         5752 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3344         5752 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3345         5752 :         if (tree_negate_expr_p (_q21))
    3346              :           {
    3347         1802 :             {
    3348         1802 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3349         1802 :               tree res = generic_simplify_520 (loc, type, _p0, captures);
    3350         1802 :               if (res) return res;
    3351              :             }
    3352              :           }
    3353         4345 :         if (tree_negate_expr_p (_q20))
    3354              :           {
    3355           27 :             {
    3356           27 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    3357           27 :               tree res = generic_simplify_520 (loc, type, _p0, captures);
    3358           27 :               if (res) return res;
    3359              :             }
    3360              :           }
    3361              :         break;
    3362              :       }
    3363          188 :     case RDIV_EXPR:
    3364          188 :       {
    3365          188 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3366          188 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3367          188 :         if (tree_negate_expr_p (_q21))
    3368              :           {
    3369           60 :             {
    3370           60 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3371           60 :               if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3372           60 :  && single_use (captures[0])
    3373              : )
    3374              :                 {
    3375           60 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1085;
    3376           60 :                   {
    3377           60 :                     tree res_op0;
    3378           60 :                     res_op0 = captures[1];
    3379           60 :                     tree res_op1;
    3380           60 :                     {
    3381           60 :                       tree _o1[1], _r1;
    3382           60 :                       _o1[0] = captures[2];
    3383           60 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3384           60 :                       res_op1 = _r1;
    3385              :                     }
    3386           60 :                     tree _r;
    3387           60 :                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    3388           60 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 861, __FILE__, __LINE__, true);
    3389           60 :                     return _r;
    3390              :                   }
    3391            0 : next_after_fail1085:;
    3392              :                 }
    3393              :             }
    3394              :           }
    3395          128 :         if (tree_negate_expr_p (_q20))
    3396              :           {
    3397            0 :             {
    3398            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3399            0 :               if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3400            0 :  && single_use (captures[0])
    3401              : )
    3402              :                 {
    3403            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1086;
    3404            0 :                   {
    3405            0 :                     tree res_op0;
    3406            0 :                     {
    3407            0 :                       tree _o1[1], _r1;
    3408            0 :                       _o1[0] = captures[1];
    3409            0 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3410            0 :                       res_op0 = _r1;
    3411              :                     }
    3412            0 :                     tree res_op1;
    3413            0 :                     res_op1 = captures[2];
    3414            0 :                     tree _r;
    3415            0 :                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    3416            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 862, __FILE__, __LINE__, true);
    3417            0 :                     return _r;
    3418              :                   }
    3419            0 : next_after_fail1086:;
    3420              :                 }
    3421              :             }
    3422              :           }
    3423              :         break;
    3424              :       }
    3425      1412604 :     CASE_CONVERT:
    3426      1412604 :       {
    3427      1412604 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3428      1412604 :         switch (TREE_CODE (_q20))
    3429              :           {
    3430           58 :           case RSHIFT_EXPR:
    3431           58 :             {
    3432           58 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3433           58 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3434           58 :               switch (TREE_CODE (_q31))
    3435              :                 {
    3436           43 :                 case INTEGER_CST:
    3437           43 :                   {
    3438           43 :                     {
    3439           43 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    3440           43 :                       tree res = generic_simplify_521 (loc, type, _p0, captures);
    3441           43 :                       if (res) return res;
    3442              :                     }
    3443           36 :                     break;
    3444              :                   }
    3445              :                 default:;
    3446              :                 }
    3447              :               break;
    3448              :             }
    3449          207 :           case NEGATE_EXPR:
    3450          207 :             {
    3451          207 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3452          207 :               {
    3453          207 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3454          207 :                 if (!TYPE_SATURATING (type)
    3455              : )
    3456              :                   {
    3457          207 :                     if (INTEGRAL_TYPE_P (type)
    3458          207 :  && (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
    3459           17 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    3460           32 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    3461          206 :  && !TYPE_OVERFLOW_SANITIZED (type)
    3462          429 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    3463              : )
    3464              :                       {
    3465          206 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1087;
    3466          206 :                         {
    3467          206 :                           tree res_op0;
    3468          206 :                           res_op0 = captures[0];
    3469          206 :                           tree _r;
    3470          206 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3471          206 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3472          206 :                           return _r;
    3473              :                         }
    3474            0 : next_after_fail1087:;
    3475              :                       }
    3476              :                   }
    3477              :               }
    3478              :               break;
    3479              :             }
    3480      1412391 :           default:;
    3481              :           }
    3482      1412391 :       {
    3483      1412391 :         tree _q20_pops[1];
    3484      1412391 :         if (tree_logical_inverted_value (_q20, _q20_pops))
    3485              :           {
    3486            1 :             tree _q30 = _q20_pops[0];
    3487            1 :             {
    3488            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3489            1 :               if (INTEGRAL_TYPE_P (type)
    3490            1 :  && TREE_CODE (type) != BOOLEAN_TYPE
    3491            1 :  && TYPE_PRECISION (type) > 1
    3492            1 :  && TREE_CODE (captures[2]) == SSA_NAME
    3493            1 :  && ssa_name_has_boolean_range (captures[2])
    3494              : )
    3495              :                 {
    3496            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1088;
    3497            0 :                   {
    3498            0 :                     tree res_op0;
    3499            0 :                     {
    3500            0 :                       tree _o1[1], _r1;
    3501            0 :                       _o1[0] = captures[2];
    3502            0 :                       if (TREE_TYPE (_o1[0]) != type)
    3503              :                         {
    3504            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3505              :                         }
    3506              :                       else
    3507              :                         _r1 = _o1[0];
    3508            0 :                       res_op0 = _r1;
    3509              :                     }
    3510            0 :                     tree res_op1;
    3511            0 :                     res_op1 =  build_all_ones_cst (type);
    3512            0 :                     tree _r;
    3513            0 :                     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3514            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3515            0 :                     return _r;
    3516              :                   }
    3517            0 : next_after_fail1088:;
    3518              :                 }
    3519              :             }
    3520              :           }
    3521              :       }
    3522      1412391 :       if (tree_negate_expr_p (_q20))
    3523              :         {
    3524         1711 :           {
    3525         1711 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3526         1711 :             if (!TYPE_SATURATING (type)
    3527              : )
    3528              :               {
    3529         1711 :                 if (SCALAR_FLOAT_TYPE_P (type)
    3530         1711 :  && ((DECIMAL_FLOAT_TYPE_P (type)
    3531            0 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    3532            0 :  && TYPE_PRECISION (type) >= TYPE_PRECISION (TREE_TYPE (captures[0])))
    3533            0 :  || !HONOR_SIGN_DEPENDENT_ROUNDING (type))
    3534              : )
    3535              :                   {
    3536            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1089;
    3537            0 :                     {
    3538            0 :                       tree res_op0;
    3539            0 :                       {
    3540            0 :                         tree _o1[1], _r1;
    3541            0 :                         _o1[0] = captures[0];
    3542            0 :                         _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3543            0 :                         res_op0 = _r1;
    3544              :                       }
    3545            0 :                       tree _r;
    3546            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3547            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 865, __FILE__, __LINE__, true);
    3548            0 :                       return _r;
    3549              :                     }
    3550            0 : next_after_fail1089:;
    3551              :                   }
    3552              :               }
    3553              :           }
    3554              :         }
    3555              :         break;
    3556              :       }
    3557          385 :     case RSHIFT_EXPR:
    3558          385 :       {
    3559          385 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3560          385 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3561          385 :         switch (TREE_CODE (_q21))
    3562              :           {
    3563          367 :           case INTEGER_CST:
    3564          367 :             {
    3565          367 :               {
    3566          367 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3567          367 :                 tree res = generic_simplify_521 (loc, type, _p0, captures);
    3568          367 :                 if (res) return res;
    3569              :               }
    3570          330 :               break;
    3571              :             }
    3572              :           default:;
    3573              :           }
    3574              :         break;
    3575              :       }
    3576          147 :     case BIT_NOT_EXPR:
    3577          147 :       {
    3578          147 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3579          147 :         {
    3580          147 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3581          147 :           tree res = generic_simplify_518 (loc, type, _p0, captures);
    3582          147 :           if (res) return res;
    3583              :         }
    3584            0 :         break;
    3585              :       }
    3586         3786 :     case NEGATE_EXPR:
    3587         3786 :       {
    3588         3786 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3589         3786 :         {
    3590         3786 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3591         3786 :           tree res = generic_simplify_519 (loc, type, _p0, captures);
    3592         3786 :           if (res) return res;
    3593              :         }
    3594           13 :         break;
    3595              :       }
    3596           72 :     case VEC_COND_EXPR:
    3597           72 :       {
    3598           72 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3599           72 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3600           72 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3601           72 :         {
    3602           72 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3603           72 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1090;
    3604           72 :           {
    3605           72 :             tree res_op0;
    3606           72 :             res_op0 = captures[1];
    3607           72 :             tree res_op1;
    3608           72 :             {
    3609           72 :               tree _o1[1], _r1;
    3610           72 :               _o1[0] = captures[2];
    3611           72 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, type, _o1[0]);
    3612           72 :               if (EXPR_P (_r1))
    3613            0 :                 goto next_after_fail1090;
    3614           72 :               res_op1 = _r1;
    3615              :             }
    3616           72 :             tree res_op2;
    3617           72 :             {
    3618           72 :               tree _o1[1], _r1;
    3619           72 :               _o1[0] = captures[3];
    3620           72 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, type, _o1[0]);
    3621           72 :               if (EXPR_P (_r1))
    3622            0 :                 goto next_after_fail1090;
    3623           72 :               res_op2 = _r1;
    3624              :             }
    3625           72 :             tree _r;
    3626           72 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3627           72 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 832, __FILE__, __LINE__, true);
    3628           72 :             return _r;
    3629              :           }
    3630            0 : next_after_fail1090:;
    3631              :         }
    3632            0 :         break;
    3633              :       }
    3634       276510 :     case CALL_EXPR:
    3635       276510 :       switch (get_call_combined_fn (_p0))
    3636              :         {
    3637           12 :         case CFN_BUILT_IN_FMA:
    3638           12 :           if (call_expr_nargs (_p0) == 3)
    3639              :     {
    3640           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3641           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3642           12 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3643           12 :               {
    3644           12 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3645           12 :                 tree res = generic_simplify_522 (loc, type, _p0, captures, CFN_BUILT_IN_FMA);
    3646           12 :                 if (res) return res;
    3647              :               }
    3648              :             }
    3649              :           break;
    3650            0 :         case CFN_COND_FMA:
    3651            0 :           if (call_expr_nargs (_p0) == 5)
    3652              :     {
    3653            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3654            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3655            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3656            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3657            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3658            0 :               {
    3659            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3660            0 :                 const combined_fn fmas = CFN_COND_FMA;
    3661            0 :                 if (canonicalize_math_after_vectorization_p ()
    3662              : )
    3663              :                   {
    3664              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3665              : )
    3666              :                       {
    3667              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1091;
    3668              :                         {
    3669              :                           tree res_op0;
    3670              :                           res_op0 = captures[1];
    3671              :                           tree res_op1;
    3672              :                           res_op1 = captures[2];
    3673              :                           tree res_op2;
    3674              :                           res_op2 = captures[3];
    3675              :                           tree res_op3;
    3676              :                           res_op3 = captures[4];
    3677              :                           tree res_op4;
    3678              :                           res_op4 = captures[5];
    3679              :                           tree _r;
    3680              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3681              :                           if (!_r)
    3682              :                             goto next_after_fail1091;
    3683              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 866, __FILE__, __LINE__, true);
    3684              :                           return _r;
    3685              :                         }
    3686            0 : next_after_fail1091:;
    3687              :                       }
    3688              :                   }
    3689              :               }
    3690              :             }
    3691              :           break;
    3692            4 :         case CFN_BUILT_IN_FMAF:
    3693            4 :           if (call_expr_nargs (_p0) == 3)
    3694              :     {
    3695            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3696            4 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3697            4 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3698            4 :               {
    3699            4 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3700            4 :                 tree res = generic_simplify_522 (loc, type, _p0, captures, CFN_BUILT_IN_FMAF);
    3701            4 :                 if (res) return res;
    3702              :               }
    3703              :             }
    3704              :           break;
    3705            0 :         case CFN_BUILT_IN_FMAL:
    3706            0 :           if (call_expr_nargs (_p0) == 3)
    3707              :     {
    3708            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3709            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3710            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3711            0 :               {
    3712            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3713            0 :                 tree res = generic_simplify_522 (loc, type, _p0, captures, CFN_BUILT_IN_FMAL);
    3714            0 :                 if (res) return res;
    3715              :               }
    3716              :             }
    3717              :           break;
    3718            0 :         case CFN_FMA:
    3719            0 :           if (call_expr_nargs (_p0) == 3)
    3720              :     {
    3721            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3722            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3723            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3724            0 :               {
    3725            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3726            0 :                 tree res = generic_simplify_522 (loc, type, _p0, captures, CFN_FMA);
    3727            0 :                 if (res) return res;
    3728              :               }
    3729              :             }
    3730              :           break;
    3731            0 :         case CFN_FMS:
    3732            0 :           if (call_expr_nargs (_p0) == 3)
    3733              :     {
    3734            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3735            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3736            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3737            0 :               {
    3738            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3739            0 :                 if (canonicalize_math_after_vectorization_p ()
    3740              : )
    3741              :                   {
    3742              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3743              : )
    3744              :                       {
    3745              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1092;
    3746              :                         {
    3747              :                           tree res_op0;
    3748              :                           res_op0 = captures[1];
    3749              :                           tree res_op1;
    3750              :                           res_op1 = captures[2];
    3751              :                           tree res_op2;
    3752              :                           res_op2 = captures[3];
    3753              :                           tree _r;
    3754              :                           _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3755              :                           if (!_r)
    3756              :                             goto next_after_fail1092;
    3757              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 867, __FILE__, __LINE__, true);
    3758              :                           return _r;
    3759              :                         }
    3760            0 : next_after_fail1092:;
    3761              :                       }
    3762              :                   }
    3763              :               }
    3764              :             }
    3765            0 :           if (call_expr_nargs (_p0) == 5)
    3766              :     {
    3767            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3768            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3769            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3770            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3771            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3772            0 :               {
    3773            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    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_fail1093;
    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              :                           res_op4 = captures[5];
    3792              :                           tree _r;
    3793              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3794              :                           if (!_r)
    3795              :                             goto next_after_fail1093;
    3796              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 868, __FILE__, __LINE__, true);
    3797              :                           return _r;
    3798              :                         }
    3799            0 : next_after_fail1093:;
    3800              :                       }
    3801              :                   }
    3802              :               }
    3803              :             }
    3804              :           break;
    3805            0 :         case CFN_COND_FNMA:
    3806            0 :           if (call_expr_nargs (_p0) == 5)
    3807              :     {
    3808            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3809            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3810            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3811            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3812            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3813            0 :               {
    3814            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3815            0 :                 if (canonicalize_math_after_vectorization_p ()
    3816              : )
    3817              :                   {
    3818              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3819              : )
    3820              :                       {
    3821              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1094;
    3822              :                         {
    3823              :                           tree res_op0;
    3824              :                           res_op0 = captures[1];
    3825              :                           tree res_op1;
    3826              :                           res_op1 = captures[2];
    3827              :                           tree res_op2;
    3828              :                           res_op2 = captures[3];
    3829              :                           tree res_op3;
    3830              :                           res_op3 = captures[4];
    3831              :                           tree res_op4;
    3832              :                           res_op4 = captures[5];
    3833              :                           tree _r;
    3834              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3835              :                           if (!_r)
    3836              :                             goto next_after_fail1094;
    3837              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 869, __FILE__, __LINE__, true);
    3838              :                           return _r;
    3839              :                         }
    3840            0 : next_after_fail1094:;
    3841              :                       }
    3842              :                   }
    3843              :               }
    3844              :             }
    3845              :           break;
    3846            0 :         case CFN_COND_FNMS:
    3847            0 :           if (call_expr_nargs (_p0) == 5)
    3848              :     {
    3849            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3850            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3851            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3852            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3853            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3854            0 :               {
    3855            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3856            0 :                 if (canonicalize_math_after_vectorization_p ()
    3857              : )
    3858              :                   {
    3859              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3860              : )
    3861              :                       {
    3862              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1095;
    3863              :                         {
    3864              :                           tree res_op0;
    3865              :                           res_op0 = captures[1];
    3866              :                           tree res_op1;
    3867              :                           res_op1 = captures[2];
    3868              :                           tree res_op2;
    3869              :                           res_op2 = captures[3];
    3870              :                           tree res_op3;
    3871              :                           res_op3 = captures[4];
    3872              :                           tree res_op4;
    3873              :                           res_op4 = captures[5];
    3874              :                           tree _r;
    3875              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3876              :                           if (!_r)
    3877              :                             goto next_after_fail1095;
    3878              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 870, __FILE__, __LINE__, true);
    3879              :                           return _r;
    3880              :                         }
    3881            0 : next_after_fail1095:;
    3882              :                       }
    3883              :                   }
    3884              :               }
    3885              :             }
    3886              :           break;
    3887            0 :         case CFN_FNMA:
    3888            0 :           if (call_expr_nargs (_p0) == 3)
    3889              :     {
    3890            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3891            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3892            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3893            0 :               {
    3894            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3895            0 :                 if (canonicalize_math_after_vectorization_p ()
    3896              : )
    3897              :                   {
    3898              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3899              : )
    3900              :                       {
    3901              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1096;
    3902              :                         {
    3903              :                           tree res_op0;
    3904              :                           res_op0 = captures[1];
    3905              :                           tree res_op1;
    3906              :                           res_op1 = captures[2];
    3907              :                           tree res_op2;
    3908              :                           res_op2 = captures[3];
    3909              :                           tree _r;
    3910              :                           _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3911              :                           if (!_r)
    3912              :                             goto next_after_fail1096;
    3913              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    3914              :                           return _r;
    3915              :                         }
    3916            0 : next_after_fail1096:;
    3917              :                       }
    3918              :                   }
    3919              :               }
    3920              :             }
    3921              :           break;
    3922            0 :         case CFN_FNMS:
    3923            0 :           if (call_expr_nargs (_p0) == 3)
    3924              :     {
    3925            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3926            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3927            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3928            0 :               {
    3929            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3930            0 :                 if (canonicalize_math_after_vectorization_p ()
    3931              : )
    3932              :                   {
    3933              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3934              : )
    3935              :                       {
    3936              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1097;
    3937              :                         {
    3938              :                           tree res_op0;
    3939              :                           res_op0 = captures[1];
    3940              :                           tree res_op1;
    3941              :                           res_op1 = captures[2];
    3942              :                           tree res_op2;
    3943              :                           res_op2 = captures[3];
    3944              :                           tree _r;
    3945              :                           _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3946              :                           if (!_r)
    3947              :                             goto next_after_fail1097;
    3948              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
    3949              :                           return _r;
    3950              :                         }
    3951            0 : next_after_fail1097:;
    3952              :                       }
    3953              :                   }
    3954              :               }
    3955              :             }
    3956              :           break;
    3957              :         default:;
    3958              :         }
    3959              :       break;
    3960      4275317 :     default:;
    3961              :     }
    3962      4275317 : {
    3963      4275317 :   tree _p0_pops[1];
    3964      4275317 :   if (tree_nop_convert (_p0, _p0_pops))
    3965              :     {
    3966      1630566 :       tree _q20 = _p0_pops[0];
    3967      1630566 :       switch (TREE_CODE (_q20))
    3968              :         {
    3969            0 :         case POINTER_DIFF_EXPR:
    3970            0 :           {
    3971            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3972            0 :             tree _q31 = TREE_OPERAND (_q20, 1);
    3973            0 :             {
    3974            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    3975            0 :               tree res = generic_simplify_517 (loc, type, _p0, captures);
    3976            0 :               if (res) return res;
    3977              :             }
    3978            0 :             break;
    3979              :           }
    3980            0 :         case BIT_NOT_EXPR:
    3981            0 :           {
    3982            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3983            0 :             {
    3984            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3985            0 :               tree res = generic_simplify_518 (loc, type, _p0, captures);
    3986            0 :               if (res) return res;
    3987              :             }
    3988            0 :             break;
    3989              :           }
    3990            0 :         case NEGATE_EXPR:
    3991            0 :           {
    3992            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3993            0 :             {
    3994            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3995            0 :               tree res = generic_simplify_519 (loc, type, _p0, captures);
    3996            0 :               if (res) return res;
    3997              :             }
    3998            0 :             break;
    3999              :           }
    4000              :         default:;
    4001              :         }
    4002              :     }
    4003              : }
    4004      4275317 : {
    4005      4275317 :   tree _p0_pops[1];
    4006      4275317 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    4007              :     {
    4008           70 :       tree _q20 = _p0_pops[0];
    4009           70 :       {
    4010           70 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    4011           70 :         if (INTEGRAL_TYPE_P (type)
    4012           70 :  && TREE_CODE (type) != BOOLEAN_TYPE
    4013           70 :  && TYPE_PRECISION (type) > 1
    4014           70 :  && TREE_CODE (captures[2]) == SSA_NAME
    4015           70 :  && ssa_name_has_boolean_range (captures[2])
    4016              : )
    4017              :           {
    4018            0 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1098;
    4019            0 :             {
    4020            0 :               tree res_op0;
    4021            0 :               {
    4022            0 :                 tree _o1[1], _r1;
    4023            0 :                 _o1[0] = captures[2];
    4024            0 :                 if (TREE_TYPE (_o1[0]) != type)
    4025              :                   {
    4026            0 :                     _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4027              :                   }
    4028              :                 else
    4029              :                   _r1 = _o1[0];
    4030            0 :                 res_op0 = _r1;
    4031              :               }
    4032            0 :               tree res_op1;
    4033            0 :               res_op1 =  build_all_ones_cst (type);
    4034            0 :               tree _r;
    4035            0 :               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    4036            0 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    4037            0 :               return _r;
    4038              :             }
    4039            0 : next_after_fail1098:;
    4040              :           }
    4041              :       }
    4042              :     }
    4043              : }
    4044      4275317 :   {
    4045      4275317 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4046      4275317 :     tree res = generic_simplify_441 (loc, type, _p0, captures);
    4047      4275317 :     if (res) return res;
    4048              :   }
    4049      4261547 :   return NULL_TREE;
    4050              : }
    4051              : 
    4052              : tree
    4053     27913355 : generic_simplify_EQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4054              : {
    4055     27913355 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4056     27913355 :   switch (TREE_CODE (_p1))
    4057              :     {
    4058           98 :     case NEGATE_EXPR:
    4059           98 :       {
    4060           98 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4061           98 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4062              :           {
    4063            0 :             {
    4064            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4065            0 :               tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4066            0 :               if (res) return res;
    4067              :             }
    4068              :           }
    4069              :         break;
    4070              :       }
    4071     27913355 :     default:;
    4072              :     }
    4073     27913355 :   switch (TREE_CODE (_p0))
    4074              :     {
    4075         1330 :     case NEGATE_EXPR:
    4076         1330 :       {
    4077         1330 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4078         1330 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4079              :           {
    4080          101 :             {
    4081          101 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4082          101 :               tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4083          101 :               if (res) return res;
    4084              :             }
    4085              :           }
    4086              :         break;
    4087              :       }
    4088            0 :     case CEIL_MOD_EXPR:
    4089            0 :       {
    4090            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4091            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4092            0 :         if (integer_pow2p (_q21))
    4093              :           {
    4094            0 :             if (integer_zerop (_p1))
    4095              :               {
    4096            0 :                 {
    4097            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4098            0 :                   tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR, CEIL_MOD_EXPR);
    4099            0 :                   if (res) return res;
    4100              :                 }
    4101              :               }
    4102              :           }
    4103              :         break;
    4104              :       }
    4105          876 :     case FLOOR_MOD_EXPR:
    4106          876 :       {
    4107          876 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4108          876 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4109          876 :         if (integer_pow2p (_q21))
    4110              :           {
    4111           26 :             if (integer_zerop (_p1))
    4112              :               {
    4113           26 :                 {
    4114           26 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4115           26 :                   tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR, FLOOR_MOD_EXPR);
    4116           26 :                   if (res) return res;
    4117              :                 }
    4118              :               }
    4119              :           }
    4120              :         break;
    4121              :       }
    4122            0 :     case ROUND_MOD_EXPR:
    4123            0 :       {
    4124            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4125            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4126            0 :         if (integer_pow2p (_q21))
    4127              :           {
    4128            0 :             if (integer_zerop (_p1))
    4129              :               {
    4130            0 :                 {
    4131            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4132            0 :                   tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR, ROUND_MOD_EXPR);
    4133            0 :                   if (res) return res;
    4134              :                 }
    4135              :               }
    4136              :           }
    4137              :         break;
    4138              :       }
    4139        92977 :     case TRUNC_MOD_EXPR:
    4140        92977 :       {
    4141        92977 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4142        92977 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4143        92977 :         if (integer_pow2p (_q21))
    4144              :           {
    4145        39882 :             if (integer_zerop (_p1))
    4146              :               {
    4147          562 :                 {
    4148          562 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4149          562 :                   tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR, TRUNC_MOD_EXPR);
    4150          562 :                   if (res) return res;
    4151              :                 }
    4152              :               }
    4153              :           }
    4154              :         break;
    4155              :       }
    4156      5264387 :     CASE_CONVERT:
    4157      5264387 :       {
    4158      5264387 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4159      5264387 :         switch (TREE_CODE (_p1))
    4160              :           {
    4161            2 :           case LSHIFT_EXPR:
    4162            2 :             {
    4163            2 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4164            2 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4165            2 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4166              :                 {
    4167            0 :                   {
    4168            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4169            0 :                     tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4170            0 :                     if (res) return res;
    4171              :                   }
    4172              :                 }
    4173              :               break;
    4174              :             }
    4175      5264387 :           default:;
    4176              :           }
    4177      5264387 :       {
    4178      5264387 :         tree _p1_pops[1];
    4179      5264387 :         if (tree_nop_convert (_p1, _p1_pops))
    4180              :           {
    4181      1262253 :             tree _q40 = _p1_pops[0];
    4182      1262253 :             switch (TREE_CODE (_q40))
    4183              :               {
    4184            0 :               case LSHIFT_EXPR:
    4185            0 :                 {
    4186            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4187            0 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4188            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4189              :                     {
    4190            0 :                       {
    4191            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    4192            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4193            0 :                         if (res) return res;
    4194              :                       }
    4195              :                     }
    4196              :                   break;
    4197              :                 }
    4198              :               default:;
    4199              :               }
    4200              :           }
    4201              :       }
    4202      5264387 :         switch (TREE_CODE (_q20))
    4203              :           {
    4204           92 :           case EXACT_DIV_EXPR:
    4205           92 :             {
    4206           92 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4207           92 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4208           92 :               switch (TREE_CODE (_q31))
    4209              :                 {
    4210           92 :                 case INTEGER_CST:
    4211           92 :                   {
    4212           92 :                     switch (TREE_CODE (_p1))
    4213              :                       {
    4214            0 :                       CASE_CONVERT:
    4215            0 :                         {
    4216            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4217            0 :                           switch (TREE_CODE (_q60))
    4218              :                             {
    4219            0 :                             case EXACT_DIV_EXPR:
    4220            0 :                               {
    4221            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4222            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4223            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    4224              :                                   {
    4225            0 :                                     {
    4226            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    4227            0 :                                       tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4228            0 :                                       if (res) return res;
    4229              :                                     }
    4230              :                                   }
    4231              :                                 break;
    4232              :                               }
    4233              :                             default:;
    4234              :                             }
    4235              :                           break;
    4236              :                         }
    4237              :                       default:;
    4238              :                       }
    4239              :                     break;
    4240              :                   }
    4241              :                 default:;
    4242              :                 }
    4243              :               break;
    4244              :             }
    4245      5264387 :           default:;
    4246              :           }
    4247      5264387 :         switch (TREE_CODE (_p1))
    4248              :           {
    4249        29400 :           case PLUS_EXPR:
    4250        29400 :             {
    4251        29400 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4252        29400 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4253        29400 :               switch (TREE_CODE (_q41))
    4254              :                 {
    4255           26 :                 CASE_CONVERT:
    4256           26 :                   {
    4257           26 :                     tree _q60 = TREE_OPERAND (_q41, 0);
    4258           26 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4259              :                       {
    4260            0 :                         {
    4261            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4262            0 :                           tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4263            0 :                           if (res) return res;
    4264              :                         }
    4265              :                       }
    4266              :                     break;
    4267              :                   }
    4268        29400 :                 default:;
    4269              :                 }
    4270        29400 :               switch (TREE_CODE (_q40))
    4271              :                 {
    4272         3994 :                 CASE_CONVERT:
    4273         3994 :                   {
    4274         3994 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4275         3994 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4276              :                       {
    4277            0 :                         {
    4278            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4279            0 :                           tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4280            0 :                           if (res) return res;
    4281              :                         }
    4282              :                       }
    4283              :                     break;
    4284              :                   }
    4285        29400 :                 default:;
    4286              :                 }
    4287        29400 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4288              :                 {
    4289            0 :                   {
    4290            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4291            0 :                     tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4292            0 :                     if (res) return res;
    4293              :                   }
    4294              :                 }
    4295        29400 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    4296              :                 {
    4297            0 :                   {
    4298            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4299            0 :                     tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4300            0 :                     if (res) return res;
    4301              :                   }
    4302              :                 }
    4303              :               break;
    4304              :             }
    4305      5264387 :           default:;
    4306              :           }
    4307      5264387 :       {
    4308      5264387 :         tree _p1_pops[1];
    4309      5264387 :         if (tree_nop_convert (_p1, _p1_pops))
    4310              :           {
    4311      1262253 :             tree _q40 = _p1_pops[0];
    4312      1262253 :             switch (TREE_CODE (_q40))
    4313              :               {
    4314           73 :               case PLUS_EXPR:
    4315           73 :                 {
    4316           73 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4317           73 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4318           73 :                   switch (TREE_CODE (_q51))
    4319              :                     {
    4320            0 :                     CASE_CONVERT:
    4321            0 :                       {
    4322            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4323            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4324              :                           {
    4325            0 :                             {
    4326            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4327            0 :                               tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4328            0 :                               if (res) return res;
    4329              :                             }
    4330              :                           }
    4331              :                         break;
    4332              :                       }
    4333           73 :                     default:;
    4334              :                     }
    4335           73 :                   switch (TREE_CODE (_q50))
    4336              :                     {
    4337            4 :                     CASE_CONVERT:
    4338            4 :                       {
    4339            4 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    4340            4 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4341              :                           {
    4342            0 :                             {
    4343            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4344            0 :                               tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4345            0 :                               if (res) return res;
    4346              :                             }
    4347              :                           }
    4348              :                         break;
    4349              :                       }
    4350           73 :                     default:;
    4351              :                     }
    4352           73 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4353              :                     {
    4354            0 :                       {
    4355            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4356            0 :                         tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4357            0 :                         if (res) return res;
    4358              :                       }
    4359              :                     }
    4360           73 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4361              :                     {
    4362            0 :                       {
    4363            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4364            0 :                         tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4365            0 :                         if (res) return res;
    4366              :                       }
    4367              :                     }
    4368              :                   break;
    4369              :                 }
    4370              :               default:;
    4371              :               }
    4372              :           }
    4373              :       }
    4374      5264387 :         break;
    4375              :       }
    4376     27912764 :     default:;
    4377              :     }
    4378     27912764 : {
    4379     27912764 :   tree _p0_pops[1];
    4380     27912764 :   if (tree_nop_convert (_p0, _p0_pops))
    4381              :     {
    4382      3071569 :       tree _q20 = _p0_pops[0];
    4383      3071569 :       switch (TREE_CODE (_q20))
    4384              :         {
    4385            1 :         case LSHIFT_EXPR:
    4386            1 :           {
    4387            1 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4388            1 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4389            1 :             switch (TREE_CODE (_p1))
    4390              :               {
    4391            0 :               CASE_CONVERT:
    4392            0 :                 {
    4393            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4394            0 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4395              :                     {
    4396            0 :                       {
    4397            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4398            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4399            0 :                         if (res) return res;
    4400              :                       }
    4401              :                     }
    4402              :                   break;
    4403              :                 }
    4404            1 :               default:;
    4405              :               }
    4406            1 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4407              :               {
    4408            1 :                 {
    4409            1 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4410            1 :                   tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4411            1 :                   if (res) return res;
    4412              :                 }
    4413              :               }
    4414              :             break;
    4415              :           }
    4416         2285 :         case PLUS_EXPR:
    4417         2285 :           {
    4418         2285 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4419         2285 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4420         2285 :             switch (TREE_CODE (_q31))
    4421              :               {
    4422            0 :               CASE_CONVERT:
    4423            0 :                 {
    4424            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4425            0 :                   switch (TREE_CODE (_p1))
    4426              :                     {
    4427            0 :                     CASE_CONVERT:
    4428            0 :                       {
    4429            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4430            0 :                         if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    4431              :                           {
    4432            0 :                             {
    4433            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4434            0 :                               tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4435            0 :                               if (res) return res;
    4436              :                             }
    4437              :                           }
    4438              :                         break;
    4439              :                       }
    4440              :                     default:;
    4441              :                     }
    4442              :                   break;
    4443              :                 }
    4444         2285 :               default:;
    4445              :               }
    4446         2285 :             switch (TREE_CODE (_q30))
    4447              :               {
    4448         1197 :               CASE_CONVERT:
    4449         1197 :                 {
    4450         1197 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4451         1197 :                   switch (TREE_CODE (_p1))
    4452              :                     {
    4453            8 :                     CASE_CONVERT:
    4454            8 :                       {
    4455            8 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4456            8 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    4457              :                           {
    4458            0 :                             {
    4459            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4460            0 :                               tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4461            0 :                               if (res) return res;
    4462              :                             }
    4463              :                           }
    4464              :                         break;
    4465              :                       }
    4466         1197 :                     default:;
    4467              :                     }
    4468         1197 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4469              :                     {
    4470            0 :                       {
    4471            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4472            0 :                         tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4473            0 :                         if (res) return res;
    4474              :                       }
    4475              :                     }
    4476              :                   break;
    4477              :                 }
    4478         2285 :               default:;
    4479              :               }
    4480         2285 :             switch (TREE_CODE (_q31))
    4481              :               {
    4482            0 :               CASE_CONVERT:
    4483            0 :                 {
    4484            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4485            0 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    4486              :                     {
    4487            0 :                       {
    4488            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4489            0 :                         tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4490            0 :                         if (res) return res;
    4491              :                       }
    4492              :                     }
    4493              :                   break;
    4494              :                 }
    4495         2285 :               default:;
    4496              :               }
    4497         2285 :             switch (TREE_CODE (_p1))
    4498              :               {
    4499           77 :               CASE_CONVERT:
    4500           77 :                 {
    4501           77 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4502           77 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4503              :                     {
    4504            0 :                       {
    4505            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4506            0 :                         tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4507            0 :                         if (res) return res;
    4508              :                       }
    4509              :                     }
    4510           77 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4511              :                     {
    4512            0 :                       {
    4513            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4514            0 :                         tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4515            0 :                         if (res) return res;
    4516              :                       }
    4517              :                     }
    4518              :                   break;
    4519              :                 }
    4520         2285 :               default:;
    4521              :               }
    4522         2285 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4523              :               {
    4524            0 :                 {
    4525            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4526            0 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4527            0 :                   if (res) return res;
    4528              :                 }
    4529              :               }
    4530         2285 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4531              :               {
    4532            0 :                 {
    4533            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4534            0 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4535            0 :                   if (res) return res;
    4536              :                 }
    4537              :               }
    4538              :             break;
    4539              :           }
    4540              :         default:;
    4541              :         }
    4542              :     }
    4543              : }
    4544     27912763 :   {
    4545     27912763 :     tree _p1_pops[1];
    4546     27912763 :     if (tree_nop_convert (_p1, _p1_pops))
    4547              :       {
    4548      1501772 :         tree _q30 = _p1_pops[0];
    4549      1501772 :         switch (TREE_CODE (_q30))
    4550              :           {
    4551            0 :           case LSHIFT_EXPR:
    4552            0 :             {
    4553            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4554            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4555            0 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    4556              :                 {
    4557            0 :                   {
    4558            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    4559            0 :                     tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4560            0 :                     if (res) return res;
    4561              :                   }
    4562              :                 }
    4563              :               break;
    4564              :             }
    4565              :           default:;
    4566              :           }
    4567              :       }
    4568              :   }
    4569     27912763 :   switch (TREE_CODE (_p0))
    4570              :     {
    4571         2028 :     case LSHIFT_EXPR:
    4572         2028 :       {
    4573         2028 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4574         2028 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4575         2028 :         switch (TREE_CODE (_p1))
    4576              :           {
    4577           61 :           CASE_CONVERT:
    4578           61 :             {
    4579           61 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4580           61 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4581              :                 {
    4582            4 :                   {
    4583            4 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4584            4 :                     tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4585            4 :                     if (res) return res;
    4586              :                   }
    4587              :                 }
    4588              :               break;
    4589              :             }
    4590         2027 :           default:;
    4591              :           }
    4592         2027 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4593              :           {
    4594           27 :             {
    4595           27 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4596           27 :               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4597           27 :               if (res) return res;
    4598              :             }
    4599              :           }
    4600         2023 :         if (tree_zero_one_valued_p (_q20))
    4601              :           {
    4602          239 :             switch (TREE_CODE (_q21))
    4603              :               {
    4604           10 :               case INTEGER_CST:
    4605           10 :                 {
    4606           10 :                   if (integer_zerop (_p1))
    4607              :                     {
    4608            2 :                       {
    4609            2 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4610            2 :                         if (tree_fits_shwi_p (captures[1])
    4611            2 :  && tree_to_shwi (captures[1]) > 0
    4612            4 :  && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    4613              : )
    4614              :                           {
    4615            2 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1499;
    4616            2 :                             {
    4617            2 :                               tree res_op0;
    4618            2 :                               res_op0 = captures[0];
    4619            2 :                               tree res_op1;
    4620            2 :                               res_op1 = captures[2];
    4621            2 :                               tree _r;
    4622            2 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    4623            2 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    4624            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4625            2 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
    4626            2 :                               return _r;
    4627              :                             }
    4628            0 : next_after_fail1499:;
    4629              :                           }
    4630              :                       }
    4631              :                     }
    4632              :                   break;
    4633              :                 }
    4634              :               default:;
    4635              :               }
    4636              :           }
    4637              :         break;
    4638              :       }
    4639     27912756 :     default:;
    4640              :     }
    4641     27912756 :   switch (TREE_CODE (_p1))
    4642              :     {
    4643          235 :     case LSHIFT_EXPR:
    4644          235 :       {
    4645          235 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4646          235 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4647          235 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4648              :           {
    4649            0 :             {
    4650            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    4651            0 :               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4652            0 :               if (res) return res;
    4653              :             }
    4654              :           }
    4655              :         break;
    4656              :       }
    4657     27912756 :     default:;
    4658              :     }
    4659     27912756 :   switch (TREE_CODE (_p0))
    4660              :     {
    4661        46282 :     case VIEW_CONVERT_EXPR:
    4662        46282 :       {
    4663        46282 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4664        46282 :         if (tree_zero_one_valued_p (_q20))
    4665              :           {
    4666            0 :             if (integer_zerop (_p1))
    4667              :               {
    4668            0 :                 {
    4669            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    4670            0 :                   tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4671            0 :                   if (res) return res;
    4672              :                 }
    4673              :               }
    4674              :           }
    4675              :         break;
    4676              :       }
    4677        15906 :     case RSHIFT_EXPR:
    4678        15906 :       {
    4679        15906 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4680        15906 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4681        15906 :         switch (TREE_CODE (_q21))
    4682              :           {
    4683        14654 :           case INTEGER_CST:
    4684        14654 :             {
    4685        14654 :               switch (TREE_CODE (_p1))
    4686              :                 {
    4687          106 :                 case RSHIFT_EXPR:
    4688          106 :                   {
    4689          106 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4690          106 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4691          106 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4692              :                       {
    4693           18 :                         switch (TREE_CODE (_q51))
    4694              :                           {
    4695           18 :                           case INTEGER_CST:
    4696           18 :                             {
    4697           18 :                               {
    4698           18 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4699           18 :                                 tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    4700           18 :                                 if (res) return res;
    4701              :                               }
    4702           17 :                               break;
    4703              :                             }
    4704              :                           default:;
    4705              :                           }
    4706              :                       }
    4707              :                     break;
    4708              :                   }
    4709        14653 :                 default:;
    4710              :                 }
    4711        14653 :             if (integer_zerop (_p1))
    4712              :               {
    4713         1530 :                 {
    4714         1530 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4715         1530 :                   tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    4716         1530 :                   if (res) return res;
    4717              :                 }
    4718              :               }
    4719              :               break;
    4720              :             }
    4721              :           default:;
    4722              :           }
    4723              :         break;
    4724              :       }
    4725       850098 :     case BIT_AND_EXPR:
    4726       850098 :       {
    4727       850098 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4728       850098 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4729       850098 :         if (tree_truth_valued_p (_q20))
    4730              :           {
    4731           27 :             if (tree_truth_valued_p (_q21))
    4732              :               {
    4733           26 :                 switch (TREE_CODE (_p1))
    4734              :                   {
    4735            0 :                   case BIT_XOR_EXPR:
    4736            0 :                     {
    4737            0 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    4738            0 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    4739            0 :                       if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4740              :                         {
    4741            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4742              :                             {
    4743            0 :                               {
    4744            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4745            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1500;
    4746            0 :                                 {
    4747            0 :                                   tree res_op0;
    4748            0 :                                   {
    4749            0 :                                     tree _o1[2], _r1;
    4750            0 :                                     _o1[0] = captures[0];
    4751            0 :                                     _o1[1] = captures[1];
    4752            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4753            0 :                                     res_op0 = _r1;
    4754              :                                   }
    4755            0 :                                   tree _r;
    4756            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4757            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    4758            0 :                                   return _r;
    4759              :                                 }
    4760            0 : next_after_fail1500:;
    4761              :                               }
    4762              :                             }
    4763              :                         }
    4764            0 :                       if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4765              :                         {
    4766            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4767              :                             {
    4768            0 :                               {
    4769            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    4770            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1501;
    4771            0 :                                 {
    4772            0 :                                   tree res_op0;
    4773            0 :                                   {
    4774            0 :                                     tree _o1[2], _r1;
    4775            0 :                                     _o1[0] = captures[0];
    4776            0 :                                     _o1[1] = captures[1];
    4777            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4778            0 :                                     res_op0 = _r1;
    4779              :                                   }
    4780            0 :                                   tree _r;
    4781            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4782            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    4783            0 :                                   return _r;
    4784              :                                 }
    4785            0 : next_after_fail1501:;
    4786              :                               }
    4787              :                             }
    4788              :                         }
    4789              :                       break;
    4790              :                     }
    4791              :                   default:;
    4792              :                   }
    4793              :               }
    4794              :           }
    4795              :         break;
    4796              :       }
    4797          597 :     case BIT_XOR_EXPR:
    4798          597 :       {
    4799          597 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4800          597 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4801          597 :         switch (TREE_CODE (_p1))
    4802              :           {
    4803            0 :           case BIT_AND_EXPR:
    4804            0 :             {
    4805            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4806            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4807            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4808              :                 {
    4809            0 :                   if (tree_truth_valued_p (_q50))
    4810              :                     {
    4811            0 :                       if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4812              :                         {
    4813            0 :                           if (tree_truth_valued_p (_q51))
    4814              :                             {
    4815            0 :                               {
    4816            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4817            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1502;
    4818            0 :                                 {
    4819            0 :                                   tree res_op0;
    4820            0 :                                   {
    4821            0 :                                     tree _o1[2], _r1;
    4822            0 :                                     _o1[0] = captures[0];
    4823            0 :                                     _o1[1] = captures[1];
    4824            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4825            0 :                                     res_op0 = _r1;
    4826              :                                   }
    4827            0 :                                   tree _r;
    4828            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4829            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    4830            0 :                                   return _r;
    4831              :                                 }
    4832            0 : next_after_fail1502:;
    4833              :                               }
    4834              :                             }
    4835              :                         }
    4836              :                     }
    4837              :                 }
    4838            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4839              :                 {
    4840            0 :                   if (tree_truth_valued_p (_q50))
    4841              :                     {
    4842            0 :                       if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4843              :                         {
    4844            0 :                           if (tree_truth_valued_p (_q51))
    4845              :                             {
    4846            0 :                               {
    4847            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4848            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1503;
    4849            0 :                                 {
    4850            0 :                                   tree res_op0;
    4851            0 :                                   {
    4852            0 :                                     tree _o1[2], _r1;
    4853            0 :                                     _o1[0] = captures[0];
    4854            0 :                                     _o1[1] = captures[1];
    4855            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4856            0 :                                     res_op0 = _r1;
    4857              :                                   }
    4858            0 :                                   tree _r;
    4859            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4860            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
    4861            0 :                                   return _r;
    4862              :                                 }
    4863            0 : next_after_fail1503:;
    4864              :                               }
    4865              :                             }
    4866              :                         }
    4867              :                     }
    4868              :                 }
    4869              :               break;
    4870              :             }
    4871              :           default:;
    4872              :           }
    4873              :         break;
    4874              :       }
    4875          403 :     case BIT_NOT_EXPR:
    4876          403 :       {
    4877          403 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4878          403 :         if (tree_truth_valued_p (_q20))
    4879              :           {
    4880            0 :             if (tree_truth_valued_p (_p1))
    4881              :               {
    4882            0 :                 {
    4883            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    4884            0 :                   tree res = generic_simplify_214 (loc, type, _p0, _p1, captures);
    4885            0 :                   if (res) return res;
    4886              :                 }
    4887              :               }
    4888              :           }
    4889              :         break;
    4890              :       }
    4891        65611 :     case MULT_EXPR:
    4892        65611 :       {
    4893        65611 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4894        65611 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4895        65611 :         switch (TREE_CODE (_p1))
    4896              :           {
    4897          953 :           case MULT_EXPR:
    4898          953 :             {
    4899          953 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4900          953 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4901          953 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4902              :                 {
    4903          642 :                   {
    4904          642 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4905          642 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4906          642 :                     if (res) return res;
    4907              :                   }
    4908              :                 }
    4909          945 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4910              :                 {
    4911            0 :                   {
    4912            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    4913            0 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4914            0 :                     if (res) return res;
    4915              :                   }
    4916              :                 }
    4917          945 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4918              :                 {
    4919            0 :                   {
    4920            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    4921            0 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4922            0 :                     if (res) return res;
    4923              :                   }
    4924              :                 }
    4925          945 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4926              :                 {
    4927           24 :                   {
    4928           24 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    4929           24 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4930           24 :                     if (res) return res;
    4931              :                   }
    4932              :                 }
    4933              :               break;
    4934              :             }
    4935        65603 :           default:;
    4936              :           }
    4937        65603 :         switch (TREE_CODE (_q21))
    4938              :           {
    4939        57653 :           case INTEGER_CST:
    4940        57653 :             {
    4941        57653 :               switch (TREE_CODE (_p1))
    4942              :                 {
    4943          903 :                 case MULT_EXPR:
    4944          903 :                   {
    4945          903 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4946          903 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4947          903 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4948              :                       {
    4949          597 :                         {
    4950          597 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4951          597 :                           tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4952          597 :                           if (res) return res;
    4953              :                         }
    4954              :                       }
    4955              :                     break;
    4956              :                   }
    4957              :                 default:;
    4958              :                 }
    4959              :               break;
    4960              :             }
    4961              :           default:;
    4962              :           }
    4963              :         break;
    4964              :       }
    4965         7255 :     case EXACT_DIV_EXPR:
    4966         7255 :       {
    4967         7255 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4968         7255 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4969         7255 :         switch (TREE_CODE (_q21))
    4970              :           {
    4971         7255 :           case INTEGER_CST:
    4972         7255 :             {
    4973         7255 :               switch (TREE_CODE (_p1))
    4974              :                 {
    4975            0 :                 case EXACT_DIV_EXPR:
    4976            0 :                   {
    4977            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4978            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4979            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4980              :                       {
    4981            0 :                         {
    4982            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    4983            0 :                           tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4984            0 :                           if (res) return res;
    4985              :                         }
    4986              :                       }
    4987              :                     break;
    4988              :                   }
    4989              :                 default:;
    4990              :                 }
    4991              :               break;
    4992              :             }
    4993              :           default:;
    4994              :           }
    4995              :         break;
    4996              :       }
    4997         5365 :     case TRUNC_DIV_EXPR:
    4998         5365 :       {
    4999         5365 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5000         5365 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5001         5365 :         switch (TREE_CODE (_q21))
    5002              :           {
    5003         3874 :           case INTEGER_CST:
    5004         3874 :             {
    5005         3874 :               switch (TREE_CODE (_p1))
    5006              :                 {
    5007          999 :                 case INTEGER_CST:
    5008          999 :                   {
    5009          999 :                     {
    5010          999 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5011          999 :                       tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5012          999 :                       if (res) return res;
    5013              :                     }
    5014           21 :                     break;
    5015              :                   }
    5016              :                 default:;
    5017              :                 }
    5018              :               break;
    5019              :             }
    5020              :           default:;
    5021              :           }
    5022              :         break;
    5023              :       }
    5024       672411 :     case PLUS_EXPR:
    5025       672411 :       {
    5026       672411 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5027       672411 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5028       672411 :         switch (TREE_CODE (_p1))
    5029              :           {
    5030        54643 :           case PLUS_EXPR:
    5031        54643 :             {
    5032        54643 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5033        54643 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5034        54643 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5035              :                 {
    5036          685 :                   {
    5037          685 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5038         1370 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5039         1096 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5040          377 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5041              : )
    5042              :                       {
    5043          411 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1504;
    5044          411 :                         {
    5045          411 :                           tree res_op0;
    5046          411 :                           res_op0 = captures[0];
    5047          411 :                           tree res_op1;
    5048          411 :                           res_op1 = captures[2];
    5049          411 :                           tree _r;
    5050          411 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5051          411 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5052            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5053          411 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 930, __FILE__, __LINE__, true);
    5054          411 :                           return _r;
    5055              :                         }
    5056            0 : next_after_fail1504:;
    5057              :                       }
    5058              :                   }
    5059              :                 }
    5060        54232 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5061              :                 {
    5062            4 :                   {
    5063            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5064            8 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5065            4 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5066            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5067              : )
    5068              :                       {
    5069            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1505;
    5070            0 :                         {
    5071            0 :                           tree res_op0;
    5072            0 :                           res_op0 = captures[0];
    5073            0 :                           tree res_op1;
    5074            0 :                           res_op1 = captures[2];
    5075            0 :                           tree _r;
    5076            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5077            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5078            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5079            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 930, __FILE__, __LINE__, true);
    5080            0 :                           return _r;
    5081              :                         }
    5082            0 : next_after_fail1505:;
    5083              :                       }
    5084              :                   }
    5085              :                 }
    5086        54232 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5087              :                 {
    5088            4 :                   {
    5089            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5090            8 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5091            4 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5092            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5093              : )
    5094              :                       {
    5095            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1506;
    5096            0 :                         {
    5097            0 :                           tree res_op0;
    5098            0 :                           res_op0 = captures[0];
    5099            0 :                           tree res_op1;
    5100            0 :                           res_op1 = captures[2];
    5101            0 :                           tree _r;
    5102            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5103            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5104            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5105            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 930, __FILE__, __LINE__, true);
    5106            0 :                           return _r;
    5107              :                         }
    5108            0 : next_after_fail1506:;
    5109              :                       }
    5110              :                   }
    5111              :                 }
    5112        54232 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5113              :                 {
    5114          249 :                   {
    5115          249 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5116          498 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5117          249 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5118            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5119              : )
    5120              :                       {
    5121            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1507;
    5122            0 :                         {
    5123            0 :                           tree res_op0;
    5124            0 :                           res_op0 = captures[0];
    5125            0 :                           tree res_op1;
    5126            0 :                           res_op1 = captures[2];
    5127            0 :                           tree _r;
    5128            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5129            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5130            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5131            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 930, __FILE__, __LINE__, true);
    5132            0 :                           return _r;
    5133              :                         }
    5134            0 : next_after_fail1507:;
    5135              :                       }
    5136              :                   }
    5137              :                 }
    5138              :               break;
    5139              :             }
    5140       672000 :           default:;
    5141              :           }
    5142       672000 :         switch (TREE_CODE (_q21))
    5143              :           {
    5144         2700 :           CASE_CONVERT:
    5145         2700 :             {
    5146         2700 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5147         2700 :               switch (TREE_CODE (_p1))
    5148              :                 {
    5149          158 :                 CASE_CONVERT:
    5150          158 :                   {
    5151          158 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5152          158 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    5153              :                       {
    5154            0 :                         {
    5155            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5156            0 :                           tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5157            0 :                           if (res) return res;
    5158              :                         }
    5159              :                       }
    5160              :                     break;
    5161              :                   }
    5162              :                 default:;
    5163              :                 }
    5164              :               break;
    5165              :             }
    5166       672000 :           default:;
    5167              :           }
    5168       672000 :         switch (TREE_CODE (_q20))
    5169              :           {
    5170        25754 :           CASE_CONVERT:
    5171        25754 :             {
    5172        25754 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5173        25754 :               switch (TREE_CODE (_p1))
    5174              :                 {
    5175          355 :                 CASE_CONVERT:
    5176          355 :                   {
    5177          355 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5178          355 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5179              :                       {
    5180            2 :                         {
    5181            2 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5182            2 :                           tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5183            2 :                           if (res) return res;
    5184              :                         }
    5185              :                       }
    5186              :                     break;
    5187              :                   }
    5188        25753 :                 default:;
    5189              :                 }
    5190        25753 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5191              :                 {
    5192            0 :                   {
    5193            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5194            0 :                     tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5195            0 :                     if (res) return res;
    5196              :                   }
    5197              :                 }
    5198              :               break;
    5199              :             }
    5200       671999 :           default:;
    5201              :           }
    5202       671999 :         switch (TREE_CODE (_q21))
    5203              :           {
    5204         2700 :           CASE_CONVERT:
    5205         2700 :             {
    5206         2700 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5207         2700 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5208              :                 {
    5209            0 :                   {
    5210            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5211            0 :                     tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5212            0 :                     if (res) return res;
    5213              :                   }
    5214              :                 }
    5215              :               break;
    5216              :             }
    5217       671999 :           default:;
    5218              :           }
    5219       671999 :         switch (TREE_CODE (_p1))
    5220              :           {
    5221        12461 :           CASE_CONVERT:
    5222        12461 :             {
    5223        12461 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5224        12461 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5225              :                 {
    5226            0 :                   {
    5227            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5228            0 :                     tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5229            0 :                     if (res) return res;
    5230              :                   }
    5231              :                 }
    5232        12461 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5233              :                 {
    5234            0 :                   {
    5235            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5236            0 :                     tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5237            0 :                     if (res) return res;
    5238              :                   }
    5239              :                 }
    5240              :               break;
    5241              :             }
    5242       671999 :           default:;
    5243              :           }
    5244       671999 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5245              :           {
    5246         2419 :             {
    5247         2419 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5248         2419 :               tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5249         2419 :               if (res) return res;
    5250              :             }
    5251              :           }
    5252       669648 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5253              :           {
    5254           78 :             {
    5255           78 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5256           78 :               tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5257           78 :               if (res) return res;
    5258              :             }
    5259              :           }
    5260              :         break;
    5261              :       }
    5262        64286 :     case POINTER_PLUS_EXPR:
    5263        64286 :       {
    5264        64286 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5265        64286 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5266        64286 :         switch (TREE_CODE (_p1))
    5267              :           {
    5268         2294 :           case POINTER_PLUS_EXPR:
    5269         2294 :             {
    5270         2294 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5271         2294 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5272         2294 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5273              :                 {
    5274           14 :                   {
    5275           14 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5276           14 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5277           14 :                     if (res) return res;
    5278              :                   }
    5279              :                 }
    5280              :               break;
    5281              :             }
    5282        64272 :           default:;
    5283              :           }
    5284        64272 :         switch (TREE_CODE (_q20))
    5285              :           {
    5286         1146 :           CASE_CONVERT:
    5287         1146 :             {
    5288         1146 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5289         1146 :               switch (TREE_CODE (_p1))
    5290              :                 {
    5291           84 :                 CASE_CONVERT:
    5292           84 :                   {
    5293           84 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5294           84 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5295              :                       {
    5296           54 :                         {
    5297           54 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5298           54 :                           tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5299           54 :                           if (res) return res;
    5300              :                         }
    5301              :                       }
    5302              :                     break;
    5303              :                   }
    5304         1092 :                 default:;
    5305              :                 }
    5306         1092 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5307              :                 {
    5308            0 :                   {
    5309            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5310            0 :                     tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5311            0 :                     if (res) return res;
    5312              :                   }
    5313              :                 }
    5314              :               break;
    5315              :             }
    5316        64218 :           default:;
    5317              :           }
    5318        64218 :         switch (TREE_CODE (_p1))
    5319              :           {
    5320          413 :           CASE_CONVERT:
    5321          413 :             {
    5322          413 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5323          413 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5324              :                 {
    5325            0 :                   {
    5326            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5327            0 :                     tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5328            0 :                     if (res) return res;
    5329              :                   }
    5330              :                 }
    5331              :               break;
    5332              :             }
    5333        64218 :           default:;
    5334              :           }
    5335        64218 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5336              :           {
    5337         1470 :             {
    5338         1470 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5339         1470 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5340         1470 :               if (res) return res;
    5341              :             }
    5342              :           }
    5343              :         break;
    5344              :       }
    5345       155009 :     case MINUS_EXPR:
    5346       155009 :       {
    5347       155009 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5348       155009 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5349       155009 :         switch (TREE_CODE (_p1))
    5350              :           {
    5351          177 :           case MINUS_EXPR:
    5352          177 :             {
    5353          177 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5354          177 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5355          177 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5356              :                 {
    5357           40 :                   {
    5358           40 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5359           80 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5360           40 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5361            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5362              : )
    5363              :                       {
    5364            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1508;
    5365            0 :                         {
    5366            0 :                           tree res_op0;
    5367            0 :                           res_op0 = captures[0];
    5368            0 :                           tree res_op1;
    5369            0 :                           res_op1 = captures[2];
    5370            0 :                           tree _r;
    5371            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5372            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5373            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5374            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 931, __FILE__, __LINE__, true);
    5375            0 :                           return _r;
    5376              :                         }
    5377            0 : next_after_fail1508:;
    5378              :                       }
    5379              :                   }
    5380              :                 }
    5381          177 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5382              :                 {
    5383           40 :                   {
    5384           40 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5385           80 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    5386           40 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    5387            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
    5388              : )
    5389              :                       {
    5390            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1509;
    5391            0 :                         {
    5392            0 :                           tree res_op0;
    5393            0 :                           res_op0 = captures[2];
    5394            0 :                           tree res_op1;
    5395            0 :                           res_op1 = captures[1];
    5396            0 :                           tree _r;
    5397            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5398            0 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    5399            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5400            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 932, __FILE__, __LINE__, true);
    5401            0 :                           return _r;
    5402              :                         }
    5403            0 : next_after_fail1509:;
    5404              :                       }
    5405              :                   }
    5406              :                 }
    5407              :               break;
    5408              :             }
    5409       155009 :           default:;
    5410              :           }
    5411       155009 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5412              :           {
    5413           92 :             {
    5414           92 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5415           92 :               tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5416           92 :               if (res) return res;
    5417              :             }
    5418              :           }
    5419              :         break;
    5420              :       }
    5421        32617 :     case POINTER_DIFF_EXPR:
    5422        32617 :       {
    5423        32617 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5424        32617 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5425        32617 :         switch (TREE_CODE (_p1))
    5426              :           {
    5427         1286 :           case POINTER_DIFF_EXPR:
    5428         1286 :             {
    5429         1286 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5430         1286 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5431         1286 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5432              :                 {
    5433            0 :                   {
    5434            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5435            0 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5436            0 :                     if (res) return res;
    5437              :                   }
    5438              :                 }
    5439         1286 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5440              :                 {
    5441            0 :                   {
    5442            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5443            0 :                     tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5444            0 :                     if (res) return res;
    5445              :                   }
    5446              :                 }
    5447              :               break;
    5448              :             }
    5449              :           default:;
    5450              :           }
    5451              :         break;
    5452              :       }
    5453     27907293 :     default:;
    5454              :     }
    5455     27907293 : {
    5456     27907293 :   tree _p0_pops[1];
    5457     27907293 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    5458              :     {
    5459         7844 :       tree _q20 = _p0_pops[0];
    5460         7844 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5461              :         {
    5462            9 :           if (tree_truth_valued_p (_p1))
    5463              :             {
    5464            0 :               {
    5465            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5466            0 :                 tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5467            0 :                 if (res) return res;
    5468              :               }
    5469              :             }
    5470              :         }
    5471              :     }
    5472              : }
    5473     27907293 : if (tree_truth_valued_p (_p0))
    5474              :   {
    5475       636919 :     switch (TREE_CODE (_p1))
    5476              :       {
    5477           24 :       case BIT_NOT_EXPR:
    5478           24 :         {
    5479           24 :           tree _q30 = TREE_OPERAND (_p1, 0);
    5480           24 :           if (tree_truth_valued_p (_q30))
    5481              :             {
    5482            4 :               {
    5483            4 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5484            4 :                 tree res = generic_simplify_214 (loc, type, _p0, _p1, captures);
    5485            4 :                 if (res) return res;
    5486              :               }
    5487              :             }
    5488              :           break;
    5489              :         }
    5490       636919 :       default:;
    5491              :       }
    5492       636919 :   {
    5493       636919 :     tree _p1_pops[1];
    5494       636919 :     if (tree_logical_inverted_value (_p1, _p1_pops))
    5495              :       {
    5496           99 :         tree _q30 = _p1_pops[0];
    5497           99 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5498              :           {
    5499            0 :             {
    5500            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5501            0 :               tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5502            0 :               if (res) return res;
    5503              :             }
    5504              :           }
    5505              :       }
    5506              :   }
    5507              :   }
    5508     27907293 :   switch (TREE_CODE (_p1))
    5509              :     {
    5510        88271 :     case PLUS_EXPR:
    5511        88271 :       {
    5512        88271 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5513        88271 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5514        88271 :         switch (TREE_CODE (_q31))
    5515              :           {
    5516           26 :           CASE_CONVERT:
    5517           26 :             {
    5518           26 :               tree _q50 = TREE_OPERAND (_q31, 0);
    5519           26 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5520              :                 {
    5521            0 :                   {
    5522            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5523            0 :                     tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5524            0 :                     if (res) return res;
    5525              :                   }
    5526              :                 }
    5527              :               break;
    5528              :             }
    5529        88271 :           default:;
    5530              :           }
    5531        88271 :         switch (TREE_CODE (_q30))
    5532              :           {
    5533        22456 :           CASE_CONVERT:
    5534        22456 :             {
    5535        22456 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5536        22456 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5537              :                 {
    5538            0 :                   {
    5539            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5540            0 :                     tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5541            0 :                     if (res) return res;
    5542              :                   }
    5543              :                 }
    5544              :               break;
    5545              :             }
    5546        88271 :           default:;
    5547              :           }
    5548        88271 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5549              :           {
    5550            0 :             {
    5551            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5552            0 :               tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5553            0 :               if (res) return res;
    5554              :             }
    5555              :           }
    5556        88271 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5557              :           {
    5558            0 :             {
    5559            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5560            0 :               tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5561            0 :               if (res) return res;
    5562              :             }
    5563              :           }
    5564              :         break;
    5565              :       }
    5566     27907293 :     default:;
    5567              :     }
    5568     27907293 : {
    5569     27907293 :   tree _p1_pops[1];
    5570     27907293 :   if (tree_nop_convert (_p1, _p1_pops))
    5571              :     {
    5572      1501715 :       tree _q30 = _p1_pops[0];
    5573      1501715 :       switch (TREE_CODE (_q30))
    5574              :         {
    5575          998 :         case PLUS_EXPR:
    5576          998 :           {
    5577          998 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5578          998 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5579          998 :             switch (TREE_CODE (_q41))
    5580              :               {
    5581            2 :               CASE_CONVERT:
    5582            2 :                 {
    5583            2 :                   tree _q60 = TREE_OPERAND (_q41, 0);
    5584            2 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    5585              :                     {
    5586            0 :                       {
    5587            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5588            0 :                         tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5589            0 :                         if (res) return res;
    5590              :                       }
    5591              :                     }
    5592              :                   break;
    5593              :                 }
    5594          998 :               default:;
    5595              :               }
    5596          998 :             switch (TREE_CODE (_q40))
    5597              :               {
    5598          908 :               CASE_CONVERT:
    5599          908 :                 {
    5600          908 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5601          908 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5602              :                     {
    5603            0 :                       {
    5604            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5605            0 :                         tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5606            0 :                         if (res) return res;
    5607              :                       }
    5608              :                     }
    5609              :                   break;
    5610              :                 }
    5611          998 :               default:;
    5612              :               }
    5613          998 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    5614              :               {
    5615            0 :                 {
    5616            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5617            0 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5618            0 :                   if (res) return res;
    5619              :                 }
    5620              :               }
    5621          998 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5622              :               {
    5623            0 :                 {
    5624            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5625            0 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5626            0 :                   if (res) return res;
    5627              :                 }
    5628              :               }
    5629              :             break;
    5630              :           }
    5631              :         default:;
    5632              :         }
    5633              :     }
    5634              : }
    5635     27907293 :   switch (TREE_CODE (_p0))
    5636              :     {
    5637      5264386 :     CASE_CONVERT:
    5638      5264386 :       {
    5639      5264386 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5640      5264386 :         switch (TREE_CODE (_p1))
    5641              :           {
    5642          159 :           case POINTER_PLUS_EXPR:
    5643          159 :             {
    5644          159 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5645          159 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5646          159 :               switch (TREE_CODE (_q40))
    5647              :                 {
    5648           96 :                 CASE_CONVERT:
    5649           96 :                   {
    5650           96 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5651           96 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5652              :                       {
    5653            3 :                         {
    5654            3 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5655            3 :                           tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5656            3 :                           if (res) return res;
    5657              :                         }
    5658              :                       }
    5659              :                     break;
    5660              :                   }
    5661          156 :                 default:;
    5662              :                 }
    5663          156 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    5664              :                 {
    5665            0 :                   {
    5666            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5667            0 :                     tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5668            0 :                     if (res) return res;
    5669              :                   }
    5670              :                 }
    5671              :               break;
    5672              :             }
    5673      5264383 :           default:;
    5674              :           }
    5675      5264383 :       {
    5676      5264383 :         tree _p1_pops[1];
    5677      5264383 :         if (tree_nop_convert (_p1, _p1_pops))
    5678              :           {
    5679      1262253 :             tree _q40 = _p1_pops[0];
    5680      1262253 :             switch (TREE_CODE (_q40))
    5681              :               {
    5682           18 :               case POINTER_PLUS_EXPR:
    5683           18 :                 {
    5684           18 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5685           18 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    5686           18 :                   switch (TREE_CODE (_q50))
    5687              :                     {
    5688            0 :                     CASE_CONVERT:
    5689            0 :                       {
    5690            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    5691            0 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5692              :                           {
    5693            0 :                             {
    5694            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5695            0 :                               tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5696            0 :                               if (res) return res;
    5697              :                             }
    5698              :                           }
    5699              :                         break;
    5700              :                       }
    5701           18 :                     default:;
    5702              :                     }
    5703           18 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5704              :                     {
    5705            0 :                       {
    5706            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5707            0 :                         tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5708            0 :                         if (res) return res;
    5709              :                       }
    5710              :                     }
    5711              :                   break;
    5712              :                 }
    5713              :               default:;
    5714              :               }
    5715              :           }
    5716              :       }
    5717      5264383 :         break;
    5718              :       }
    5719     27907290 :     default:;
    5720              :     }
    5721     27907290 : {
    5722     27907290 :   tree _p0_pops[1];
    5723     27907290 :   if (tree_nop_convert (_p0, _p0_pops))
    5724              :     {
    5725      3071565 :       tree _q20 = _p0_pops[0];
    5726      3071565 :       switch (TREE_CODE (_q20))
    5727              :         {
    5728           97 :         case POINTER_PLUS_EXPR:
    5729           97 :           {
    5730           97 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5731           97 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5732           97 :             switch (TREE_CODE (_q30))
    5733              :               {
    5734           21 :               CASE_CONVERT:
    5735           21 :                 {
    5736           21 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    5737           21 :                   switch (TREE_CODE (_p1))
    5738              :                     {
    5739            0 :                     CASE_CONVERT:
    5740            0 :                       {
    5741            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    5742            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    5743              :                           {
    5744            0 :                             {
    5745            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5746            0 :                               tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5747            0 :                               if (res) return res;
    5748              :                             }
    5749              :                           }
    5750              :                         break;
    5751              :                       }
    5752           21 :                     default:;
    5753              :                     }
    5754           21 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5755              :                     {
    5756            0 :                       {
    5757            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5758            0 :                         tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5759            0 :                         if (res) return res;
    5760              :                       }
    5761              :                     }
    5762              :                   break;
    5763              :                 }
    5764           97 :               default:;
    5765              :               }
    5766           97 :             switch (TREE_CODE (_p1))
    5767              :               {
    5768           27 :               CASE_CONVERT:
    5769           27 :                 {
    5770           27 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5771           27 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5772              :                     {
    5773            0 :                       {
    5774            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5775            0 :                         tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5776            0 :                         if (res) return res;
    5777              :                       }
    5778              :                     }
    5779              :                   break;
    5780              :                 }
    5781           97 :               default:;
    5782              :               }
    5783           97 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5784              :               {
    5785            0 :                 {
    5786            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5787            0 :                   tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5788            0 :                   if (res) return res;
    5789              :                 }
    5790              :               }
    5791              :             break;
    5792              :           }
    5793              :         default:;
    5794              :         }
    5795              :     }
    5796              : }
    5797     27907290 :   switch (TREE_CODE (_p1))
    5798              :     {
    5799         6041 :     case POINTER_PLUS_EXPR:
    5800         6041 :       {
    5801         6041 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5802         6041 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5803         6041 :         switch (TREE_CODE (_q30))
    5804              :           {
    5805         3488 :           CASE_CONVERT:
    5806         3488 :             {
    5807         3488 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5808         3488 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5809              :                 {
    5810            0 :                   {
    5811            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5812            0 :                     tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5813            0 :                     if (res) return res;
    5814              :                   }
    5815              :                 }
    5816              :               break;
    5817              :             }
    5818         6041 :           default:;
    5819              :           }
    5820         6041 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5821              :           {
    5822            0 :             {
    5823            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5824            0 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5825            0 :               if (res) return res;
    5826              :             }
    5827              :           }
    5828              :         break;
    5829              :       }
    5830     27907290 :     default:;
    5831              :     }
    5832     27907290 : {
    5833     27907290 :   tree _p1_pops[1];
    5834     27907290 :   if (tree_nop_convert (_p1, _p1_pops))
    5835              :     {
    5836      1501715 :       tree _q30 = _p1_pops[0];
    5837      1501715 :       switch (TREE_CODE (_q30))
    5838              :         {
    5839           32 :         case POINTER_PLUS_EXPR:
    5840           32 :           {
    5841           32 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5842           32 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5843           32 :             switch (TREE_CODE (_q40))
    5844              :               {
    5845            0 :               CASE_CONVERT:
    5846            0 :                 {
    5847            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5848            0 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5849              :                     {
    5850            0 :                       {
    5851            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5852            0 :                         tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5853            0 :                         if (res) return res;
    5854              :                       }
    5855              :                     }
    5856              :                   break;
    5857              :                 }
    5858           32 :               default:;
    5859              :               }
    5860           32 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5861              :               {
    5862            0 :                 {
    5863            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5864            0 :                   tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5865            0 :                   if (res) return res;
    5866              :                 }
    5867              :               }
    5868              :             break;
    5869              :           }
    5870              :         default:;
    5871              :         }
    5872              :     }
    5873              : }
    5874     27907290 :   switch (TREE_CODE (_p0))
    5875              :     {
    5876        62748 :     case POINTER_PLUS_EXPR:
    5877        62748 :       {
    5878        62748 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5879        62748 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5880        62748 :         switch (TREE_CODE (_p1))
    5881              :           {
    5882        12163 :           case ADDR_EXPR:
    5883        12163 :             {
    5884        12163 :               {
    5885        12163 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5886        12163 :                 tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5887        12163 :                 if (res) return res;
    5888              :               }
    5889        12162 :               break;
    5890              :             }
    5891        62747 :           default:;
    5892              :           }
    5893        62747 :         switch (TREE_CODE (_q20))
    5894              :           {
    5895         1177 :           case ADDR_EXPR:
    5896         1177 :             {
    5897         1177 :               switch (TREE_CODE (_p1))
    5898              :                 {
    5899           15 :                 case POINTER_PLUS_EXPR:
    5900           15 :                   {
    5901           15 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5902           15 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5903           15 :                     switch (TREE_CODE (_q50))
    5904              :                       {
    5905            6 :                       case ADDR_EXPR:
    5906            6 :                         {
    5907            6 :                           {
    5908            6 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    5909            6 :                             tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5910            6 :                             if (res) return res;
    5911              :                           }
    5912            6 :                           break;
    5913              :                         }
    5914              :                       default:;
    5915              :                       }
    5916              :                     break;
    5917              :                   }
    5918              :                 default:;
    5919              :                 }
    5920              :               break;
    5921              :             }
    5922              :           default:;
    5923              :           }
    5924              :         break;
    5925              :       }
    5926        86010 :     case ADDR_EXPR:
    5927        86010 :       {
    5928        86010 :         switch (TREE_CODE (_p1))
    5929              :           {
    5930            0 :           case POINTER_PLUS_EXPR:
    5931            0 :             {
    5932            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    5933            0 :               tree _q31 = TREE_OPERAND (_p1, 1);
    5934            0 :               {
    5935            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5936            0 :                 tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5937            0 :                 if (res) return res;
    5938              :               }
    5939            0 :               break;
    5940              :             }
    5941              :           default:;
    5942              :           }
    5943              :         break;
    5944              :       }
    5945     27907289 :     default:;
    5946              :     }
    5947     27907289 :   switch (TREE_CODE (_p1))
    5948              :     {
    5949         3606 :     case MINUS_EXPR:
    5950         3606 :       {
    5951         3606 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5952         3606 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5953         3606 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5954              :           {
    5955            0 :             {
    5956            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5957            0 :               tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5958            0 :               if (res) return res;
    5959              :             }
    5960              :           }
    5961              :         break;
    5962              :       }
    5963     27907289 :     default:;
    5964              :     }
    5965     27907289 :   switch (TREE_CODE (_p0))
    5966              :     {
    5967         4387 :     case TRUNC_DIV_EXPR:
    5968         4387 :       {
    5969         4387 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5970         4387 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5971         4387 :         if (tree_expr_nonnegative_p (_q20))
    5972              :           {
    5973         1124 :             if (tree_expr_nonnegative_p (_q21))
    5974              :               {
    5975         1070 :                 if (integer_zerop (_p1))
    5976              :                   {
    5977          256 :                     {
    5978          256 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5979          256 :                       tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    5980          256 :                       if (res) return res;
    5981              :                     }
    5982              :                   }
    5983              :               }
    5984              :           }
    5985              :         break;
    5986              :       }
    5987      5264383 :     CASE_CONVERT:
    5988      5264383 :       {
    5989      5264383 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5990      5264383 :         switch (TREE_CODE (_p1))
    5991              :           {
    5992      1671885 :           CASE_CONVERT:
    5993      1671885 :             {
    5994      1671885 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5995      1671885 :               switch (TREE_CODE (_q40))
    5996              :                 {
    5997            0 :                 case MINUS_EXPR:
    5998            0 :                   {
    5999            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6000            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6001            0 :                     switch (TREE_CODE (_q50))
    6002              :                       {
    6003            0 :                       case INTEGER_CST:
    6004            0 :                         {
    6005            0 :                           switch (TREE_CODE (_q51))
    6006              :                             {
    6007            0 :                             CASE_CONVERT:
    6008            0 :                               {
    6009            0 :                                 tree _q70 = TREE_OPERAND (_q51, 0);
    6010            0 :                                 if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6011              :                                   {
    6012            0 :                                     {
    6013            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    6014            0 :                                       tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6015            0 :                                       if (res) return res;
    6016              :                                     }
    6017              :                                   }
    6018              :                                 break;
    6019              :                               }
    6020              :                             default:;
    6021              :                             }
    6022              :                           break;
    6023              :                         }
    6024              :                       default:;
    6025              :                       }
    6026              :                     break;
    6027              :                   }
    6028              :                 default:;
    6029              :                 }
    6030              :               break;
    6031              :             }
    6032      5264383 :           default:;
    6033              :           }
    6034      5264383 :         switch (TREE_CODE (_q20))
    6035              :           {
    6036          244 :           case MINUS_EXPR:
    6037          244 :             {
    6038          244 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6039          244 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6040          244 :               switch (TREE_CODE (_q30))
    6041              :                 {
    6042           56 :                 case INTEGER_CST:
    6043           56 :                   {
    6044           56 :                     switch (TREE_CODE (_q31))
    6045              :                       {
    6046            0 :                       CASE_CONVERT:
    6047            0 :                         {
    6048            0 :                           tree _q50 = TREE_OPERAND (_q31, 0);
    6049            0 :                           switch (TREE_CODE (_p1))
    6050              :                             {
    6051            0 :                             CASE_CONVERT:
    6052            0 :                               {
    6053            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    6054            0 :                                 if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    6055              :                                   {
    6056            0 :                                     {
    6057            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    6058            0 :                                       tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6059            0 :                                       if (res) return res;
    6060              :                                     }
    6061              :                                   }
    6062              :                                 break;
    6063              :                               }
    6064            0 :                             default:;
    6065              :                             }
    6066            0 :                           if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6067              :                             {
    6068            0 :                               {
    6069            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    6070            0 :                                 tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6071            0 :                                 if (res) return res;
    6072              :                               }
    6073              :                             }
    6074              :                           break;
    6075              :                         }
    6076           56 :                       default:;
    6077              :                       }
    6078           56 :                     switch (TREE_CODE (_p1))
    6079              :                       {
    6080            0 :                       CASE_CONVERT:
    6081            0 :                         {
    6082            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6083            0 :                           if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    6084              :                             {
    6085            0 :                               {
    6086            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6087            0 :                                 tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6088            0 :                                 if (res) return res;
    6089              :                               }
    6090              :                             }
    6091              :                           break;
    6092              :                         }
    6093           56 :                       default:;
    6094              :                       }
    6095           56 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6096              :                       {
    6097            0 :                         {
    6098            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6099            0 :                           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6100            0 :                           if (res) return res;
    6101              :                         }
    6102              :                       }
    6103              :                     break;
    6104              :                   }
    6105              :                 default:;
    6106              :                 }
    6107              :               break;
    6108              :             }
    6109      5264383 :           default:;
    6110              :           }
    6111      5264383 :         switch (TREE_CODE (_p1))
    6112              :           {
    6113      1671885 :           CASE_CONVERT:
    6114      1671885 :             {
    6115      1671885 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6116      1671885 :               switch (TREE_CODE (_q40))
    6117              :                 {
    6118            0 :                 case MINUS_EXPR:
    6119            0 :                   {
    6120            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6121            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6122            0 :                     switch (TREE_CODE (_q50))
    6123              :                       {
    6124            0 :                       case INTEGER_CST:
    6125            0 :                         {
    6126            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6127              :                             {
    6128            0 :                               {
    6129            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    6130            0 :                                 tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6131            0 :                                 if (res) return res;
    6132              :                               }
    6133              :                             }
    6134              :                           break;
    6135              :                         }
    6136              :                       default:;
    6137              :                       }
    6138              :                     break;
    6139              :                   }
    6140              :                 default:;
    6141              :                 }
    6142              :               break;
    6143              :             }
    6144          285 :           case MINUS_EXPR:
    6145          285 :             {
    6146          285 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6147          285 :               tree _q41 = TREE_OPERAND (_p1, 1);
    6148          285 :               switch (TREE_CODE (_q40))
    6149              :                 {
    6150           82 :                 case INTEGER_CST:
    6151           82 :                   {
    6152           82 :                     switch (TREE_CODE (_q41))
    6153              :                       {
    6154           12 :                       CASE_CONVERT:
    6155           12 :                         {
    6156           12 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6157           12 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6158              :                             {
    6159            0 :                               {
    6160            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6161            0 :                                 tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6162            0 :                                 if (res) return res;
    6163              :                               }
    6164              :                             }
    6165              :                           break;
    6166              :                         }
    6167           82 :                       default:;
    6168              :                       }
    6169           82 :                     if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6170              :                       {
    6171            0 :                         {
    6172            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6173            0 :                           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6174            0 :                           if (res) return res;
    6175              :                         }
    6176              :                       }
    6177              :                     break;
    6178              :                   }
    6179              :                 default:;
    6180              :                 }
    6181              :               break;
    6182              :             }
    6183              :           default:;
    6184              :           }
    6185              :         break;
    6186              :       }
    6187       154927 :     case MINUS_EXPR:
    6188       154927 :       {
    6189       154927 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6190       154927 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6191       154927 :         switch (TREE_CODE (_q20))
    6192              :           {
    6193        39916 :           case INTEGER_CST:
    6194        39916 :             {
    6195        39916 :               switch (TREE_CODE (_q21))
    6196              :                 {
    6197        23523 :                 CASE_CONVERT:
    6198        23523 :                   {
    6199        23523 :                     tree _q40 = TREE_OPERAND (_q21, 0);
    6200        23523 :                     switch (TREE_CODE (_p1))
    6201              :                       {
    6202            0 :                       CASE_CONVERT:
    6203            0 :                         {
    6204            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6205            0 :                           if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    6206              :                             {
    6207            0 :                               {
    6208            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6209            0 :                                 tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6210            0 :                                 if (res) return res;
    6211              :                               }
    6212              :                             }
    6213              :                           break;
    6214              :                         }
    6215        23523 :                       default:;
    6216              :                       }
    6217        23523 :                     if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6218              :                       {
    6219            0 :                         {
    6220            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6221            0 :                           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6222            0 :                           if (res) return res;
    6223              :                         }
    6224              :                       }
    6225              :                     break;
    6226              :                   }
    6227        39916 :                 default:;
    6228              :                 }
    6229        39916 :               switch (TREE_CODE (_p1))
    6230              :                 {
    6231           43 :                 CASE_CONVERT:
    6232           43 :                   {
    6233           43 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6234           43 :                     if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6235              :                       {
    6236            0 :                         {
    6237            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6238            0 :                           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6239            0 :                           if (res) return res;
    6240              :                         }
    6241              :                       }
    6242              :                     break;
    6243              :                   }
    6244        39916 :                 default:;
    6245              :                 }
    6246        39916 :               if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6247              :                 {
    6248            2 :                   {
    6249            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6250            2 :                     tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6251            2 :                     if (res) return res;
    6252              :                   }
    6253              :                 }
    6254              :               break;
    6255              :             }
    6256              :           default:;
    6257              :           }
    6258              :         break;
    6259              :       }
    6260     27907043 :     default:;
    6261              :     }
    6262     27907043 :   switch (TREE_CODE (_p1))
    6263              :     {
    6264      1973064 :     CASE_CONVERT:
    6265      1973064 :       {
    6266      1973064 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6267      1973064 :         switch (TREE_CODE (_q30))
    6268              :           {
    6269           12 :           case MINUS_EXPR:
    6270           12 :             {
    6271           12 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6272           12 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6273           12 :               switch (TREE_CODE (_q40))
    6274              :                 {
    6275           12 :                 case INTEGER_CST:
    6276           12 :                   {
    6277           12 :                     switch (TREE_CODE (_q41))
    6278              :                       {
    6279           12 :                       CASE_CONVERT:
    6280           12 :                         {
    6281           12 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6282           12 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6283              :                             {
    6284            0 :                               {
    6285            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6286            0 :                                 tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6287            0 :                                 if (res) return res;
    6288              :                               }
    6289              :                             }
    6290              :                           break;
    6291              :                         }
    6292           12 :                       default:;
    6293              :                       }
    6294           12 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6295              :                       {
    6296            0 :                         {
    6297            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6298            0 :                           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6299            0 :                           if (res) return res;
    6300              :                         }
    6301              :                       }
    6302              :                     break;
    6303              :                   }
    6304              :                 default:;
    6305              :                 }
    6306              :               break;
    6307              :             }
    6308              :           default:;
    6309              :           }
    6310              :         break;
    6311              :       }
    6312         3606 :     case MINUS_EXPR:
    6313         3606 :       {
    6314         3606 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6315         3606 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6316         3606 :         switch (TREE_CODE (_q30))
    6317              :           {
    6318          286 :           case INTEGER_CST:
    6319          286 :             {
    6320          286 :               switch (TREE_CODE (_q31))
    6321              :                 {
    6322           16 :                 CASE_CONVERT:
    6323           16 :                   {
    6324           16 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    6325           16 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6326              :                       {
    6327            0 :                         {
    6328            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6329            0 :                           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6330            0 :                           if (res) return res;
    6331              :                         }
    6332              :                       }
    6333              :                     break;
    6334              :                   }
    6335          286 :                 default:;
    6336              :                 }
    6337          286 :               if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6338              :                 {
    6339            0 :                   {
    6340            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6341            0 :                     tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6342            0 :                     if (res) return res;
    6343              :                   }
    6344              :                 }
    6345              :               break;
    6346              :             }
    6347              :           default:;
    6348              :           }
    6349              :         break;
    6350              :       }
    6351     27907043 :     default:;
    6352              :     }
    6353     27907043 :   switch (TREE_CODE (_p0))
    6354              :     {
    6355         1130 :     case LT_EXPR:
    6356         1130 :       {
    6357         1130 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6358         1130 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6359         1130 :         switch (TREE_CODE (_p1))
    6360              :           {
    6361           16 :           case GT_EXPR:
    6362           16 :             {
    6363           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6364           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6365           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6366              :                 {
    6367            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6368              :                     {
    6369            0 :                       {
    6370            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6371            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6372            0 :                         if (res) return res;
    6373              :                       }
    6374              :                     }
    6375              :                 }
    6376              :               break;
    6377              :             }
    6378            0 :           case EQ_EXPR:
    6379            0 :             {
    6380            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6381            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6382            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6383              :                 {
    6384            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6385              :                     {
    6386            0 :                       {
    6387            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6388            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6389            0 :                         if (res) return res;
    6390              :                       }
    6391              :                     }
    6392              :                 }
    6393              :               break;
    6394              :             }
    6395            0 :           case NE_EXPR:
    6396            0 :             {
    6397            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6398            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6399            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6400              :                 {
    6401            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6402              :                     {
    6403            0 :                       {
    6404            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6405            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6406            0 :                         if (res) return res;
    6407              :                       }
    6408              :                     }
    6409              :                 }
    6410              :               break;
    6411              :             }
    6412              :           default:;
    6413              :           }
    6414              :         break;
    6415              :       }
    6416         1555 :     case LE_EXPR:
    6417         1555 :       {
    6418         1555 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6419         1555 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6420         1555 :         switch (TREE_CODE (_p1))
    6421              :           {
    6422            5 :           case GE_EXPR:
    6423            5 :             {
    6424            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6425            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6426            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6427              :                 {
    6428            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6429              :                     {
    6430            0 :                       {
    6431            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6432            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6433            0 :                         if (res) return res;
    6434              :                       }
    6435              :                     }
    6436              :                 }
    6437              :               break;
    6438              :             }
    6439            0 :           case EQ_EXPR:
    6440            0 :             {
    6441            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6442            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6443            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6444              :                 {
    6445            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6446              :                     {
    6447            0 :                       {
    6448            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6449            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6450            0 :                         if (res) return res;
    6451              :                       }
    6452              :                     }
    6453              :                 }
    6454              :               break;
    6455              :             }
    6456            8 :           case NE_EXPR:
    6457            8 :             {
    6458            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6459            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6460            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6461              :                 {
    6462            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6463              :                     {
    6464            0 :                       {
    6465            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6466            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6467            0 :                         if (res) return res;
    6468              :                       }
    6469              :                     }
    6470              :                 }
    6471              :               break;
    6472              :             }
    6473              :           default:;
    6474              :           }
    6475              :         break;
    6476              :       }
    6477        69329 :     case GT_EXPR:
    6478        69329 :       {
    6479        69329 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6480        69329 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6481        69329 :         switch (TREE_CODE (_p1))
    6482              :           {
    6483        67582 :           case GT_EXPR:
    6484        67582 :             {
    6485        67582 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6486        67582 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6487        67582 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6488              :                 {
    6489           12 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6490              :                     {
    6491            0 :                       {
    6492            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6493            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6494            0 :                         if (res) return res;
    6495              :                       }
    6496            0 :                       {
    6497            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6498            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6499            0 :                         if (res) return res;
    6500              :                       }
    6501              :                     }
    6502              :                 }
    6503              :               break;
    6504              :             }
    6505           57 :           case EQ_EXPR:
    6506           57 :             {
    6507           57 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6508           57 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6509           57 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6510              :                 {
    6511            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6512              :                     {
    6513            0 :                       {
    6514            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6515            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6516            0 :                         if (res) return res;
    6517              :                       }
    6518              :                     }
    6519              :                 }
    6520              :               break;
    6521              :             }
    6522           37 :           case NE_EXPR:
    6523           37 :             {
    6524           37 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6525           37 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6526           37 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6527              :                 {
    6528            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6529              :                     {
    6530            0 :                       {
    6531            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6532            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6533            0 :                         if (res) return res;
    6534              :                       }
    6535              :                     }
    6536              :                 }
    6537              :               break;
    6538              :             }
    6539           41 :           case LT_EXPR:
    6540           41 :             {
    6541           41 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6542           41 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6543           41 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6544              :                 {
    6545            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6546              :                     {
    6547            0 :                       {
    6548            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6549            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6550            0 :                         if (res) return res;
    6551              :                       }
    6552              :                     }
    6553              :                 }
    6554              :               break;
    6555              :             }
    6556              :           default:;
    6557              :           }
    6558              :         break;
    6559              :       }
    6560         6627 :     case GE_EXPR:
    6561         6627 :       {
    6562         6627 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6563         6627 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6564         6627 :         switch (TREE_CODE (_p1))
    6565              :           {
    6566           27 :           case GE_EXPR:
    6567           27 :             {
    6568           27 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6569           27 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6570           27 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6571              :                 {
    6572            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6573              :                     {
    6574            0 :                       {
    6575            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6576            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6577            0 :                         if (res) return res;
    6578              :                       }
    6579            0 :                       {
    6580            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6581            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6582            0 :                         if (res) return res;
    6583              :                       }
    6584              :                     }
    6585              :                 }
    6586              :               break;
    6587              :             }
    6588           90 :           case EQ_EXPR:
    6589           90 :             {
    6590           90 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6591           90 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6592           90 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6593              :                 {
    6594            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6595              :                     {
    6596            0 :                       {
    6597            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6598            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6599            0 :                         if (res) return res;
    6600              :                       }
    6601              :                     }
    6602              :                 }
    6603              :               break;
    6604              :             }
    6605           56 :           case NE_EXPR:
    6606           56 :             {
    6607           56 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6608           56 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6609           56 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6610              :                 {
    6611            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6612              :                     {
    6613            0 :                       {
    6614            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6615            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6616            0 :                         if (res) return res;
    6617              :                       }
    6618              :                     }
    6619              :                 }
    6620              :               break;
    6621              :             }
    6622            6 :           case LE_EXPR:
    6623            6 :             {
    6624            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6625            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6626            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6627              :                 {
    6628            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6629              :                     {
    6630            0 :                       {
    6631            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6632            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6633            0 :                         if (res) return res;
    6634              :                       }
    6635              :                     }
    6636              :                 }
    6637              :               break;
    6638              :             }
    6639              :           default:;
    6640              :           }
    6641              :         break;
    6642              :       }
    6643        32624 :     case EQ_EXPR:
    6644        32624 :       {
    6645        32624 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6646        32624 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6647        32624 :         switch (TREE_CODE (_p1))
    6648              :           {
    6649            5 :           case LT_EXPR:
    6650            5 :             {
    6651            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6652            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6653            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6654              :                 {
    6655            4 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6656              :                     {
    6657            0 :                       {
    6658            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6659            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6660            0 :                         if (res) return res;
    6661              :                       }
    6662              :                     }
    6663              :                 }
    6664              :               break;
    6665              :             }
    6666            4 :           case LE_EXPR:
    6667            4 :             {
    6668            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6669            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6670            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6671              :                 {
    6672            4 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6673              :                     {
    6674            0 :                       {
    6675            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6676            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6677            0 :                         if (res) return res;
    6678              :                       }
    6679              :                     }
    6680              :                 }
    6681              :               break;
    6682              :             }
    6683           75 :           case GT_EXPR:
    6684           75 :             {
    6685           75 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6686           75 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6687           75 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6688              :                 {
    6689            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6690              :                     {
    6691            0 :                       {
    6692            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6693            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6694            0 :                         if (res) return res;
    6695              :                       }
    6696              :                     }
    6697              :                 }
    6698              :               break;
    6699              :             }
    6700          112 :           case GE_EXPR:
    6701          112 :             {
    6702          112 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6703          112 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6704          112 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6705              :                 {
    6706            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6707              :                     {
    6708            0 :                       {
    6709            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6710            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6711            0 :                         if (res) return res;
    6712              :                       }
    6713              :                     }
    6714              :                 }
    6715              :               break;
    6716              :             }
    6717              :           default:;
    6718              :           }
    6719              :         break;
    6720              :       }
    6721        12081 :     case NE_EXPR:
    6722        12081 :       {
    6723        12081 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6724        12081 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6725        12081 :         switch (TREE_CODE (_p1))
    6726              :           {
    6727            6 :           case LT_EXPR:
    6728            6 :             {
    6729            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6730            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6731            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6732              :                 {
    6733            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6734              :                     {
    6735            0 :                       {
    6736            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6737            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6738            0 :                         if (res) return res;
    6739              :                       }
    6740              :                     }
    6741              :                 }
    6742              :               break;
    6743              :             }
    6744            0 :           case LE_EXPR:
    6745            0 :             {
    6746            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6747            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6748            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6749              :                 {
    6750            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6751              :                     {
    6752            0 :                       {
    6753            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6754            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6755            0 :                         if (res) return res;
    6756              :                       }
    6757              :                     }
    6758              :                 }
    6759              :               break;
    6760              :             }
    6761           21 :           case GT_EXPR:
    6762           21 :             {
    6763           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6764           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6765           21 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6766              :                 {
    6767            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6768              :                     {
    6769            0 :                       {
    6770            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6771            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6772            0 :                         if (res) return res;
    6773              :                       }
    6774              :                     }
    6775              :                 }
    6776              :               break;
    6777              :             }
    6778            3 :           case GE_EXPR:
    6779            3 :             {
    6780            3 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6781            3 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6782            3 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6783              :                 {
    6784            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6785              :                     {
    6786            0 :                       {
    6787            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6788            0 :                         tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6789            0 :                         if (res) return res;
    6790              :                       }
    6791              :                     }
    6792              :                 }
    6793              :               break;
    6794              :             }
    6795              :           default:;
    6796              :           }
    6797              :         break;
    6798              :       }
    6799        11161 :     case MIN_EXPR:
    6800        11161 :       {
    6801        11161 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6802        11161 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6803        11161 :         switch (TREE_CODE (_p1))
    6804              :           {
    6805            0 :           case MAX_EXPR:
    6806            0 :             {
    6807            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6808            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6809            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6810              :                 {
    6811            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6812              :                     {
    6813            0 :                       {
    6814            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6815            0 :                         if (!HONOR_NANS (captures[0])
    6816              : )
    6817              :                           {
    6818            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1510;
    6819            0 :                             {
    6820            0 :                               tree res_op0;
    6821            0 :                               res_op0 = captures[0];
    6822            0 :                               tree res_op1;
    6823            0 :                               res_op1 = captures[1];
    6824            0 :                               tree _r;
    6825            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6826            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
    6827            0 :                               return _r;
    6828              :                             }
    6829            0 : next_after_fail1510:;
    6830              :                           }
    6831              :                       }
    6832              :                     }
    6833              :                 }
    6834            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6835              :                 {
    6836            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6837              :                     {
    6838            0 :                       {
    6839            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6840            0 :                         if (!HONOR_NANS (captures[0])
    6841              : )
    6842              :                           {
    6843            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1511;
    6844            0 :                             {
    6845            0 :                               tree res_op0;
    6846            0 :                               res_op0 = captures[0];
    6847            0 :                               tree res_op1;
    6848            0 :                               res_op1 = captures[1];
    6849            0 :                               tree _r;
    6850            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6851            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
    6852            0 :                               return _r;
    6853              :                             }
    6854            0 : next_after_fail1511:;
    6855              :                           }
    6856              :                       }
    6857              :                     }
    6858              :                 }
    6859              :               break;
    6860              :             }
    6861        11161 :           default:;
    6862              :           }
    6863        11161 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6864              :           {
    6865            0 :             {
    6866            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6867            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6868            0 :               if (res) return res;
    6869              :             }
    6870              :           }
    6871        11161 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6872              :           {
    6873            0 :             {
    6874            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6875            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6876            0 :               if (res) return res;
    6877              :             }
    6878              :           }
    6879              :         break;
    6880              :       }
    6881          710 :     case MAX_EXPR:
    6882          710 :       {
    6883          710 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6884          710 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6885          710 :         switch (TREE_CODE (_p1))
    6886              :           {
    6887            0 :           case MIN_EXPR:
    6888            0 :             {
    6889            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6890            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6891            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6892              :                 {
    6893            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6894              :                     {
    6895            0 :                       {
    6896            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6897            0 :                         if (!HONOR_NANS (captures[0])
    6898              : )
    6899              :                           {
    6900            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1512;
    6901            0 :                             {
    6902            0 :                               tree res_op0;
    6903            0 :                               res_op0 = captures[0];
    6904            0 :                               tree res_op1;
    6905            0 :                               res_op1 = captures[1];
    6906            0 :                               tree _r;
    6907            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6908            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
    6909            0 :                               return _r;
    6910              :                             }
    6911            0 : next_after_fail1512:;
    6912              :                           }
    6913              :                       }
    6914              :                     }
    6915              :                 }
    6916            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6917              :                 {
    6918            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6919              :                     {
    6920            0 :                       {
    6921            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6922            0 :                         if (!HONOR_NANS (captures[0])
    6923              : )
    6924              :                           {
    6925            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1513;
    6926            0 :                             {
    6927            0 :                               tree res_op0;
    6928            0 :                               res_op0 = captures[0];
    6929            0 :                               tree res_op1;
    6930            0 :                               res_op1 = captures[1];
    6931            0 :                               tree _r;
    6932            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6933            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
    6934            0 :                               return _r;
    6935              :                             }
    6936            0 : next_after_fail1513:;
    6937              :                           }
    6938              :                       }
    6939              :                     }
    6940              :                 }
    6941              :               break;
    6942              :             }
    6943          710 :           default:;
    6944              :           }
    6945          710 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6946              :           {
    6947            0 :             {
    6948            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6949            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6950            0 :               if (res) return res;
    6951              :             }
    6952              :           }
    6953          710 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6954              :           {
    6955            1 :             {
    6956            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6957            1 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6958            1 :               if (res) return res;
    6959              :             }
    6960              :           }
    6961              :         break;
    6962              :       }
    6963     27907043 :     default:;
    6964              :     }
    6965     27907043 : if (tree_with_possible_nonzero_bits (_p0))
    6966              :   {
    6967      9806891 :     if (tree_with_known_nonzero_bits (_p1))
    6968              :       {
    6969      8294551 :         {
    6970      8294551 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6971      8294551 :           tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6972      8294551 :           if (res) return res;
    6973              :         }
    6974              :       }
    6975              :   }
    6976     27890680 : if (tree_with_known_nonzero_bits (_p0))
    6977              :   {
    6978      6294847 :     if (tree_with_possible_nonzero_bits (_p1))
    6979              :       {
    6980      6262441 :         {
    6981      6262441 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    6982      6262441 :           tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6983      6262441 :           if (res) return res;
    6984              :         }
    6985              :       }
    6986              :   }
    6987     27890324 :   switch (TREE_CODE (_p1))
    6988              :     {
    6989          157 :     case MIN_EXPR:
    6990          157 :       {
    6991          157 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6992          157 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6993          157 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6994              :           {
    6995            0 :             {
    6996            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6997            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6998            0 :               if (res) return res;
    6999              :             }
    7000              :           }
    7001          157 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7002              :           {
    7003            0 :             {
    7004            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7005            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    7006            0 :               if (res) return res;
    7007              :             }
    7008              :           }
    7009              :         break;
    7010              :       }
    7011           58 :     case MAX_EXPR:
    7012           58 :       {
    7013           58 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7014           58 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7015           58 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7016              :           {
    7017            0 :             {
    7018            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7019            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    7020            0 :               if (res) return res;
    7021              :             }
    7022              :           }
    7023           58 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7024              :           {
    7025            0 :             {
    7026            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7027            0 :               tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    7028            0 :               if (res) return res;
    7029              :             }
    7030              :           }
    7031              :         break;
    7032              :       }
    7033     27890324 :     default:;
    7034              :     }
    7035     27890324 :   switch (TREE_CODE (_p0))
    7036              :     {
    7037        11161 :     case MIN_EXPR:
    7038        11161 :       {
    7039        11161 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7040        11161 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7041        11161 :         switch (TREE_CODE (_q21))
    7042              :           {
    7043          222 :           case INTEGER_CST:
    7044          222 :             {
    7045          222 :               switch (TREE_CODE (_p1))
    7046              :                 {
    7047            0 :                 case INTEGER_CST:
    7048            0 :                   {
    7049            0 :                     {
    7050            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7051            0 :                       tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7052            0 :                       if (res) return res;
    7053              :                     }
    7054            0 :                     break;
    7055              :                   }
    7056              :                 default:;
    7057              :                 }
    7058              :               break;
    7059              :             }
    7060              :           default:;
    7061              :           }
    7062              :         break;
    7063              :       }
    7064          710 :     case MAX_EXPR:
    7065          710 :       {
    7066          710 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7067          710 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7068          710 :         switch (TREE_CODE (_q21))
    7069              :           {
    7070          453 :           case INTEGER_CST:
    7071          453 :             {
    7072          453 :               switch (TREE_CODE (_p1))
    7073              :                 {
    7074           42 :                 case INTEGER_CST:
    7075           42 :                   {
    7076           42 :                     {
    7077           42 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7078           42 :                       tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7079           42 :                       if (res) return res;
    7080              :                     }
    7081            0 :                     break;
    7082              :                   }
    7083              :                 default:;
    7084              :                 }
    7085              :               break;
    7086              :             }
    7087          668 :           default:;
    7088              :           }
    7089          668 :         if (tree_expr_nonnegative_p (_q20))
    7090              :           {
    7091          162 :             if (tree_expr_nonnegative_p (_q21))
    7092              :               {
    7093          162 :                 if (integer_zerop (_p1))
    7094              :                   {
    7095            0 :                     {
    7096            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7097            0 :                       tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7098            0 :                       if (res) return res;
    7099              :                     }
    7100              :                   }
    7101              :               }
    7102              :           }
    7103              :         break;
    7104              :       }
    7105       849954 :     case BIT_AND_EXPR:
    7106       849954 :       {
    7107       849954 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7108       849954 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7109       849954 :         switch (TREE_CODE (_q20))
    7110              :           {
    7111          777 :           case LSHIFT_EXPR:
    7112          777 :             {
    7113          777 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7114          777 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7115          777 :               if (integer_pow2p (_q30))
    7116              :                 {
    7117          769 :                   if (integer_pow2p (_q21))
    7118              :                     {
    7119            1 :                       if (integer_zerop (_p1))
    7120              :                         {
    7121            1 :                           {
    7122            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7123            1 :                             tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7124            1 :                             if (res) return res;
    7125              :                           }
    7126              :                         }
    7127              :                     }
    7128              :                 }
    7129          776 :               switch (TREE_CODE (_q31))
    7130              :                 {
    7131            0 :                 case INTEGER_CST:
    7132            0 :                   {
    7133            0 :                     switch (TREE_CODE (_q21))
    7134              :                       {
    7135            0 :                       case INTEGER_CST:
    7136            0 :                         {
    7137            0 :                           switch (TREE_CODE (_p1))
    7138              :                             {
    7139            0 :                             case INTEGER_CST:
    7140            0 :                               {
    7141            0 :                                 {
    7142            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7143            0 :                                   tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7144            0 :                                   if (res) return res;
    7145              :                                 }
    7146            0 :                                 break;
    7147              :                               }
    7148              :                             default:;
    7149              :                             }
    7150              :                           break;
    7151              :                         }
    7152              :                       default:;
    7153              :                       }
    7154              :                     break;
    7155              :                   }
    7156          776 :                 default:;
    7157              :                 }
    7158          776 :               if (integer_onep (_q30))
    7159              :                 {
    7160          768 :                   if (integer_pow2p (_q21))
    7161              :                     {
    7162            0 :                       if (integer_zerop (_p1))
    7163              :                         {
    7164            0 :                           {
    7165            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
    7166            0 :                             tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7167            0 :                             if (res) return res;
    7168              :                           }
    7169              :                         }
    7170              :                     }
    7171              :                 }
    7172              :               break;
    7173              :             }
    7174         3037 :           case RSHIFT_EXPR:
    7175         3037 :             {
    7176         3037 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7177         3037 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7178         3037 :               if (integer_pow2p (_q30))
    7179              :                 {
    7180            1 :                   if (integer_pow2p (_q21))
    7181              :                     {
    7182            1 :                       if (integer_zerop (_p1))
    7183              :                         {
    7184            1 :                           {
    7185            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7186            1 :                             tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7187            1 :                             if (res) return res;
    7188              :                           }
    7189              :                         }
    7190              :                     }
    7191              :                 }
    7192         3036 :               switch (TREE_CODE (_q31))
    7193              :                 {
    7194          525 :                 case INTEGER_CST:
    7195          525 :                   {
    7196          525 :                     switch (TREE_CODE (_q21))
    7197              :                       {
    7198          525 :                       case INTEGER_CST:
    7199          525 :                         {
    7200          525 :                           switch (TREE_CODE (_p1))
    7201              :                             {
    7202          525 :                             case INTEGER_CST:
    7203          525 :                               {
    7204          525 :                                 {
    7205          525 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7206          525 :                                   tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7207          525 :                                   if (res) return res;
    7208              :                                 }
    7209            0 :                                 break;
    7210              :                               }
    7211              :                             default:;
    7212              :                             }
    7213              :                           break;
    7214              :                         }
    7215              :                       default:;
    7216              :                       }
    7217              :                     break;
    7218              :                   }
    7219              :                 default:;
    7220              :                 }
    7221              :               break;
    7222              :             }
    7223       849427 :           default:;
    7224              :           }
    7225       849427 :       {
    7226       849427 :         tree _q20_pops[1];
    7227       849427 :         if (tree_nop_convert (_q20, _q20_pops))
    7228              :           {
    7229        21868 :             tree _q30 = _q20_pops[0];
    7230        21868 :             switch (TREE_CODE (_q30))
    7231              :               {
    7232            0 :               case LSHIFT_EXPR:
    7233            0 :                 {
    7234            0 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7235            0 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    7236            0 :                   if (integer_onep (_q40))
    7237              :                     {
    7238            0 :                       if (integer_pow2p (_q21))
    7239              :                         {
    7240            0 :                           if (integer_zerop (_p1))
    7241              :                             {
    7242            0 :                               {
    7243            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
    7244            0 :                                 tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7245            0 :                                 if (res) return res;
    7246              :                               }
    7247              :                             }
    7248              :                         }
    7249              :                     }
    7250              :                   break;
    7251              :                 }
    7252              :               default:;
    7253              :               }
    7254              :           }
    7255              :       }
    7256       849427 :         break;
    7257              :       }
    7258         2021 :     case LSHIFT_EXPR:
    7259         2021 :       {
    7260         2021 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7261         2021 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7262         2021 :         switch (TREE_CODE (_q20))
    7263              :           {
    7264          336 :           case INTEGER_CST:
    7265          336 :             {
    7266          336 :               switch (TREE_CODE (_p1))
    7267              :                 {
    7268           20 :                 case INTEGER_CST:
    7269           20 :                   {
    7270           20 :                     {
    7271           20 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7272           20 :                       tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7273           20 :                       if (res) return res;
    7274              :                     }
    7275            3 :                     break;
    7276              :                   }
    7277              :                 default:;
    7278              :                 }
    7279              :               break;
    7280              :             }
    7281              :           default:;
    7282              :           }
    7283              :         break;
    7284              :       }
    7285            0 :     case LROTATE_EXPR:
    7286            0 :       {
    7287            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7288            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7289            0 :         switch (TREE_CODE (_p1))
    7290              :           {
    7291            0 :           case LROTATE_EXPR:
    7292            0 :             {
    7293            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7294            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7295            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7296              :                 {
    7297            0 :                   {
    7298            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7299            0 :                     tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7300            0 :                     if (res) return res;
    7301              :                   }
    7302              :                 }
    7303              :               break;
    7304              :             }
    7305            0 :           default:;
    7306              :           }
    7307            0 :         switch (TREE_CODE (_q21))
    7308              :           {
    7309            0 :           case INTEGER_CST:
    7310            0 :             {
    7311            0 :               switch (TREE_CODE (_p1))
    7312              :                 {
    7313            0 :                 case INTEGER_CST:
    7314            0 :                   {
    7315            0 :                     {
    7316            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7317            0 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7318            0 :                       if (res) return res;
    7319              :                     }
    7320            0 :                     break;
    7321              :                   }
    7322              :                 default:;
    7323              :                 }
    7324              :               break;
    7325              :             }
    7326            0 :           default:;
    7327              :           }
    7328            0 :         switch (TREE_CODE (_p1))
    7329              :           {
    7330            0 :           case INTEGER_CST:
    7331            0 :             {
    7332            0 :               {
    7333            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7334            0 :                 tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7335            0 :                 if (res) return res;
    7336              :               }
    7337            0 :               break;
    7338              :             }
    7339              :           default:;
    7340              :           }
    7341              :         break;
    7342              :       }
    7343           42 :     case RROTATE_EXPR:
    7344           42 :       {
    7345           42 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7346           42 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7347           42 :         switch (TREE_CODE (_p1))
    7348              :           {
    7349            0 :           case RROTATE_EXPR:
    7350            0 :             {
    7351            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7352            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7353            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7354              :                 {
    7355            0 :                   {
    7356            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7357            0 :                     tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7358            0 :                     if (res) return res;
    7359              :                   }
    7360              :                 }
    7361              :               break;
    7362              :             }
    7363           42 :           default:;
    7364              :           }
    7365           42 :         switch (TREE_CODE (_q21))
    7366              :           {
    7367           42 :           case INTEGER_CST:
    7368           42 :             {
    7369           42 :               switch (TREE_CODE (_p1))
    7370              :                 {
    7371            0 :                 case INTEGER_CST:
    7372            0 :                   {
    7373            0 :                     {
    7374            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7375            0 :                       tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7376            0 :                       if (res) return res;
    7377              :                     }
    7378            0 :                     break;
    7379              :                   }
    7380              :                 default:;
    7381              :                 }
    7382              :               break;
    7383              :             }
    7384           42 :           default:;
    7385              :           }
    7386           42 :         switch (TREE_CODE (_p1))
    7387              :           {
    7388            0 :           case INTEGER_CST:
    7389            0 :             {
    7390            0 :               {
    7391            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7392            0 :                 tree res = generic_simplify_245 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7393            0 :                 if (res) return res;
    7394              :               }
    7395            0 :               break;
    7396              :             }
    7397              :           default:;
    7398              :           }
    7399              :         break;
    7400              :       }
    7401        65603 :     case MULT_EXPR:
    7402        65603 :       {
    7403        65603 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7404        65603 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7405        65603 :         switch (TREE_CODE (_q20))
    7406              :           {
    7407           66 :           case TRUNC_DIV_EXPR:
    7408           66 :             {
    7409           66 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7410           66 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7411           66 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    7412              :                 {
    7413           47 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    7414              :                     {
    7415           47 :                       {
    7416           47 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7417           47 :                         tree res = generic_simplify_246 (loc, type, _p0, _p1, captures);
    7418           47 :                         if (res) return res;
    7419              :                       }
    7420              :                     }
    7421              :                 }
    7422              :               break;
    7423              :             }
    7424        65556 :           default:;
    7425              :           }
    7426        65556 :         switch (TREE_CODE (_q21))
    7427              :           {
    7428            0 :           case TRUNC_DIV_EXPR:
    7429            0 :             {
    7430            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    7431            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    7432            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    7433              :                 {
    7434            0 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7435              :                     {
    7436            0 :                       {
    7437            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
    7438            0 :                         tree res = generic_simplify_246 (loc, type, _p0, _p1, captures);
    7439            0 :                         if (res) return res;
    7440              :                       }
    7441              :                     }
    7442              :                 }
    7443              :               break;
    7444              :             }
    7445              :           default:;
    7446              :           }
    7447              :         break;
    7448              :       }
    7449     27889691 :     default:;
    7450              :     }
    7451     27889691 :   switch (TREE_CODE (_p1))
    7452              :     {
    7453        13957 :     case MULT_EXPR:
    7454        13957 :       {
    7455        13957 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7456        13957 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7457        13957 :         switch (TREE_CODE (_q30))
    7458              :           {
    7459            0 :           case TRUNC_DIV_EXPR:
    7460            0 :             {
    7461            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7462            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7463            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    7464              :                 {
    7465            0 :                   if ((_q31 == _q41 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q41, 0) && types_match (_q31, _q41)))
    7466              :                     {
    7467            0 :                       {
    7468            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    7469            0 :                         tree res = generic_simplify_246 (loc, type, _p0, _p1, captures);
    7470            0 :                         if (res) return res;
    7471              :                       }
    7472              :                     }
    7473              :                 }
    7474              :               break;
    7475              :             }
    7476        13957 :           default:;
    7477              :           }
    7478        13957 :         switch (TREE_CODE (_q31))
    7479              :           {
    7480            0 :           case TRUNC_DIV_EXPR:
    7481            0 :             {
    7482            0 :               tree _q50 = TREE_OPERAND (_q31, 0);
    7483            0 :               tree _q51 = TREE_OPERAND (_q31, 1);
    7484            0 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7485              :                 {
    7486            0 :                   if ((_q51 == _q30 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q30, 0) && types_match (_q51, _q30)))
    7487              :                     {
    7488            0 :                       {
    7489            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
    7490            0 :                         tree res = generic_simplify_246 (loc, type, _p0, _p1, captures);
    7491            0 :                         if (res) return res;
    7492              :                       }
    7493              :                     }
    7494              :                 }
    7495              :               break;
    7496              :             }
    7497              :           default:;
    7498              :           }
    7499              :         break;
    7500              :       }
    7501     27889691 :     default:;
    7502              :     }
    7503     27889691 :   switch (TREE_CODE (_p0))
    7504              :     {
    7505         1080 :     case VEC_COND_EXPR:
    7506         1080 :       {
    7507         1080 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7508         1080 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7509         1080 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7510         1080 :         switch (TREE_CODE (_p1))
    7511              :           {
    7512          187 :           case VEC_COND_EXPR:
    7513          187 :             {
    7514          187 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7515          187 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7516          187 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7517          187 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7518              :                 {
    7519          120 :                   {
    7520          120 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7521          120 :                     if (VECTOR_TYPE_P (type)
    7522          120 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7523          120 :  || types_match (type, TREE_TYPE (captures[2]))
    7524          120 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7525              :  || (optimize_vectors_before_lowering_p ()
    7526            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7527              : )
    7528              :                       {
    7529          120 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1514;
    7530          120 :                         {
    7531          120 :                           tree res_op0;
    7532          120 :                           res_op0 = captures[1];
    7533          120 :                           tree res_op1;
    7534          120 :                           {
    7535          120 :                             tree _o1[2], _r1;
    7536          120 :                             _o1[0] = captures[2];
    7537          120 :                             _o1[1] = captures[5];
    7538          120 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7539          120 :                             if (EXPR_P (_r1))
    7540          120 :                               goto next_after_fail1514;
    7541            0 :                             res_op1 = _r1;
    7542              :                           }
    7543            0 :                           tree res_op2;
    7544            0 :                           {
    7545            0 :                             tree _o1[2], _r1;
    7546            0 :                             _o1[0] = captures[3];
    7547            0 :                             _o1[1] = captures[6];
    7548            0 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7549            0 :                             if (EXPR_P (_r1))
    7550            0 :                               goto next_after_fail1514;
    7551            0 :                             res_op2 = _r1;
    7552              :                           }
    7553            0 :                           tree _r;
    7554            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7555            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    7556            0 :                           return _r;
    7557              :                         }
    7558          120 : next_after_fail1514:;
    7559              :                       }
    7560              :                   }
    7561              :                 }
    7562              :               break;
    7563              :             }
    7564         1080 :           default:;
    7565              :           }
    7566         1080 :         {
    7567         1080 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7568         1080 :           if (VECTOR_TYPE_P (type)
    7569         1080 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7570         1080 :  || types_match (type, TREE_TYPE (captures[2]))
    7571         1080 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7572              :  || (optimize_vectors_before_lowering_p ()
    7573           79 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7574              : )
    7575              :             {
    7576         1080 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1515;
    7577         1080 :               {
    7578         1080 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1515;
    7579          150 :                 tree res_op0;
    7580          150 :                 res_op0 = captures[1];
    7581          150 :                 tree res_op1;
    7582          150 :                 {
    7583          150 :                   tree _o1[2], _r1;
    7584          150 :                   _o1[0] = captures[2];
    7585          150 :                   _o1[1] = unshare_expr (captures[4]);
    7586          150 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7587          150 :                   if (EXPR_P (_r1))
    7588           96 :                     goto next_after_fail1515;
    7589           54 :                   res_op1 = _r1;
    7590              :                 }
    7591           54 :                 tree res_op2;
    7592           54 :                 {
    7593           54 :                   tree _o1[2], _r1;
    7594           54 :                   _o1[0] = captures[3];
    7595           54 :                   _o1[1] = captures[4];
    7596           54 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7597           54 :                   if (EXPR_P (_r1))
    7598           33 :                     goto next_after_fail1515;
    7599           21 :                   res_op2 = _r1;
    7600              :                 }
    7601           21 :                 tree _r;
    7602           21 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7603           21 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    7604           21 :                 return _r;
    7605              :               }
    7606         1059 : next_after_fail1515:;
    7607              :             }
    7608              :         }
    7609         1059 :         break;
    7610              :       }
    7611      2014829 :     case CALL_EXPR:
    7612      2014829 :       switch (get_call_combined_fn (_p0))
    7613              :         {
    7614            1 :         case CFN_BUILT_IN_BITREVERSE128:
    7615            1 :           if (call_expr_nargs (_p0) == 1)
    7616              :     {
    7617            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7618            1 :               switch (TREE_CODE (_p1))
    7619              :                 {
    7620            1 :                 case INTEGER_CST:
    7621            1 :                   {
    7622            1 :                     {
    7623            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7624            1 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE128);
    7625            1 :                       if (res) return res;
    7626              :                     }
    7627            1 :                     break;
    7628              :                   }
    7629            0 :                 case CALL_EXPR:
    7630            0 :                   switch (get_call_combined_fn (_p1))
    7631              :                     {
    7632            0 :                     case CFN_BUILT_IN_BITREVERSE128:
    7633            0 :                       if (call_expr_nargs (_p1) == 1)
    7634              :     {
    7635            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7636            0 :                           {
    7637            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7638            0 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE128);
    7639            0 :                             if (res) return res;
    7640              :                           }
    7641              :                         }
    7642              :                       break;
    7643              :                     default:;
    7644              :                     }
    7645              :                   break;
    7646              :                 default:;
    7647              :                 }
    7648              :             }
    7649              :           break;
    7650            1 :         case CFN_BUILT_IN_BITREVERSE16:
    7651            1 :           if (call_expr_nargs (_p0) == 1)
    7652              :     {
    7653            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7654            1 :               switch (TREE_CODE (_p1))
    7655              :                 {
    7656            1 :                 case INTEGER_CST:
    7657            1 :                   {
    7658            1 :                     {
    7659            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7660            1 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE16);
    7661            1 :                       if (res) return res;
    7662              :                     }
    7663            1 :                     break;
    7664              :                   }
    7665            0 :                 case CALL_EXPR:
    7666            0 :                   switch (get_call_combined_fn (_p1))
    7667              :                     {
    7668            0 :                     case CFN_BUILT_IN_BITREVERSE16:
    7669            0 :                       if (call_expr_nargs (_p1) == 1)
    7670              :     {
    7671            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7672            0 :                           {
    7673            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7674            0 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE16);
    7675            0 :                             if (res) return res;
    7676              :                           }
    7677              :                         }
    7678              :                       break;
    7679              :                     default:;
    7680              :                     }
    7681              :                   break;
    7682              :                 default:;
    7683              :                 }
    7684              :             }
    7685              :           break;
    7686            1 :         case CFN_BUILT_IN_BITREVERSE32:
    7687            1 :           if (call_expr_nargs (_p0) == 1)
    7688              :     {
    7689            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7690            1 :               switch (TREE_CODE (_p1))
    7691              :                 {
    7692            1 :                 case INTEGER_CST:
    7693            1 :                   {
    7694            1 :                     {
    7695            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7696            1 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE32);
    7697            1 :                       if (res) return res;
    7698              :                     }
    7699            1 :                     break;
    7700              :                   }
    7701            0 :                 case CALL_EXPR:
    7702            0 :                   switch (get_call_combined_fn (_p1))
    7703              :                     {
    7704            0 :                     case CFN_BUILT_IN_BITREVERSE32:
    7705            0 :                       if (call_expr_nargs (_p1) == 1)
    7706              :     {
    7707            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7708            0 :                           {
    7709            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7710            0 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE32);
    7711            0 :                             if (res) return res;
    7712              :                           }
    7713              :                         }
    7714              :                       break;
    7715              :                     default:;
    7716              :                     }
    7717              :                   break;
    7718              :                 default:;
    7719              :                 }
    7720              :             }
    7721              :           break;
    7722            1 :         case CFN_BUILT_IN_BITREVERSE64:
    7723            1 :           if (call_expr_nargs (_p0) == 1)
    7724              :     {
    7725            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7726            1 :               switch (TREE_CODE (_p1))
    7727              :                 {
    7728            1 :                 case INTEGER_CST:
    7729            1 :                   {
    7730            1 :                     {
    7731            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7732            1 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE64);
    7733            1 :                       if (res) return res;
    7734              :                     }
    7735            1 :                     break;
    7736              :                   }
    7737            0 :                 case CALL_EXPR:
    7738            0 :                   switch (get_call_combined_fn (_p1))
    7739              :                     {
    7740            0 :                     case CFN_BUILT_IN_BITREVERSE64:
    7741            0 :                       if (call_expr_nargs (_p1) == 1)
    7742              :     {
    7743            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7744            0 :                           {
    7745            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7746            0 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE64);
    7747            0 :                             if (res) return res;
    7748              :                           }
    7749              :                         }
    7750              :                       break;
    7751              :                     default:;
    7752              :                     }
    7753              :                   break;
    7754              :                 default:;
    7755              :                 }
    7756              :             }
    7757              :           break;
    7758            0 :         case CFN_BITREVERSE:
    7759            0 :           if (call_expr_nargs (_p0) == 1)
    7760              :     {
    7761            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7762            0 :               switch (TREE_CODE (_p1))
    7763              :                 {
    7764            0 :                 case INTEGER_CST:
    7765            0 :                   {
    7766            0 :                     {
    7767            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7768            0 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BITREVERSE);
    7769            0 :                       if (res) return res;
    7770              :                     }
    7771            0 :                     break;
    7772              :                   }
    7773            0 :                 case CALL_EXPR:
    7774            0 :                   switch (get_call_combined_fn (_p1))
    7775              :                     {
    7776            0 :                     case CFN_BITREVERSE:
    7777            0 :                       if (call_expr_nargs (_p1) == 1)
    7778              :     {
    7779            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7780            0 :                           {
    7781            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7782            0 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BITREVERSE);
    7783            0 :                             if (res) return res;
    7784              :                           }
    7785              :                         }
    7786              :                       break;
    7787              :                     default:;
    7788              :                     }
    7789              :                   break;
    7790              :                 default:;
    7791              :                 }
    7792              :             }
    7793              :           break;
    7794            0 :         case CFN_BSWAP:
    7795            0 :           if (call_expr_nargs (_p0) == 1)
    7796              :     {
    7797            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7798            0 :               switch (TREE_CODE (_p1))
    7799              :                 {
    7800            0 :                 case INTEGER_CST:
    7801            0 :                   {
    7802            0 :                     {
    7803            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7804            0 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BSWAP);
    7805            0 :                       if (res) return res;
    7806              :                     }
    7807            0 :                     break;
    7808              :                   }
    7809            0 :                 case CALL_EXPR:
    7810            0 :                   switch (get_call_combined_fn (_p1))
    7811              :                     {
    7812            0 :                     case CFN_BSWAP:
    7813            0 :                       if (call_expr_nargs (_p1) == 1)
    7814              :     {
    7815            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7816            0 :                           {
    7817            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7818            0 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BSWAP);
    7819            0 :                             if (res) return res;
    7820              :                           }
    7821              :                         }
    7822              :                       break;
    7823              :                     default:;
    7824              :                     }
    7825              :                   break;
    7826              :                 default:;
    7827              :                 }
    7828              :             }
    7829              :           break;
    7830            0 :         case CFN_BUILT_IN_BSWAP128:
    7831            0 :           if (call_expr_nargs (_p0) == 1)
    7832              :     {
    7833            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7834            0 :               switch (TREE_CODE (_p1))
    7835              :                 {
    7836            0 :                 case INTEGER_CST:
    7837            0 :                   {
    7838            0 :                     {
    7839            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7840            0 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
    7841            0 :                       if (res) return res;
    7842              :                     }
    7843            0 :                     break;
    7844              :                   }
    7845            0 :                 case CALL_EXPR:
    7846            0 :                   switch (get_call_combined_fn (_p1))
    7847              :                     {
    7848            0 :                     case CFN_BUILT_IN_BSWAP128:
    7849            0 :                       if (call_expr_nargs (_p1) == 1)
    7850              :     {
    7851            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7852            0 :                           {
    7853            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7854            0 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
    7855            0 :                             if (res) return res;
    7856              :                           }
    7857              :                         }
    7858              :                       break;
    7859              :                     default:;
    7860              :                     }
    7861              :                   break;
    7862              :                 default:;
    7863              :                 }
    7864              :             }
    7865              :           break;
    7866            1 :         case CFN_BUILT_IN_BITREVERSE8:
    7867            1 :           if (call_expr_nargs (_p0) == 1)
    7868              :     {
    7869            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7870            1 :               switch (TREE_CODE (_p1))
    7871              :                 {
    7872            1 :                 case INTEGER_CST:
    7873            1 :                   {
    7874            1 :                     {
    7875            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7876            1 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE8);
    7877            1 :                       if (res) return res;
    7878              :                     }
    7879            1 :                     break;
    7880              :                   }
    7881            0 :                 case CALL_EXPR:
    7882            0 :                   switch (get_call_combined_fn (_p1))
    7883              :                     {
    7884            0 :                     case CFN_BUILT_IN_BITREVERSE8:
    7885            0 :                       if (call_expr_nargs (_p1) == 1)
    7886              :     {
    7887            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7888            0 :                           {
    7889            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7890            0 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE8);
    7891            0 :                             if (res) return res;
    7892              :                           }
    7893              :                         }
    7894              :                       break;
    7895              :                     default:;
    7896              :                     }
    7897              :                   break;
    7898              :                 default:;
    7899              :                 }
    7900              :             }
    7901              :           break;
    7902            2 :         case CFN_BUILT_IN_BSWAP16:
    7903            2 :           if (call_expr_nargs (_p0) == 1)
    7904              :     {
    7905            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7906            2 :               switch (TREE_CODE (_p1))
    7907              :                 {
    7908            1 :                 case INTEGER_CST:
    7909            1 :                   {
    7910            1 :                     {
    7911            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7912            1 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
    7913            1 :                       if (res) return res;
    7914              :                     }
    7915            1 :                     break;
    7916              :                   }
    7917            1 :                 case CALL_EXPR:
    7918            1 :                   switch (get_call_combined_fn (_p1))
    7919              :                     {
    7920            1 :                     case CFN_BUILT_IN_BSWAP16:
    7921            1 :                       if (call_expr_nargs (_p1) == 1)
    7922              :     {
    7923            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7924            1 :                           {
    7925            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7926            1 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
    7927            1 :                             if (res) return res;
    7928              :                           }
    7929              :                         }
    7930              :                       break;
    7931              :                     default:;
    7932              :                     }
    7933              :                   break;
    7934              :                 default:;
    7935              :                 }
    7936              :             }
    7937              :           break;
    7938            6 :         case CFN_BUILT_IN_BSWAP32:
    7939            6 :           if (call_expr_nargs (_p0) == 1)
    7940              :     {
    7941            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7942            6 :               switch (TREE_CODE (_p1))
    7943              :                 {
    7944            3 :                 case INTEGER_CST:
    7945            3 :                   {
    7946            3 :                     {
    7947            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7948            3 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
    7949            3 :                       if (res) return res;
    7950              :                     }
    7951            3 :                     break;
    7952              :                   }
    7953            3 :                 case CALL_EXPR:
    7954            3 :                   switch (get_call_combined_fn (_p1))
    7955              :                     {
    7956            3 :                     case CFN_BUILT_IN_BSWAP32:
    7957            3 :                       if (call_expr_nargs (_p1) == 1)
    7958              :     {
    7959            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7960            3 :                           {
    7961            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7962            3 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
    7963            3 :                             if (res) return res;
    7964              :                           }
    7965              :                         }
    7966              :                       break;
    7967              :                     default:;
    7968              :                     }
    7969              :                   break;
    7970              :                 default:;
    7971              :                 }
    7972              :             }
    7973              :           break;
    7974            6 :         case CFN_BUILT_IN_BSWAP64:
    7975            6 :           if (call_expr_nargs (_p0) == 1)
    7976              :     {
    7977            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7978            6 :               switch (TREE_CODE (_p1))
    7979              :                 {
    7980            3 :                 case INTEGER_CST:
    7981            3 :                   {
    7982            3 :                     {
    7983            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7984            3 :                       tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
    7985            3 :                       if (res) return res;
    7986              :                     }
    7987            3 :                     break;
    7988              :                   }
    7989            3 :                 case CALL_EXPR:
    7990            3 :                   switch (get_call_combined_fn (_p1))
    7991              :                     {
    7992            3 :                     case CFN_BUILT_IN_BSWAP64:
    7993            3 :                       if (call_expr_nargs (_p1) == 1)
    7994              :     {
    7995            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7996            3 :                           {
    7997            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7998            3 :                             tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
    7999            3 :                             if (res) return res;
    8000              :                           }
    8001              :                         }
    8002              :                       break;
    8003              :                     default:;
    8004              :                     }
    8005              :                   break;
    8006              :                 default:;
    8007              :                 }
    8008              :             }
    8009              :           break;
    8010              :         default:;
    8011              :         }
    8012              :       break;
    8013     27889663 :     default:;
    8014              :     }
    8015     27889663 :   switch (TREE_CODE (_p1))
    8016              :     {
    8017          215 :     case VEC_COND_EXPR:
    8018          215 :       {
    8019          215 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8020          215 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8021          215 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8022          215 :         {
    8023          215 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8024          215 :           if (VECTOR_TYPE_P (type)
    8025          215 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    8026          215 :  || types_match (type, TREE_TYPE (captures[3]))
    8027          215 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8028              :  || (optimize_vectors_before_lowering_p ()
    8029           21 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8030              : )
    8031              :             {
    8032          215 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1516;
    8033          215 :               {
    8034          215 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1516;
    8035            0 :                 tree res_op0;
    8036            0 :                 res_op0 = captures[2];
    8037            0 :                 tree res_op1;
    8038            0 :                 {
    8039            0 :                   tree _o1[2], _r1;
    8040            0 :                   _o1[0] = unshare_expr (captures[0]);
    8041            0 :                   _o1[1] = captures[3];
    8042            0 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    8043            0 :                   if (EXPR_P (_r1))
    8044            0 :                     goto next_after_fail1516;
    8045            0 :                   res_op1 = _r1;
    8046              :                 }
    8047            0 :                 tree res_op2;
    8048            0 :                 {
    8049            0 :                   tree _o1[2], _r1;
    8050            0 :                   _o1[0] = captures[0];
    8051            0 :                   _o1[1] = captures[4];
    8052            0 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    8053            0 :                   if (EXPR_P (_r1))
    8054            0 :                     goto next_after_fail1516;
    8055            0 :                   res_op2 = _r1;
    8056              :                 }
    8057            0 :                 tree _r;
    8058            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8059            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    8060            0 :                 return _r;
    8061              :               }
    8062          215 : next_after_fail1516:;
    8063              :             }
    8064              :         }
    8065          215 :         break;
    8066              :       }
    8067     27889663 :     default:;
    8068              :     }
    8069     27889663 :   switch (TREE_CODE (_p0))
    8070              :     {
    8071        41354 :     case COND_EXPR:
    8072        41354 :       {
    8073        41354 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8074        41354 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8075        41354 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8076        41354 :         switch (TREE_CODE (_p1))
    8077              :           {
    8078           49 :           case COND_EXPR:
    8079           49 :             {
    8080           49 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8081           49 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8082           49 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8083           49 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8084              :                 {
    8085            3 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8086              :                     {
    8087            3 :                       {
    8088            3 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8089            3 :                         const enum tree_code eqne = EQ_EXPR;
    8090            3 :                         if (!HONOR_NANS (captures[1])
    8091            3 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8092            3 :  && types_match (type, TREE_TYPE (captures[0]))
    8093            3 :  && expr_no_side_effects_p (captures[1])
    8094            4 :  && expr_no_side_effects_p (captures[2])
    8095              : )
    8096              :                           {
    8097            1 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1517;
    8098            1 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1517;
    8099            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1517;
    8100            1 :                             {
    8101            1 :                               tree res_op0;
    8102            1 :                               {
    8103            1 :                                 tree _o1[2], _r1;
    8104            1 :                                 {
    8105            1 :                                   tree _o2[2], _r2;
    8106            1 :                                   _o2[0] = captures[0];
    8107            1 :                                   _o2[1] = captures[3];
    8108            1 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8109            1 :                                   _o1[0] = _r2;
    8110              :                                 }
    8111            1 :                                 {
    8112            1 :                                   tree _o2[2], _r2;
    8113            1 :                                   _o2[0] = captures[1];
    8114            1 :                                   _o2[1] = captures[2];
    8115            1 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8116            1 :                                   _o1[1] = _r2;
    8117              :                                 }
    8118            1 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8119            1 :                                 res_op0 = _r1;
    8120              :                               }
    8121            1 :                               tree res_op1;
    8122            1 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8123            1 :                               tree res_op2;
    8124            1 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8125            1 :                               tree _r;
    8126            1 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8127            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 988, __FILE__, __LINE__, true);
    8128            1 :                               return _r;
    8129              :                             }
    8130            2 : next_after_fail1517:;
    8131              :                           }
    8132              :                       }
    8133              :                     }
    8134              :                 }
    8135           48 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8136              :                 {
    8137           19 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8138              :                     {
    8139           19 :                       {
    8140           19 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8141           19 :                         const enum tree_code eqne = EQ_EXPR;
    8142           19 :                         if (!HONOR_NANS (captures[1])
    8143            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8144            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8145            0 :  && expr_no_side_effects_p (captures[1])
    8146           19 :  && expr_no_side_effects_p (captures[2])
    8147              : )
    8148              :                           {
    8149            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1518;
    8150            0 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1518;
    8151            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1518;
    8152            0 :                             {
    8153            0 :                               tree res_op0;
    8154            0 :                               {
    8155            0 :                                 tree _o1[2], _r1;
    8156            0 :                                 {
    8157            0 :                                   tree _o2[2], _r2;
    8158            0 :                                   _o2[0] = captures[0];
    8159            0 :                                   _o2[1] = captures[3];
    8160            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8161            0 :                                   _o1[0] = _r2;
    8162              :                                 }
    8163            0 :                                 {
    8164            0 :                                   tree _o2[2], _r2;
    8165            0 :                                   _o2[0] = captures[1];
    8166            0 :                                   _o2[1] = captures[2];
    8167            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8168            0 :                                   _o1[1] = _r2;
    8169              :                                 }
    8170            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8171            0 :                                 res_op0 = _r1;
    8172              :                               }
    8173            0 :                               tree res_op1;
    8174            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8175            0 :                               tree res_op2;
    8176            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8177            0 :                               tree _r;
    8178            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8179            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
    8180            0 :                               return _r;
    8181              :                             }
    8182           19 : next_after_fail1518:;
    8183              :                           }
    8184              :                       }
    8185              :                     }
    8186              :                 }
    8187              :               break;
    8188              :             }
    8189              :           default:;
    8190              :           }
    8191              :         break;
    8192              :       }
    8193         1059 :     case VEC_COND_EXPR:
    8194         1059 :       {
    8195         1059 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8196         1059 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8197         1059 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8198         1059 :         switch (TREE_CODE (_p1))
    8199              :           {
    8200          187 :           case VEC_COND_EXPR:
    8201          187 :             {
    8202          187 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8203          187 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8204          187 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8205          187 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8206              :                 {
    8207          126 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8208              :                     {
    8209          126 :                       {
    8210          126 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8211          126 :                         const enum tree_code eqne = EQ_EXPR;
    8212          126 :                         if (!HONOR_NANS (captures[1])
    8213            6 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8214            6 :  && types_match (type, TREE_TYPE (captures[0]))
    8215            6 :  && expr_no_side_effects_p (captures[1])
    8216          132 :  && expr_no_side_effects_p (captures[2])
    8217              : )
    8218              :                           {
    8219            6 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1519;
    8220            6 :                             {
    8221            6 :                               tree res_op0;
    8222            6 :                               {
    8223            6 :                                 tree _o1[2], _r1;
    8224            6 :                                 {
    8225            6 :                                   tree _o2[2], _r2;
    8226            6 :                                   _o2[0] = captures[0];
    8227            6 :                                   _o2[1] = captures[3];
    8228            6 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8229            6 :                                   _o1[0] = _r2;
    8230              :                                 }
    8231            6 :                                 {
    8232            6 :                                   tree _o2[2], _r2;
    8233            6 :                                   _o2[0] = captures[1];
    8234            6 :                                   _o2[1] = captures[2];
    8235            6 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8236            6 :                                   _o1[1] = _r2;
    8237              :                                 }
    8238            6 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8239            6 :                                 res_op0 = _r1;
    8240              :                               }
    8241            6 :                               tree res_op1;
    8242            6 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8243            6 :                               tree res_op2;
    8244            6 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8245            6 :                               tree _r;
    8246            6 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8247            6 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 988, __FILE__, __LINE__, true);
    8248            6 :                               return _r;
    8249              :                             }
    8250            0 : next_after_fail1519:;
    8251              :                           }
    8252              :                       }
    8253              :                     }
    8254              :                 }
    8255          181 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8256              :                 {
    8257           53 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8258              :                     {
    8259           53 :                       {
    8260           53 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8261           53 :                         const enum tree_code eqne = EQ_EXPR;
    8262           53 :                         if (!HONOR_NANS (captures[1])
    8263            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8264            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8265            0 :  && expr_no_side_effects_p (captures[1])
    8266           53 :  && expr_no_side_effects_p (captures[2])
    8267              : )
    8268              :                           {
    8269            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1520;
    8270            0 :                             {
    8271            0 :                               tree res_op0;
    8272            0 :                               {
    8273            0 :                                 tree _o1[2], _r1;
    8274            0 :                                 {
    8275            0 :                                   tree _o2[2], _r2;
    8276            0 :                                   _o2[0] = captures[0];
    8277            0 :                                   _o2[1] = captures[3];
    8278            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8279            0 :                                   _o1[0] = _r2;
    8280              :                                 }
    8281            0 :                                 {
    8282            0 :                                   tree _o2[2], _r2;
    8283            0 :                                   _o2[0] = captures[1];
    8284            0 :                                   _o2[1] = captures[2];
    8285            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8286            0 :                                   _o1[1] = _r2;
    8287              :                                 }
    8288            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8289            0 :                                 res_op0 = _r1;
    8290              :                               }
    8291            0 :                               tree res_op1;
    8292            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8293            0 :                               tree res_op2;
    8294            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8295            0 :                               tree _r;
    8296            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8297            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
    8298            0 :                               return _r;
    8299              :                             }
    8300            0 : next_after_fail1520:;
    8301              :                           }
    8302              :                       }
    8303              :                     }
    8304              :                 }
    8305              :               break;
    8306              :             }
    8307              :           default:;
    8308              :           }
    8309              :         break;
    8310              :       }
    8311         1130 :     case LT_EXPR:
    8312         1130 :       {
    8313         1130 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8314         1130 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8315         1130 :         if (integer_truep (_p1))
    8316              :           {
    8317            5 :             {
    8318            5 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8319            5 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8320            5 :               if (res) return res;
    8321              :             }
    8322              :           }
    8323         1130 :         if (integer_zerop (_p1))
    8324              :           {
    8325          414 :             {
    8326          414 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8327          414 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8328          414 :               if (res) return res;
    8329              :             }
    8330              :           }
    8331              :         break;
    8332              :       }
    8333         1555 :     case LE_EXPR:
    8334         1555 :       {
    8335         1555 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8336         1555 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8337         1555 :         if (integer_truep (_p1))
    8338              :           {
    8339            0 :             {
    8340            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8341            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8342            0 :               if (res) return res;
    8343              :             }
    8344              :           }
    8345         1555 :         if (integer_zerop (_p1))
    8346              :           {
    8347          691 :             {
    8348          691 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8349          691 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8350          691 :               if (res) return res;
    8351              :             }
    8352              :           }
    8353              :         break;
    8354              :       }
    8355        32624 :     case EQ_EXPR:
    8356        32624 :       {
    8357        32624 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8358        32624 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8359        32624 :         if (integer_truep (_p1))
    8360              :           {
    8361           48 :             {
    8362           48 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8363           48 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8364           48 :               if (res) return res;
    8365              :             }
    8366              :           }
    8367        32619 :         if (integer_zerop (_p1))
    8368              :           {
    8369         7681 :             {
    8370         7681 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8371         7681 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8372         7681 :               if (res) return res;
    8373              :             }
    8374              :           }
    8375              :         break;
    8376              :       }
    8377        12081 :     case NE_EXPR:
    8378        12081 :       {
    8379        12081 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8380        12081 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8381        12081 :         if (integer_truep (_p1))
    8382              :           {
    8383          126 :             {
    8384          126 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8385          126 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8386          126 :               if (res) return res;
    8387              :             }
    8388              :           }
    8389        11961 :         if (integer_zerop (_p1))
    8390              :           {
    8391         9911 :             {
    8392         9911 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8393         9911 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8394         9911 :               if (res) return res;
    8395              :             }
    8396              :           }
    8397              :         break;
    8398              :       }
    8399         6627 :     case GE_EXPR:
    8400         6627 :       {
    8401         6627 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8402         6627 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8403         6627 :         if (integer_truep (_p1))
    8404              :           {
    8405            0 :             {
    8406            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8407            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8408            0 :               if (res) return res;
    8409              :             }
    8410              :           }
    8411         6627 :         if (integer_zerop (_p1))
    8412              :           {
    8413         5510 :             {
    8414         5510 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8415         5510 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8416         5510 :               if (res) return res;
    8417              :             }
    8418              :           }
    8419              :         break;
    8420              :       }
    8421        69329 :     case GT_EXPR:
    8422        69329 :       {
    8423        69329 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8424        69329 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8425        69329 :         if (integer_truep (_p1))
    8426              :           {
    8427            0 :             {
    8428            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8429            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8430            0 :               if (res) return res;
    8431              :             }
    8432              :           }
    8433        69329 :         if (integer_zerop (_p1))
    8434              :           {
    8435          445 :             {
    8436          445 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8437          445 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8438          445 :               if (res) return res;
    8439              :             }
    8440              :           }
    8441              :         break;
    8442              :       }
    8443         1023 :     case UNORDERED_EXPR:
    8444         1023 :       {
    8445         1023 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8446         1023 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8447         1023 :         if (integer_truep (_p1))
    8448              :           {
    8449            0 :             {
    8450            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8451            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8452            0 :               if (res) return res;
    8453              :             }
    8454              :           }
    8455         1023 :         if (integer_zerop (_p1))
    8456              :           {
    8457         1017 :             {
    8458         1017 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8459         1017 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8460         1017 :               if (res) return res;
    8461              :             }
    8462              :           }
    8463              :         break;
    8464              :       }
    8465            0 :     case ORDERED_EXPR:
    8466            0 :       {
    8467            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8468            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8469            0 :         if (integer_truep (_p1))
    8470              :           {
    8471            0 :             {
    8472            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8473            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8474            0 :               if (res) return res;
    8475              :             }
    8476              :           }
    8477            0 :         if (integer_zerop (_p1))
    8478              :           {
    8479            0 :             {
    8480            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8481            0 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8482            0 :               if (res) return res;
    8483              :             }
    8484              :           }
    8485              :         break;
    8486              :       }
    8487            0 :     case UNLT_EXPR:
    8488            0 :       {
    8489            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8490            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8491            0 :         if (integer_truep (_p1))
    8492              :           {
    8493            0 :             {
    8494            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8495            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8496            0 :               if (res) return res;
    8497              :             }
    8498              :           }
    8499            0 :         if (integer_zerop (_p1))
    8500              :           {
    8501            0 :             {
    8502            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8503            0 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8504            0 :               if (res) return res;
    8505              :             }
    8506              :           }
    8507              :         break;
    8508              :       }
    8509            0 :     case UNLE_EXPR:
    8510            0 :       {
    8511            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8512            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8513            0 :         if (integer_truep (_p1))
    8514              :           {
    8515            0 :             {
    8516            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8517            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8518            0 :               if (res) return res;
    8519              :             }
    8520              :           }
    8521            0 :         if (integer_zerop (_p1))
    8522              :           {
    8523            0 :             {
    8524            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8525            0 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8526            0 :               if (res) return res;
    8527              :             }
    8528              :           }
    8529              :         break;
    8530              :       }
    8531            0 :     case UNGT_EXPR:
    8532            0 :       {
    8533            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8534            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8535            0 :         if (integer_truep (_p1))
    8536              :           {
    8537            0 :             {
    8538            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8539            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8540            0 :               if (res) return res;
    8541              :             }
    8542              :           }
    8543            0 :         if (integer_zerop (_p1))
    8544              :           {
    8545            0 :             {
    8546            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8547            0 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8548            0 :               if (res) return res;
    8549              :             }
    8550              :           }
    8551              :         break;
    8552              :       }
    8553            0 :     case UNGE_EXPR:
    8554            0 :       {
    8555            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8556            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8557            0 :         if (integer_truep (_p1))
    8558              :           {
    8559            0 :             {
    8560            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8561            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8562            0 :               if (res) return res;
    8563              :             }
    8564              :           }
    8565            0 :         if (integer_zerop (_p1))
    8566              :           {
    8567            0 :             {
    8568            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8569            0 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8570            0 :               if (res) return res;
    8571              :             }
    8572              :           }
    8573              :         break;
    8574              :       }
    8575            0 :     case UNEQ_EXPR:
    8576            0 :       {
    8577            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8578            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8579            0 :         if (integer_truep (_p1))
    8580              :           {
    8581            0 :             {
    8582            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8583            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8584            0 :               if (res) return res;
    8585              :             }
    8586              :           }
    8587            0 :         if (integer_zerop (_p1))
    8588              :           {
    8589            0 :             {
    8590            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8591            0 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8592            0 :               if (res) return res;
    8593              :             }
    8594              :           }
    8595              :         break;
    8596              :       }
    8597            0 :     case LTGT_EXPR:
    8598            0 :       {
    8599            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8600            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8601            0 :         if (integer_truep (_p1))
    8602              :           {
    8603            0 :             {
    8604            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8605            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8606            0 :               if (res) return res;
    8607              :             }
    8608              :           }
    8609            0 :         if (integer_zerop (_p1))
    8610              :           {
    8611            0 :             {
    8612            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8613            0 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8614            0 :               if (res) return res;
    8615              :             }
    8616              :           }
    8617              :         break;
    8618              :       }
    8619       154926 :     case MINUS_EXPR:
    8620       154926 :       {
    8621       154926 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8622       154926 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8623       154926 :         if (integer_zerop (_p1))
    8624              :           {
    8625        58178 :             {
    8626        58178 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8627        58178 :               tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8628        58178 :               if (res) return res;
    8629              :             }
    8630              :           }
    8631              :         break;
    8632              :       }
    8633        32617 :     case POINTER_DIFF_EXPR:
    8634        32617 :       {
    8635        32617 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8636        32617 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8637        32617 :         if (integer_zerop (_p1))
    8638              :           {
    8639         1533 :             {
    8640         1533 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8641         1533 :               tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8642         1533 :               if (res) return res;
    8643              :             }
    8644              :           }
    8645              :         break;
    8646              :       }
    8647        65556 :     case MULT_EXPR:
    8648        65556 :       {
    8649        65556 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8650        65556 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8651        65556 :         switch (TREE_CODE (_q21))
    8652              :           {
    8653        57653 :           case INTEGER_CST:
    8654        57653 :             {
    8655        57653 :               switch (TREE_CODE (_p1))
    8656              :                 {
    8657         9695 :                 case INTEGER_CST:
    8658         9695 :                   {
    8659         9695 :                     {
    8660         9695 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8661         9695 :                       tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8662         9695 :                       if (res) return res;
    8663              :                     }
    8664         8777 :                     break;
    8665              :                   }
    8666        56735 :                 default:;
    8667              :                 }
    8668        56735 :             if (integer_zerop (_p1))
    8669              :               {
    8670         4248 :                 {
    8671         4248 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8672         4248 :                   tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8673         4248 :                   if (res) return res;
    8674              :                 }
    8675              :               }
    8676              :               break;
    8677              :             }
    8678              :           default:;
    8679              :           }
    8680              :         break;
    8681              :       }
    8682     27804137 :     default:;
    8683              :     }
    8684     27804137 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8685              :     {
    8686       115485 :       {
    8687       115485 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8688       115485 :         tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8689       115485 :         if (res) return res;
    8690              :       }
    8691              :     }
    8692     27694233 :   switch (TREE_CODE (_p0))
    8693              :     {
    8694      5180786 :     CASE_CONVERT:
    8695      5180786 :       {
    8696      5180786 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8697      5180786 :         switch (TREE_CODE (_p1))
    8698              :           {
    8699      1588379 :           CASE_CONVERT:
    8700      1588379 :             {
    8701      1588379 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8702      1588379 :               {
    8703      1588379 :                 tree _q40_pops[1];
    8704      1588379 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    8705              :                   {
    8706            0 :                     tree _q50 = _q40_pops[0];
    8707            0 :                     {
    8708            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    8709            0 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8710            0 :                       if (res) return res;
    8711              :                     }
    8712              :                   }
    8713              :               }
    8714      1588379 :               break;
    8715              :             }
    8716      5180786 :           default:;
    8717              :           }
    8718      5180786 :         {
    8719      5180786 :           tree _q20_pops[1];
    8720      5180786 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    8721              :             {
    8722          232 :               tree _q30 = _q20_pops[0];
    8723          232 :               switch (TREE_CODE (_p1))
    8724              :                 {
    8725           74 :                 CASE_CONVERT:
    8726           74 :                   {
    8727           74 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8728           74 :                     {
    8729           74 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    8730           74 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8731           74 :                       if (res) return res;
    8732              :                     }
    8733           74 :                     break;
    8734              :                   }
    8735              :                 default:;
    8736              :                 }
    8737              :             }
    8738              :         }
    8739      5180786 :         break;
    8740              :       }
    8741     27694233 :     default:;
    8742              :     }
    8743     27694233 :   {
    8744     27694233 :     tree _p1_pops[1];
    8745     27694233 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    8746              :       {
    8747     19573648 :         tree _q30 = _p1_pops[0];
    8748     19573648 :         {
    8749     19573648 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8750     19573648 :           tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8751     19573648 :           if (res) return res;
    8752              :         }
    8753              :       }
    8754              :   }
    8755     27694231 :   switch (TREE_CODE (_p0))
    8756              :     {
    8757          403 :     case BIT_NOT_EXPR:
    8758          403 :       {
    8759          403 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8760          403 :         switch (TREE_CODE (_p1))
    8761              :           {
    8762            1 :           case BIT_NOT_EXPR:
    8763            1 :             {
    8764            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8765            1 :               {
    8766            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8767            1 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8768            1 :                 if (res) return res;
    8769              :               }
    8770            0 :               break;
    8771              :             }
    8772          402 :           default:;
    8773              :           }
    8774          402 :       {
    8775          402 :         tree _p1_pops[1];
    8776          402 :         if (tree_nop_convert (_p1, _p1_pops))
    8777              :           {
    8778            3 :             tree _q40 = _p1_pops[0];
    8779            3 :             switch (TREE_CODE (_q40))
    8780              :               {
    8781            0 :               case BIT_NOT_EXPR:
    8782            0 :                 {
    8783            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8784            0 :                   {
    8785            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8786            0 :                     tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8787            0 :                     if (res) return res;
    8788              :                   }
    8789            0 :                   break;
    8790              :                 }
    8791              :               default:;
    8792              :               }
    8793              :           }
    8794              :       }
    8795          402 :       if (CONSTANT_CLASS_P (_p1))
    8796              :         {
    8797          195 :           {
    8798          195 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8799          195 :             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8800          195 :             if (res) return res;
    8801              :           }
    8802              :         }
    8803              :         break;
    8804              :       }
    8805     27694035 :     default:;
    8806              :     }
    8807     27694035 : {
    8808     27694035 :   tree _p0_pops[1];
    8809     27694035 :   if (tree_maybe_bit_not (_p0, _p0_pops))
    8810              :     {
    8811        99330 :       tree _q20 = _p0_pops[0];
    8812        99330 :       {
    8813        99330 :         tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    8814        99330 :         tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8815        99330 :         if (res) return res;
    8816              :       }
    8817              :     }
    8818              : }
    8819     27694034 : {
    8820     27694034 :   tree _p0_pops[1];
    8821     27694034 :   if (tree_nop_convert (_p0, _p0_pops))
    8822              :     {
    8823      2987983 :       tree _q20 = _p0_pops[0];
    8824      2987983 :       switch (TREE_CODE (_q20))
    8825              :         {
    8826           41 :         case BIT_NOT_EXPR:
    8827           41 :           {
    8828           41 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8829           41 :             switch (TREE_CODE (_p1))
    8830              :               {
    8831            0 :               case BIT_NOT_EXPR:
    8832            0 :                 {
    8833            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8834            0 :                   {
    8835            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8836            0 :                     tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8837            0 :                     if (res) return res;
    8838              :                   }
    8839            0 :                   break;
    8840              :                 }
    8841           41 :               default:;
    8842              :               }
    8843           41 :           {
    8844           41 :             tree _p1_pops[1];
    8845           41 :             if (tree_nop_convert (_p1, _p1_pops))
    8846              :               {
    8847            0 :                 tree _q50 = _p1_pops[0];
    8848            0 :                 switch (TREE_CODE (_q50))
    8849              :                   {
    8850            0 :                   case BIT_NOT_EXPR:
    8851            0 :                     {
    8852            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8853            0 :                       {
    8854            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8855            0 :                         tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8856            0 :                         if (res) return res;
    8857              :                       }
    8858            0 :                       break;
    8859              :                     }
    8860              :                   default:;
    8861              :                   }
    8862              :               }
    8863              :           }
    8864           41 :           if (CONSTANT_CLASS_P (_p1))
    8865              :             {
    8866           41 :               {
    8867           41 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8868           41 :                 tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8869           41 :                 if (res) return res;
    8870              :               }
    8871              :             }
    8872              :             break;
    8873              :           }
    8874              :         default:;
    8875              :         }
    8876              :     }
    8877              : }
    8878     27693993 :   switch (TREE_CODE (_p1))
    8879              :     {
    8880       967607 :     case REAL_CST:
    8881       967607 :       {
    8882       967607 :         {
    8883       967607 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8884       967607 :           tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8885       967607 :           if (res) return res;
    8886              :         }
    8887       966591 :         break;
    8888              :       }
    8889     27692977 :     default:;
    8890              :     }
    8891     27692977 :   switch (TREE_CODE (_p0))
    8892              :     {
    8893       669594 :     case PLUS_EXPR:
    8894       669594 :       {
    8895       669594 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8896       669594 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8897       669594 :         switch (TREE_CODE (_q21))
    8898              :           {
    8899          577 :           case REAL_CST:
    8900          577 :             {
    8901          577 :               switch (TREE_CODE (_p1))
    8902              :                 {
    8903          407 :                 case REAL_CST:
    8904          407 :                   {
    8905          407 :                     {
    8906          407 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8907          407 :                       tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR);
    8908          407 :                       if (res) return res;
    8909              :                     }
    8910          407 :                     break;
    8911              :                   }
    8912              :                 default:;
    8913              :                 }
    8914              :               break;
    8915              :             }
    8916              :           default:;
    8917              :           }
    8918              :         break;
    8919              :       }
    8920        96748 :     case MINUS_EXPR:
    8921        96748 :       {
    8922        96748 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8923        96748 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8924        96748 :         switch (TREE_CODE (_q21))
    8925              :           {
    8926           62 :           case REAL_CST:
    8927           62 :             {
    8928           62 :               switch (TREE_CODE (_p1))
    8929              :                 {
    8930           62 :                 case REAL_CST:
    8931           62 :                   {
    8932           62 :                     {
    8933           62 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8934           62 :                       tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, MINUS_EXPR, EQ_EXPR);
    8935           62 :                       if (res) return res;
    8936              :                     }
    8937           62 :                     break;
    8938              :                   }
    8939              :                 default:;
    8940              :                 }
    8941              :               break;
    8942              :             }
    8943        96748 :           default:;
    8944              :           }
    8945        96748 :         switch (TREE_CODE (_q20))
    8946              :           {
    8947          274 :           case REAL_CST:
    8948          274 :             {
    8949          274 :               switch (TREE_CODE (_p1))
    8950              :                 {
    8951          245 :                 case REAL_CST:
    8952          245 :                   {
    8953          245 :                     {
    8954          245 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8955          245 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8956          245 :                       if (res) return res;
    8957              :                     }
    8958          244 :                     break;
    8959              :                   }
    8960              :                 default:;
    8961              :                 }
    8962              :               break;
    8963              :             }
    8964              :           default:;
    8965              :           }
    8966              :         break;
    8967              :       }
    8968         2775 :     case FLOAT_EXPR:
    8969         2775 :       {
    8970         2775 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8971         2775 :         switch (TREE_CODE (_p1))
    8972              :           {
    8973            2 :           case FLOAT_EXPR:
    8974            2 :             {
    8975            2 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8976            2 :               {
    8977            2 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8978            2 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8979            2 :                 if (res) return res;
    8980              :               }
    8981            1 :               break;
    8982              :             }
    8983          278 :           case REAL_CST:
    8984          278 :             {
    8985          278 :               {
    8986          278 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8987          278 :                 tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8988          278 :                 if (res) return res;
    8989              :               }
    8990          226 :               break;
    8991              :             }
    8992              :           default:;
    8993              :           }
    8994              :         break;
    8995              :       }
    8996         7255 :     case EXACT_DIV_EXPR:
    8997         7255 :       {
    8998         7255 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8999         7255 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9000         7255 :         switch (TREE_CODE (_p1))
    9001              :           {
    9002           33 :           case INTEGER_CST:
    9003           33 :             {
    9004           33 :               {
    9005           33 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9006           33 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9007           33 :                 if (res) return res;
    9008              :               }
    9009            0 :               break;
    9010              :             }
    9011              :           default:;
    9012              :           }
    9013              :         break;
    9014              :       }
    9015         1327 :     case NEGATE_EXPR:
    9016         1327 :       {
    9017         1327 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9018         1327 :         switch (TREE_CODE (_p1))
    9019              :           {
    9020            1 :           case NEGATE_EXPR:
    9021            1 :             {
    9022            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9023            1 :               {
    9024            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9025            1 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9026            1 :                 if (res) return res;
    9027              :               }
    9028            0 :               break;
    9029              :             }
    9030         1326 :           default:;
    9031              :           }
    9032         1326 :       if (CONSTANT_CLASS_P (_p1))
    9033              :         {
    9034          210 :           {
    9035          210 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9036          210 :             tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    9037          210 :             if (res) return res;
    9038              :           }
    9039              :         }
    9040              :         break;
    9041              :       }
    9042         1430 :     case ABS_EXPR:
    9043         1430 :       {
    9044         1430 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9045         1430 :         if (zerop (_p1))
    9046              :           {
    9047           66 :             {
    9048           66 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9049           66 :               const enum tree_code eqne = EQ_EXPR;
    9050           66 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1521;
    9051           66 :               {
    9052           66 :                 tree res_op0;
    9053           66 :                 res_op0 = captures[0];
    9054           66 :                 tree res_op1;
    9055           66 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    9056           66 :                 tree _r;
    9057           66 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    9058           66 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    9059            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9060           66 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
    9061           66 :                 return _r;
    9062              :               }
    9063            0 : next_after_fail1521:;
    9064              :             }
    9065              :           }
    9066              :         break;
    9067              :       }
    9068            1 :     case ABSU_EXPR:
    9069            1 :       {
    9070            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9071            1 :         if (zerop (_p1))
    9072              :           {
    9073            0 :             {
    9074            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9075            0 :               const enum tree_code eqne = EQ_EXPR;
    9076            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1522;
    9077            0 :               {
    9078            0 :                 tree res_op0;
    9079            0 :                 res_op0 = captures[0];
    9080            0 :                 tree res_op1;
    9081            0 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    9082            0 :                 tree _r;
    9083            0 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    9084            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    9085            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9086            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
    9087            0 :                 return _r;
    9088              :               }
    9089            0 : next_after_fail1522:;
    9090              :             }
    9091              :           }
    9092              :         break;
    9093              :       }
    9094      5180709 :     CASE_CONVERT:
    9095      5180709 :       {
    9096      5180709 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9097      5180709 :         switch (TREE_CODE (_p1))
    9098              :           {
    9099      1588379 :           CASE_CONVERT:
    9100      1588379 :             {
    9101      1588379 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9102      1588379 :               {
    9103      1588379 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9104      1588379 :                 tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9105      1588379 :                 if (res) return res;
    9106              :               }
    9107       911897 :               break;
    9108              :             }
    9109      4504227 :           default:;
    9110              :           }
    9111      4504227 :         {
    9112      4504227 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    9113      4504227 :           tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9114      4504227 :           if (res) return res;
    9115              :         }
    9116      2319584 :         switch (TREE_CODE (_q20))
    9117              :           {
    9118            3 :           case BIT_IOR_EXPR:
    9119            3 :             {
    9120            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9121            3 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9122            3 :               switch (TREE_CODE (_q31))
    9123              :                 {
    9124            0 :                 case INTEGER_CST:
    9125            0 :                   {
    9126            0 :                     switch (TREE_CODE (_p1))
    9127              :                       {
    9128            0 :                       case INTEGER_CST:
    9129            0 :                         {
    9130            0 :                           {
    9131            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9132            0 :                             tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9133            0 :                             if (res) return res;
    9134              :                           }
    9135            0 :                           break;
    9136              :                         }
    9137              :                       default:;
    9138              :                       }
    9139              :                     break;
    9140              :                   }
    9141              :                 default:;
    9142              :                 }
    9143              :               break;
    9144              :             }
    9145              :           default:;
    9146              :           }
    9147              :         break;
    9148              :       }
    9149      9055920 :     case SSA_NAME:
    9150      9055920 :       {
    9151      9055920 :         switch (TREE_CODE (_p1))
    9152              :           {
    9153       831977 :           case ADDR_EXPR:
    9154       831977 :             {
    9155       831977 :               {
    9156       831977 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9157       831977 :                 tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9158       831977 :                 if (res) return res;
    9159              :               }
    9160       831977 :               break;
    9161              :             }
    9162              :           default:;
    9163              :           }
    9164              :         break;
    9165              :       }
    9166        33744 :     case BIT_IOR_EXPR:
    9167        33744 :       {
    9168        33744 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9169        33744 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9170        33744 :         switch (TREE_CODE (_q21))
    9171              :           {
    9172         1519 :           case INTEGER_CST:
    9173         1519 :             {
    9174         1519 :               switch (TREE_CODE (_p1))
    9175              :                 {
    9176          476 :                 case INTEGER_CST:
    9177          476 :                   {
    9178          476 :                     {
    9179          476 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9180          476 :                       tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9181          476 :                       if (res) return res;
    9182              :                     }
    9183          476 :                     break;
    9184              :                   }
    9185              :                 default:;
    9186              :                 }
    9187              :               break;
    9188              :             }
    9189              :           default:;
    9190              :           }
    9191              :         break;
    9192              :       }
    9193          593 :     case BIT_XOR_EXPR:
    9194          593 :       {
    9195          593 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9196          593 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9197          593 :         if (integer_zerop (_p1))
    9198              :           {
    9199          163 :             {
    9200          163 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9201          163 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9202          163 :               if (res) return res;
    9203              :             }
    9204              :           }
    9205          430 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9206              :           {
    9207           29 :             {
    9208           29 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9209           29 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9210           29 :               if (res) return res;
    9211              :             }
    9212              :           }
    9213          401 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9214              :           {
    9215           30 :             {
    9216           30 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9217           30 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9218           30 :               if (res) return res;
    9219              :             }
    9220              :           }
    9221              :         break;
    9222              :       }
    9223      2014819 :     case CALL_EXPR:
    9224      2014819 :       switch (get_call_combined_fn (_p0))
    9225              :         {
    9226            3 :         case CFN_BUILT_IN_SQRTF:
    9227            3 :           if (call_expr_nargs (_p0) == 1)
    9228              :     {
    9229            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9230            3 :               switch (TREE_CODE (_p1))
    9231              :                 {
    9232            0 :                 case REAL_CST:
    9233            0 :                   {
    9234            0 :                     {
    9235            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9236            0 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
    9237            0 :                       if (res) return res;
    9238              :                     }
    9239            0 :                     break;
    9240              :                   }
    9241            3 :                 case CALL_EXPR:
    9242            3 :                   switch (get_call_combined_fn (_p1))
    9243              :                     {
    9244            3 :                     case CFN_BUILT_IN_SQRTF:
    9245            3 :                       if (call_expr_nargs (_p1) == 1)
    9246              :     {
    9247            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9248            3 :                           {
    9249            3 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9250            3 :                             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
    9251            3 :                             if (res) return res;
    9252              :                           }
    9253              :                         }
    9254              :                       break;
    9255              :                     default:;
    9256              :                     }
    9257              :                   break;
    9258              :                 default:;
    9259              :                 }
    9260              :             }
    9261              :           break;
    9262            3 :         case CFN_BUILT_IN_SQRTL:
    9263            3 :           if (call_expr_nargs (_p0) == 1)
    9264              :     {
    9265            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9266            3 :               switch (TREE_CODE (_p1))
    9267              :                 {
    9268            0 :                 case REAL_CST:
    9269            0 :                   {
    9270            0 :                     {
    9271            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9272            0 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
    9273            0 :                       if (res) return res;
    9274              :                     }
    9275            0 :                     break;
    9276              :                   }
    9277            3 :                 case CALL_EXPR:
    9278            3 :                   switch (get_call_combined_fn (_p1))
    9279              :                     {
    9280            3 :                     case CFN_BUILT_IN_SQRTL:
    9281            3 :                       if (call_expr_nargs (_p1) == 1)
    9282              :     {
    9283            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9284            3 :                           {
    9285            3 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9286            3 :                             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
    9287            3 :                             if (res) return res;
    9288              :                           }
    9289              :                         }
    9290              :                       break;
    9291              :                     default:;
    9292              :                     }
    9293              :                   break;
    9294              :                 default:;
    9295              :                 }
    9296              :             }
    9297              :           break;
    9298            0 :         case CFN_BUILT_IN_SQRT:
    9299            0 :           if (call_expr_nargs (_p0) == 1)
    9300              :     {
    9301            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9302            0 :               switch (TREE_CODE (_p1))
    9303              :                 {
    9304            0 :                 case REAL_CST:
    9305            0 :                   {
    9306            0 :                     {
    9307            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9308            0 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
    9309            0 :                       if (res) return res;
    9310              :                     }
    9311            0 :                     break;
    9312              :                   }
    9313            0 :                 case CALL_EXPR:
    9314            0 :                   switch (get_call_combined_fn (_p1))
    9315              :                     {
    9316            0 :                     case CFN_BUILT_IN_SQRT:
    9317            0 :                       if (call_expr_nargs (_p1) == 1)
    9318              :     {
    9319            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9320            0 :                           {
    9321            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9322            0 :                             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
    9323            0 :                             if (res) return res;
    9324              :                           }
    9325              :                         }
    9326              :                       break;
    9327              :                     default:;
    9328              :                     }
    9329              :                   break;
    9330              :                 default:;
    9331              :                 }
    9332              :             }
    9333              :           break;
    9334            0 :         case CFN_SQRT:
    9335            0 :           if (call_expr_nargs (_p0) == 1)
    9336              :     {
    9337            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9338            0 :               switch (TREE_CODE (_p1))
    9339              :                 {
    9340            0 :                 case REAL_CST:
    9341            0 :                   {
    9342            0 :                     {
    9343            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9344            0 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
    9345            0 :                       if (res) return res;
    9346              :                     }
    9347            0 :                     break;
    9348              :                   }
    9349            0 :                 case CALL_EXPR:
    9350            0 :                   switch (get_call_combined_fn (_p1))
    9351              :                     {
    9352            0 :                     case CFN_SQRT:
    9353            0 :                       if (call_expr_nargs (_p1) == 1)
    9354              :     {
    9355            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9356            0 :                           {
    9357            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9358            0 :                             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
    9359            0 :                             if (res) return res;
    9360              :                           }
    9361              :                         }
    9362              :                       break;
    9363              :                     default:;
    9364              :                     }
    9365              :                   break;
    9366              :                 default:;
    9367              :                 }
    9368              :             }
    9369              :           break;
    9370              :         default:;
    9371              :         }
    9372              :       break;
    9373     24831276 :     default:;
    9374              :     }
    9375     24831276 :   switch (TREE_CODE (_p1))
    9376              :     {
    9377           22 :     case BIT_XOR_EXPR:
    9378           22 :       {
    9379           22 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9380           22 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9381           22 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9382              :           {
    9383            0 :             {
    9384            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9385            0 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9386            0 :               if (res) return res;
    9387              :             }
    9388              :           }
    9389           22 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9390              :           {
    9391            0 :             {
    9392            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9393            0 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9394            0 :               if (res) return res;
    9395              :             }
    9396              :           }
    9397              :         break;
    9398              :       }
    9399     24831276 :     default:;
    9400              :     }
    9401     24831276 :   switch (TREE_CODE (_p0))
    9402              :     {
    9403       849427 :     case BIT_AND_EXPR:
    9404       849427 :       {
    9405       849427 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9406       849427 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9407       849427 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9408              :           {
    9409          137 :             {
    9410          137 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9411          137 :               tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9412          137 :               if (res) return res;
    9413              :             }
    9414              :           }
    9415       849426 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9416              :           {
    9417       144644 :             {
    9418       144644 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9419       144644 :               tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9420       144644 :               if (res) return res;
    9421              :             }
    9422              :           }
    9423              :         break;
    9424              :       }
    9425     24831275 :     default:;
    9426              :     }
    9427     24831275 :   switch (TREE_CODE (_p1))
    9428              :     {
    9429        25421 :     case BIT_AND_EXPR:
    9430        25421 :       {
    9431        25421 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9432        25421 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9433        25421 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9434              :           {
    9435            0 :             {
    9436            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9437            0 :               tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9438            0 :               if (res) return res;
    9439              :             }
    9440              :           }
    9441        25421 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9442              :           {
    9443            0 :             {
    9444            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9445            0 :               tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9446            0 :               if (res) return res;
    9447              :             }
    9448              :           }
    9449              :         break;
    9450              :       }
    9451     24831275 :     default:;
    9452              :     }
    9453     24831275 :   switch (TREE_CODE (_p0))
    9454              :     {
    9455      2319584 :     CASE_CONVERT:
    9456      2319584 :       {
    9457      2319584 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9458      2319584 :         switch (TREE_CODE (_q20))
    9459              :           {
    9460            2 :           case BIT_AND_EXPR:
    9461            2 :             {
    9462            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9463            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9464            2 :               switch (TREE_CODE (_q30))
    9465              :                 {
    9466            0 :                 CASE_CONVERT:
    9467            0 :                   {
    9468            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9469            0 :                     switch (TREE_CODE (_q31))
    9470              :                       {
    9471            0 :                       case INTEGER_CST:
    9472            0 :                         {
    9473            0 :                           switch (TREE_CODE (_p1))
    9474              :                             {
    9475            0 :                             CASE_CONVERT:
    9476            0 :                               {
    9477            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    9478            0 :                                 if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    9479              :                                   {
    9480            0 :                                     {
    9481            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
    9482            0 :                                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9483            0 :                                       if (res) return res;
    9484              :                                     }
    9485              :                                   }
    9486              :                                 break;
    9487              :                               }
    9488              :                             default:;
    9489              :                             }
    9490              :                           break;
    9491              :                         }
    9492              :                       default:;
    9493              :                       }
    9494              :                     break;
    9495              :                   }
    9496              :                 default:;
    9497              :                 }
    9498              :               break;
    9499              :             }
    9500      2319584 :           default:;
    9501              :           }
    9502      2319584 :         switch (TREE_CODE (_p1))
    9503              :           {
    9504       911897 :           CASE_CONVERT:
    9505       911897 :             {
    9506       911897 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9507       911897 :               switch (TREE_CODE (_q40))
    9508              :                 {
    9509            7 :                 case BIT_AND_EXPR:
    9510            7 :                   {
    9511            7 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9512            7 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9513            7 :                     switch (TREE_CODE (_q50))
    9514              :                       {
    9515            7 :                       CASE_CONVERT:
    9516            7 :                         {
    9517            7 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    9518            7 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9519              :                             {
    9520            0 :                               switch (TREE_CODE (_q51))
    9521              :                                 {
    9522            0 :                                 case INTEGER_CST:
    9523            0 :                                   {
    9524            0 :                                     {
    9525            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
    9526            0 :                                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9527            0 :                                       if (res) return res;
    9528              :                                     }
    9529            0 :                                     break;
    9530              :                                   }
    9531              :                                 default:;
    9532              :                                 }
    9533              :                             }
    9534              :                           break;
    9535              :                         }
    9536              :                       default:;
    9537              :                       }
    9538              :                     break;
    9539              :                   }
    9540              :                 default:;
    9541              :                 }
    9542              :               break;
    9543              :             }
    9544              :           default:;
    9545              :           }
    9546              :         break;
    9547              :       }
    9548        33744 :     case BIT_IOR_EXPR:
    9549        33744 :       {
    9550        33744 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9551        33744 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9552        33744 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9553              :           {
    9554           24 :             {
    9555           24 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9556           24 :               tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9557           24 :               if (res) return res;
    9558              :             }
    9559              :           }
    9560        33744 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9561              :           {
    9562           46 :             {
    9563           46 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9564           46 :               tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9565           46 :               if (res) return res;
    9566              :             }
    9567              :           }
    9568              :         break;
    9569              :       }
    9570     24831275 :     default:;
    9571              :     }
    9572     24831275 :   switch (TREE_CODE (_p1))
    9573              :     {
    9574          618 :     case BIT_IOR_EXPR:
    9575          618 :       {
    9576          618 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9577          618 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9578          618 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9579              :           {
    9580            0 :             {
    9581            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    9582            0 :               tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9583            0 :               if (res) return res;
    9584              :             }
    9585              :           }
    9586          618 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9587              :           {
    9588            0 :             {
    9589            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
    9590            0 :               tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9591            0 :               if (res) return res;
    9592              :             }
    9593              :           }
    9594              :         break;
    9595              :       }
    9596     24831275 :     default:;
    9597              :     }
    9598     24831275 :   switch (TREE_CODE (_p0))
    9599              :     {
    9600      2319584 :     CASE_CONVERT:
    9601      2319584 :       {
    9602      2319584 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9603      2319584 :         switch (TREE_CODE (_q20))
    9604              :           {
    9605          984 :           case BIT_XOR_EXPR:
    9606          984 :             {
    9607          984 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9608          984 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9609          984 :               switch (TREE_CODE (_q31))
    9610              :                 {
    9611            7 :                 case INTEGER_CST:
    9612            7 :                   {
    9613            7 :                     switch (TREE_CODE (_p1))
    9614              :                       {
    9615            0 :                       case INTEGER_CST:
    9616            0 :                         {
    9617            0 :                           {
    9618            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9619            0 :                             tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9620            0 :                             if (res) return res;
    9621              :                           }
    9622            0 :                           break;
    9623              :                         }
    9624              :                       default:;
    9625              :                       }
    9626              :                     break;
    9627              :                   }
    9628              :                 default:;
    9629              :                 }
    9630              :               break;
    9631              :             }
    9632              :           default:;
    9633              :           }
    9634              :         break;
    9635              :       }
    9636          371 :     case BIT_XOR_EXPR:
    9637          371 :       {
    9638          371 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9639          371 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9640          371 :         switch (TREE_CODE (_q21))
    9641              :           {
    9642          103 :           case INTEGER_CST:
    9643          103 :             {
    9644          103 :               switch (TREE_CODE (_p1))
    9645              :                 {
    9646           16 :                 case INTEGER_CST:
    9647           16 :                   {
    9648           16 :                     {
    9649           16 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9650           16 :                       tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9651           16 :                       if (res) return res;
    9652              :                     }
    9653            0 :                     break;
    9654              :                   }
    9655              :                 default:;
    9656              :                 }
    9657              :               break;
    9658              :             }
    9659              :           default:;
    9660              :           }
    9661              :         break;
    9662              :       }
    9663     24831259 :     default:;
    9664              :     }
    9665     24831259 : {
    9666     24831259 :   tree _p0_pops[1];
    9667     24831259 :   if (tree_nop_convert (_p0, _p0_pops))
    9668              :     {
    9669      1957454 :       tree _q20 = _p0_pops[0];
    9670      1957454 :       if (integer_zerop (_p1))
    9671              :         {
    9672       461598 :           {
    9673       461598 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9674       461598 :             tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9675       461598 :             if (res) return res;
    9676              :           }
    9677              :         }
    9678              :     }
    9679              : }
    9680     24519098 :   if (integer_zerop (_p1))
    9681              :     {
    9682      9857569 :       {
    9683      9857569 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9684      9857569 :         tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9685      9857569 :         if (res) return res;
    9686              :       }
    9687              :     }
    9688     24445347 :   switch (TREE_CODE (_p0))
    9689              :     {
    9690       849426 :     case BIT_AND_EXPR:
    9691       849426 :       {
    9692       849426 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9693       849426 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9694       849426 :         switch (TREE_CODE (_p1))
    9695              :           {
    9696        25117 :           case BIT_AND_EXPR:
    9697        25117 :             {
    9698        25117 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9699        25117 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9700        25117 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9701              :                 {
    9702        24592 :                   {
    9703        24592 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9704        24592 :                     tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9705        24592 :                     if (res) return res;
    9706              :                   }
    9707              :                 }
    9708          525 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9709              :                 {
    9710           28 :                   {
    9711           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    9712           28 :                     tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9713           28 :                     if (res) return res;
    9714              :                   }
    9715              :                 }
    9716          497 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9717              :                 {
    9718           28 :                   {
    9719           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    9720           28 :                     tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9721           28 :                     if (res) return res;
    9722              :                   }
    9723              :                 }
    9724          469 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9725              :                 {
    9726           28 :                   {
    9727           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    9728           28 :                     tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9729           28 :                     if (res) return res;
    9730              :                   }
    9731              :                 }
    9732              :               break;
    9733              :             }
    9734       824750 :           default:;
    9735              :           }
    9736       824750 :         if (integer_pow2p (_q21))
    9737              :           {
    9738       284170 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9739              :               {
    9740       111755 :                 {
    9741       111755 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9742       111755 :                   tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    9743       111755 :                   if (res) return res;
    9744              :                 }
    9745              :               }
    9746              :           }
    9747       713015 :         switch (TREE_CODE (_q20))
    9748              :           {
    9749        49173 :           CASE_CONVERT:
    9750        49173 :             {
    9751        49173 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9752        49173 :               if (integer_pow2p (_q21))
    9753              :                 {
    9754        10861 :                   if (integer_zerop (_p1))
    9755              :                     {
    9756        10859 :                       {
    9757        10859 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
    9758        10859 :                         tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    9759        10859 :                         if (res) return res;
    9760              :                       }
    9761              :                     }
    9762              :                 }
    9763              :               break;
    9764              :             }
    9765       712058 :           default:;
    9766              :           }
    9767       712058 :         if (integer_pow2p (_q21))
    9768              :           {
    9769       171478 :             if (integer_zerop (_p1))
    9770              :               {
    9771       171321 :                 {
    9772       171321 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
    9773       171321 :                   tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    9774       171321 :                   if (res) return res;
    9775              :                 }
    9776              :               }
    9777              :           }
    9778              :         break;
    9779              :       }
    9780         1208 :     case GE_EXPR:
    9781         1208 :       {
    9782         1208 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9783         1208 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9784         1208 :         if (integer_zerop (_q21))
    9785              :           {
    9786           95 :             switch (TREE_CODE (_p1))
    9787              :               {
    9788            5 :               case GE_EXPR:
    9789            5 :                 {
    9790            5 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9791            5 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9792            5 :                   if (integer_zerop (_q51))
    9793              :                     {
    9794            5 :                       {
    9795            5 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9796            5 :                         tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, GE_EXPR);
    9797            5 :                         if (res) return res;
    9798              :                       }
    9799              :                     }
    9800              :                   break;
    9801              :                 }
    9802            1 :               case LT_EXPR:
    9803            1 :                 {
    9804            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9805            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9806            1 :                   if (integer_zerop (_q51))
    9807              :                     {
    9808            1 :                       {
    9809            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    9810            1 :                         tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    9811            1 :                         if (res) return res;
    9812              :                       }
    9813              :                     }
    9814              :                   break;
    9815              :                 }
    9816              :               default:;
    9817              :               }
    9818              :           }
    9819              :         break;
    9820              :       }
    9821          835 :     case LT_EXPR:
    9822          835 :       {
    9823          835 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9824          835 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9825          835 :         if (integer_zerop (_q21))
    9826              :           {
    9827          138 :             switch (TREE_CODE (_p1))
    9828              :               {
    9829           11 :               case LT_EXPR:
    9830           11 :                 {
    9831           11 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9832           11 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9833           11 :                   if (integer_zerop (_q51))
    9834              :                     {
    9835            9 :                       {
    9836            9 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9837            9 :                         tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GE_EXPR);
    9838            9 :                         if (res) return res;
    9839              :                       }
    9840              :                     }
    9841              :                   break;
    9842              :                 }
    9843            1 :               case GE_EXPR:
    9844            1 :                 {
    9845            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9846            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9847            1 :                   if (integer_zerop (_q51))
    9848              :                     {
    9849            1 :                       {
    9850            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9851            1 :                         tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    9852            1 :                         if (res) return res;
    9853              :                       }
    9854              :                     }
    9855              :                   break;
    9856              :                 }
    9857              :               default:;
    9858              :               }
    9859              :           }
    9860              :         break;
    9861              :       }
    9862        33744 :     case BIT_IOR_EXPR:
    9863        33744 :       {
    9864        33744 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9865        33744 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9866        33744 :         switch (TREE_CODE (_q21))
    9867              :           {
    9868          658 :           CASE_CONVERT:
    9869          658 :             {
    9870          658 :               tree _q40 = TREE_OPERAND (_q21, 0);
    9871          658 :               switch (TREE_CODE (_q40))
    9872              :                 {
    9873            0 :                 case NE_EXPR:
    9874            0 :                   {
    9875            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9876            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9877            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9878              :                       {
    9879            0 :                         if (integer_zerop (_q51))
    9880              :                           {
    9881            0 :                             if (integer_zerop (_p1))
    9882              :                               {
    9883            0 :                                 {
    9884            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9885            0 :                                   tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9886            0 :                                   if (res) return res;
    9887              :                                 }
    9888              :                               }
    9889              :                           }
    9890              :                       }
    9891              :                     break;
    9892              :                   }
    9893              :                 default:;
    9894              :                 }
    9895              :               break;
    9896              :             }
    9897        33744 :           default:;
    9898              :           }
    9899        33744 :         switch (TREE_CODE (_q20))
    9900              :           {
    9901          643 :           CASE_CONVERT:
    9902          643 :             {
    9903          643 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9904          643 :               switch (TREE_CODE (_q30))
    9905              :                 {
    9906            0 :                 case NE_EXPR:
    9907            0 :                   {
    9908            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9909            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    9910            0 :                     if (integer_zerop (_q41))
    9911              :                       {
    9912            0 :                         if ((_q21 == _q40 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q40, 0) && types_match (_q21, _q40)))
    9913              :                           {
    9914            0 :                             if (integer_zerop (_p1))
    9915              :                               {
    9916            0 :                                 {
    9917            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    9918            0 :                                   tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9919            0 :                                   if (res) return res;
    9920              :                                 }
    9921              :                               }
    9922              :                           }
    9923              :                       }
    9924              :                     break;
    9925              :                   }
    9926              :                 default:;
    9927              :                 }
    9928              :               break;
    9929              :             }
    9930        33744 :           default:;
    9931              :           }
    9932        33744 :         switch (TREE_CODE (_q21))
    9933              :           {
    9934            1 :           case NE_EXPR:
    9935            1 :             {
    9936            1 :               tree _q40 = TREE_OPERAND (_q21, 0);
    9937            1 :               tree _q41 = TREE_OPERAND (_q21, 1);
    9938            1 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    9939              :                 {
    9940            0 :                   if (integer_zerop (_q41))
    9941              :                     {
    9942            0 :                       if (integer_zerop (_p1))
    9943              :                         {
    9944            0 :                           {
    9945            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9946            0 :                             tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9947            0 :                             if (res) return res;
    9948              :                           }
    9949              :                         }
    9950              :                     }
    9951              :                 }
    9952              :               break;
    9953              :             }
    9954        33744 :           default:;
    9955              :           }
    9956        33744 :         switch (TREE_CODE (_q20))
    9957              :           {
    9958            8 :           case NE_EXPR:
    9959            8 :             {
    9960            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9961            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9962            8 :               if (integer_zerop (_q31))
    9963              :                 {
    9964            0 :                   if ((_q21 == _q30 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q30, 0) && types_match (_q21, _q30)))
    9965              :                     {
    9966            0 :                       if (integer_zerop (_p1))
    9967              :                         {
    9968            0 :                           {
    9969            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    9970            0 :                             tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9971            0 :                             if (res) return res;
    9972              :                           }
    9973              :                         }
    9974              :                     }
    9975              :                 }
    9976              :               break;
    9977              :             }
    9978              :           default:;
    9979              :           }
    9980              :         break;
    9981              :       }
    9982      2007420 :     CASE_CONVERT:
    9983      2007420 :       {
    9984      2007420 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9985      2007420 :         switch (TREE_CODE (_q20))
    9986              :           {
    9987       562556 :           case ADDR_EXPR:
    9988       562556 :             {
    9989       562556 :               switch (TREE_CODE (_p1))
    9990              :                 {
    9991       534435 :                 CASE_CONVERT:
    9992       534435 :                   {
    9993       534435 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9994       534435 :                     switch (TREE_CODE (_q40))
    9995              :                       {
    9996       534435 :                       case ADDR_EXPR:
    9997       534435 :                         {
    9998       534435 :                           {
    9999       534435 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10000       534435 :                             tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10001       534435 :                             if (res) return res;
   10002              :                           }
   10003           30 :                           break;
   10004              :                         }
   10005              :                       default:;
   10006              :                       }
   10007              :                     break;
   10008              :                   }
   10009        20893 :                 case ADDR_EXPR:
   10010        20893 :                   {
   10011        20893 :                     {
   10012        20893 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10013        20893 :                       tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10014        20893 :                       if (res) return res;
   10015              :                     }
   10016         7896 :                     break;
   10017              :                   }
   10018              :                 default:;
   10019              :                 }
   10020              :               break;
   10021              :             }
   10022              :           default:;
   10023              :           }
   10024              :         break;
   10025              :       }
   10026        18976 :     case ADDR_EXPR:
   10027        18976 :       {
   10028        18976 :         switch (TREE_CODE (_p1))
   10029              :           {
   10030          165 :           CASE_CONVERT:
   10031          165 :             {
   10032          165 :               tree _q30 = TREE_OPERAND (_p1, 0);
   10033          165 :               switch (TREE_CODE (_q30))
   10034              :                 {
   10035          165 :                 case ADDR_EXPR:
   10036          165 :                   {
   10037          165 :                     {
   10038          165 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
   10039          165 :                       tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10040          165 :                       if (res) return res;
   10041              :                     }
   10042            0 :                     break;
   10043              :                   }
   10044              :                 default:;
   10045              :                 }
   10046              :               break;
   10047              :             }
   10048        16395 :           case ADDR_EXPR:
   10049        16395 :             {
   10050        16395 :               {
   10051        16395 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
   10052        16395 :                 tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10053        16395 :                 if (res) return res;
   10054              :               }
   10055         7258 :               break;
   10056              :             }
   10057              :           default:;
   10058              :           }
   10059              :         break;
   10060              :       }
   10061     23750967 :     default:;
   10062              :     }
   10063     23750967 :   {
   10064     23750967 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10065     23750967 :     tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10066     23750967 :     if (res) return res;
   10067              :   }
   10068     23747778 :   switch (TREE_CODE (_p0))
   10069              :     {
   10070      1460018 :     CASE_CONVERT:
   10071      1460018 :       {
   10072      1460018 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10073      1460018 :         switch (TREE_CODE (_p1))
   10074              :           {
   10075       258599 :           case INTEGER_CST:
   10076       258599 :             {
   10077       258599 :               {
   10078       258599 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10079       258599 :                 tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10080       258599 :                 if (res) return res;
   10081              :               }
   10082       257206 :               break;
   10083              :             }
   10084      1458625 :           default:;
   10085              :           }
   10086      1458625 :         switch (TREE_CODE (_q20))
   10087              :           {
   10088            0 :           case NE_EXPR:
   10089            0 :             {
   10090            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10091            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10092            0 :               switch (TREE_CODE (_q31))
   10093              :                 {
   10094            0 :                 case INTEGER_CST:
   10095            0 :                   {
   10096            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10097              :                       {
   10098            0 :                         {
   10099            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10100            0 :                           tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   10101            0 :                           if (res) return res;
   10102              :                         }
   10103              :                       }
   10104              :                     break;
   10105              :                   }
   10106              :                 default:;
   10107              :                 }
   10108              :               break;
   10109              :             }
   10110            0 :           case EQ_EXPR:
   10111            0 :             {
   10112            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10113            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10114            0 :               switch (TREE_CODE (_q31))
   10115              :                 {
   10116            0 :                 case INTEGER_CST:
   10117            0 :                   {
   10118            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10119              :                       {
   10120            0 :                         {
   10121            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10122            0 :                           tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   10123            0 :                           if (res) return res;
   10124              :                         }
   10125              :                       }
   10126              :                     break;
   10127              :                   }
   10128              :                 default:;
   10129              :                 }
   10130              :               break;
   10131              :             }
   10132              :           default:;
   10133              :           }
   10134              :         break;
   10135              :       }
   10136     23746385 :     default:;
   10137              :     }
   10138     23746385 :   switch (TREE_CODE (_p1))
   10139              :     {
   10140       678491 :     CASE_CONVERT:
   10141       678491 :       {
   10142       678491 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10143       678491 :         switch (TREE_CODE (_q30))
   10144              :           {
   10145            0 :           case NE_EXPR:
   10146            0 :             {
   10147            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10148            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10149            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10150              :                 {
   10151            0 :                   switch (TREE_CODE (_q41))
   10152              :                     {
   10153            0 :                     case INTEGER_CST:
   10154            0 :                       {
   10155            0 :                         {
   10156            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10157            0 :                           tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   10158            0 :                           if (res) return res;
   10159              :                         }
   10160            0 :                         break;
   10161              :                       }
   10162              :                     default:;
   10163              :                     }
   10164              :                 }
   10165              :               break;
   10166              :             }
   10167            0 :           case EQ_EXPR:
   10168            0 :             {
   10169            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10170            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10171            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10172              :                 {
   10173            0 :                   switch (TREE_CODE (_q41))
   10174              :                     {
   10175            0 :                     case INTEGER_CST:
   10176            0 :                       {
   10177            0 :                         {
   10178            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10179            0 :                           tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   10180            0 :                           if (res) return res;
   10181              :                         }
   10182            0 :                         break;
   10183              :                       }
   10184              :                     default:;
   10185              :                     }
   10186              :                 }
   10187              :               break;
   10188              :             }
   10189              :           default:;
   10190              :           }
   10191              :         break;
   10192              :       }
   10193     23746385 :     default:;
   10194              :     }
   10195     23746385 : if (integer_onep (_p1))
   10196              :   {
   10197      1807826 :     {
   10198      1807826 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10199      1807826 :       if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
   10200      1807826 :  && types_match (type, TREE_TYPE (captures[0]))
   10201              : )
   10202              :         {
   10203       116342 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1523;
   10204       116342 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1523;
   10205       116342 :           {
   10206       116342 :             tree res_op0;
   10207       116342 :             res_op0 = captures[0];
   10208       116342 :             tree _r;
   10209       116342 :             _r = non_lvalue_loc (loc, res_op0);
   10210       116342 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
   10211       116342 :             return _r;
   10212              :           }
   10213              : next_after_fail1523:;
   10214              :         }
   10215              :     }
   10216              :   }
   10217     23630043 :   switch (TREE_CODE (_p0))
   10218              :     {
   10219       711766 :     case BIT_AND_EXPR:
   10220       711766 :       {
   10221       711766 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10222       711766 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10223       711766 :         switch (TREE_CODE (_q21))
   10224              :           {
   10225          688 :           case VECTOR_CST:
   10226          688 :             {
   10227          688 :               if (integer_zerop (_p1))
   10228              :                 {
   10229          398 :                   {
   10230          398 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10231          398 :                     const enum tree_code cmp = EQ_EXPR;
   10232          398 :                     const enum tree_code icmp = LE_EXPR;
   10233          398 :                     {
   10234          398 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10235          398 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10236              : )
   10237              :                           {
   10238            2 :                             {
   10239            2 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10240            2 :  ? optab_vector : optab_default;
   10241            2 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10242            2 :                                 if (target_supports_op_p (utype, icmp, optab)
   10243            2 :  || (optimize_vectors_before_lowering_p ()
   10244            2 :  && (!target_supports_op_p (type, cmp, optab)
   10245            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10246              : )
   10247              :                                   {
   10248            2 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10249              : )
   10250              :                                       {
   10251            2 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1524;
   10252            2 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1524;
   10253            2 :                                         {
   10254            2 :                                           tree res_op0;
   10255            2 :                                           res_op0 = captures[1];
   10256            2 :                                           tree res_op1;
   10257            2 :                                           res_op1 =  csts;
   10258            2 :                                           tree _r;
   10259            2 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10260            2 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10261            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10262            2 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 992, __FILE__, __LINE__, true);
   10263            2 :                                           return _r;
   10264              :                                         }
   10265          396 : next_after_fail1524:;
   10266              :                                       }
   10267              :                                     else
   10268              :                                       {
   10269            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1525;
   10270            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1525;
   10271            0 :                                         {
   10272            0 :                                           tree res_op0;
   10273            0 :                                           {
   10274            0 :                                             tree _o1[1], _r1;
   10275            0 :                                             _o1[0] = captures[1];
   10276            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10277              :                                               {
   10278            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10279              :                                               }
   10280              :                                             else
   10281              :                                               _r1 = _o1[0];
   10282            0 :                                             res_op0 = _r1;
   10283              :                                           }
   10284            0 :                                           tree res_op1;
   10285            0 :                                           res_op1 =  csts;
   10286            0 :                                           tree _r;
   10287            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10288            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10289            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10290            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
   10291            0 :                                           return _r;
   10292              :                                         }
   10293          396 : next_after_fail1525:;
   10294              :                                       }
   10295              :                                   }
   10296              :                             }
   10297              :                           }
   10298              :                     }
   10299              :                   }
   10300              :                 }
   10301              :               break;
   10302              :             }
   10303       648393 :           case INTEGER_CST:
   10304       648393 :             {
   10305       648393 :               if (integer_zerop (_p1))
   10306              :                 {
   10307       536446 :                   {
   10308       536446 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10309       536446 :                     const enum tree_code cmp = EQ_EXPR;
   10310       536446 :                     const enum tree_code icmp = LE_EXPR;
   10311       536446 :                     {
   10312       536446 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10313       536446 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10314              : )
   10315              :                           {
   10316         1049 :                             {
   10317         1049 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10318         1049 :  ? optab_vector : optab_default;
   10319         1049 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10320         1049 :                                 if (target_supports_op_p (utype, icmp, optab)
   10321         1049 :  || (optimize_vectors_before_lowering_p ()
   10322          905 :  && (!target_supports_op_p (type, cmp, optab)
   10323            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10324              : )
   10325              :                                   {
   10326          905 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10327              : )
   10328              :                                       {
   10329          616 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1526;
   10330          616 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1526;
   10331          616 :                                         {
   10332          616 :                                           tree res_op0;
   10333          616 :                                           res_op0 = captures[1];
   10334          616 :                                           tree res_op1;
   10335          616 :                                           res_op1 =  csts;
   10336          616 :                                           tree _r;
   10337          616 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10338          616 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10339            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10340          616 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 992, __FILE__, __LINE__, true);
   10341          616 :                                           return _r;
   10342              :                                         }
   10343       535541 : next_after_fail1526:;
   10344              :                                       }
   10345              :                                     else
   10346              :                                       {
   10347          289 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1527;
   10348          289 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1527;
   10349          289 :                                         {
   10350          289 :                                           tree res_op0;
   10351          289 :                                           {
   10352          289 :                                             tree _o1[1], _r1;
   10353          289 :                                             _o1[0] = captures[1];
   10354          289 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10355              :                                               {
   10356          289 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10357              :                                               }
   10358              :                                             else
   10359              :                                               _r1 = _o1[0];
   10360          289 :                                             res_op0 = _r1;
   10361              :                                           }
   10362          289 :                                           tree res_op1;
   10363          289 :                                           res_op1 =  csts;
   10364          289 :                                           tree _r;
   10365          289 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10366          289 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10367            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10368          289 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
   10369          289 :                                           return _r;
   10370              :                                         }
   10371       535541 : next_after_fail1527:;
   10372              :                                       }
   10373              :                                   }
   10374              :                             }
   10375              :                           }
   10376              :                     }
   10377              :                   }
   10378              :                 }
   10379              :               break;
   10380              :             }
   10381       710859 :           default:;
   10382              :           }
   10383       710859 :         switch (TREE_CODE (_q20))
   10384              :           {
   10385            0 :           case VECTOR_CST:
   10386            0 :             {
   10387            0 :               if (integer_zerop (_p1))
   10388              :                 {
   10389            0 :                   {
   10390            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10391            0 :                     const enum tree_code cmp = EQ_EXPR;
   10392            0 :                     const enum tree_code icmp = LE_EXPR;
   10393            0 :                     {
   10394            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10395            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10396              : )
   10397              :                           {
   10398            0 :                             {
   10399            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10400            0 :  ? optab_vector : optab_default;
   10401            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10402            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10403            0 :  || (optimize_vectors_before_lowering_p ()
   10404            0 :  && (!target_supports_op_p (type, cmp, optab)
   10405            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10406              : )
   10407              :                                   {
   10408            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10409              : )
   10410              :                                       {
   10411            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1528;
   10412            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1528;
   10413            0 :                                         {
   10414            0 :                                           tree res_op0;
   10415            0 :                                           res_op0 = captures[1];
   10416            0 :                                           tree res_op1;
   10417            0 :                                           res_op1 =  csts;
   10418            0 :                                           tree _r;
   10419            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10420            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10421            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10422            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 992, __FILE__, __LINE__, true);
   10423            0 :                                           return _r;
   10424              :                                         }
   10425            0 : next_after_fail1528:;
   10426              :                                       }
   10427              :                                     else
   10428              :                                       {
   10429            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1529;
   10430            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1529;
   10431            0 :                                         {
   10432            0 :                                           tree res_op0;
   10433            0 :                                           {
   10434            0 :                                             tree _o1[1], _r1;
   10435            0 :                                             _o1[0] = captures[1];
   10436            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10437              :                                               {
   10438            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10439              :                                               }
   10440              :                                             else
   10441              :                                               _r1 = _o1[0];
   10442            0 :                                             res_op0 = _r1;
   10443              :                                           }
   10444            0 :                                           tree res_op1;
   10445            0 :                                           res_op1 =  csts;
   10446            0 :                                           tree _r;
   10447            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10448            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10449            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10450            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
   10451            0 :                                           return _r;
   10452              :                                         }
   10453            0 : next_after_fail1529:;
   10454              :                                       }
   10455              :                                   }
   10456              :                             }
   10457              :                           }
   10458              :                     }
   10459              :                   }
   10460              :                 }
   10461              :               break;
   10462              :             }
   10463            0 :           case INTEGER_CST:
   10464            0 :             {
   10465            0 :               if (integer_zerop (_p1))
   10466              :                 {
   10467            0 :                   {
   10468            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10469            0 :                     const enum tree_code cmp = EQ_EXPR;
   10470            0 :                     const enum tree_code icmp = LE_EXPR;
   10471            0 :                     {
   10472            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10473            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10474              : )
   10475              :                           {
   10476            0 :                             {
   10477            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10478            0 :  ? optab_vector : optab_default;
   10479            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10480            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10481            0 :  || (optimize_vectors_before_lowering_p ()
   10482            0 :  && (!target_supports_op_p (type, cmp, optab)
   10483            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10484              : )
   10485              :                                   {
   10486            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10487              : )
   10488              :                                       {
   10489            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1530;
   10490            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1530;
   10491            0 :                                         {
   10492            0 :                                           tree res_op0;
   10493            0 :                                           res_op0 = captures[1];
   10494            0 :                                           tree res_op1;
   10495            0 :                                           res_op1 =  csts;
   10496            0 :                                           tree _r;
   10497            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10498            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10499            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10500            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 992, __FILE__, __LINE__, true);
   10501            0 :                                           return _r;
   10502              :                                         }
   10503            0 : next_after_fail1530:;
   10504              :                                       }
   10505              :                                     else
   10506              :                                       {
   10507            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1531;
   10508            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1531;
   10509            0 :                                         {
   10510            0 :                                           tree res_op0;
   10511            0 :                                           {
   10512            0 :                                             tree _o1[1], _r1;
   10513            0 :                                             _o1[0] = captures[1];
   10514            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10515              :                                               {
   10516            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10517              :                                               }
   10518              :                                             else
   10519              :                                               _r1 = _o1[0];
   10520            0 :                                             res_op0 = _r1;
   10521              :                                           }
   10522            0 :                                           tree res_op1;
   10523            0 :                                           res_op1 =  csts;
   10524            0 :                                           tree _r;
   10525            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10526            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10527            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10528            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
   10529            0 :                                           return _r;
   10530              :                                         }
   10531            0 : next_after_fail1531:;
   10532              :                                       }
   10533              :                                   }
   10534              :                             }
   10535              :                           }
   10536              :                     }
   10537              :                   }
   10538              :                 }
   10539              :               break;
   10540              :             }
   10541              :           default:;
   10542              :           }
   10543              :         break;
   10544              :       }
   10545        15866 :     case RSHIFT_EXPR:
   10546        15866 :       {
   10547        15866 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10548        15866 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10549        15866 :         switch (TREE_CODE (_q20))
   10550              :           {
   10551            1 :           case MULT_EXPR:
   10552            1 :             {
   10553            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10554            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10555            1 :               switch (TREE_CODE (_q30))
   10556              :                 {
   10557            1 :                 CASE_CONVERT:
   10558            1 :                   {
   10559            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10560            1 :                     switch (TREE_CODE (_q31))
   10561              :                       {
   10562            1 :                       CASE_CONVERT:
   10563            1 :                         {
   10564            1 :                           tree _q60 = TREE_OPERAND (_q31, 0);
   10565            1 :                           switch (TREE_CODE (_q21))
   10566              :                             {
   10567            1 :                             case INTEGER_CST:
   10568            1 :                               {
   10569            1 :                                 if (integer_zerop (_p1))
   10570              :                                   {
   10571            1 :                                     {
   10572            1 :                                       tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
   10573            1 :                                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, EQ_EXPR, LE_EXPR);
   10574            1 :                                       if (res) return res;
   10575              :                                     }
   10576              :                                   }
   10577              :                                 break;
   10578              :                               }
   10579              :                             default:;
   10580              :                             }
   10581              :                           break;
   10582              :                         }
   10583              :                       default:;
   10584              :                       }
   10585              :                     break;
   10586              :                   }
   10587              :                 default:;
   10588              :                 }
   10589              :               break;
   10590              :             }
   10591              :           default:;
   10592              :           }
   10593              :         break;
   10594              :       }
   10595       669582 :     case PLUS_EXPR:
   10596       669582 :       {
   10597       669582 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10598       669582 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10599       669582 :         switch (TREE_CODE (_q21))
   10600              :           {
   10601       622893 :           case INTEGER_CST:
   10602       622893 :             {
   10603       622893 :               switch (TREE_CODE (_p1))
   10604              :                 {
   10605       352166 :                 case INTEGER_CST:
   10606       352166 :                   {
   10607       352166 :                     {
   10608       352166 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10609       352166 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, EQ_EXPR);
   10610       352166 :                       if (res) return res;
   10611              :                     }
   10612           14 :                     break;
   10613              :                   }
   10614              :                 default:;
   10615              :                 }
   10616              :               break;
   10617              :             }
   10618              :           default:;
   10619              :           }
   10620              :         break;
   10621              :       }
   10622        96747 :     case MINUS_EXPR:
   10623        96747 :       {
   10624        96747 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10625        96747 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10626        96747 :         switch (TREE_CODE (_q21))
   10627              :           {
   10628           19 :           case INTEGER_CST:
   10629           19 :             {
   10630           19 :               switch (TREE_CODE (_p1))
   10631              :                 {
   10632           16 :                 case INTEGER_CST:
   10633           16 :                   {
   10634           16 :                     {
   10635           16 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10636           16 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, EQ_EXPR);
   10637           16 :                       if (res) return res;
   10638              :                     }
   10639           16 :                     break;
   10640              :                   }
   10641              :                 default:;
   10642              :                 }
   10643              :               break;
   10644              :             }
   10645        96747 :           default:;
   10646              :           }
   10647        96747 :         switch (TREE_CODE (_q20))
   10648              :           {
   10649        37439 :           case INTEGER_CST:
   10650        37439 :             {
   10651        37439 :               switch (TREE_CODE (_p1))
   10652              :                 {
   10653        36107 :                 case INTEGER_CST:
   10654        36107 :                   {
   10655        36107 :                     {
   10656        36107 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10657        36107 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   10658        36107 :                       if (res) return res;
   10659              :                     }
   10660            0 :                     break;
   10661              :                   }
   10662              :                 default:;
   10663              :                 }
   10664              :               break;
   10665              :             }
   10666              :           default:;
   10667              :           }
   10668              :         break;
   10669              :       }
   10670      2010540 :     case CALL_EXPR:
   10671      2010540 :       switch (get_call_combined_fn (_p0))
   10672              :         {
   10673           19 :         case CFN_BUILT_IN_CLZ:
   10674           19 :           if (call_expr_nargs (_p0) == 1)
   10675              :     {
   10676           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10677           19 :               switch (TREE_CODE (_p1))
   10678              :                 {
   10679           19 :                 case INTEGER_CST:
   10680           19 :                   {
   10681           19 :                     {
   10682           19 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10683           19 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZ);
   10684           19 :                       if (res) return res;
   10685              :                     }
   10686           16 :                     break;
   10687              :                   }
   10688              :                 default:;
   10689              :                 }
   10690              :             }
   10691              :           break;
   10692           17 :         case CFN_BUILT_IN_CTZ:
   10693           17 :           if (call_expr_nargs (_p0) == 1)
   10694              :     {
   10695           17 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10696           17 :               switch (TREE_CODE (_p1))
   10697              :                 {
   10698           17 :                 case INTEGER_CST:
   10699           17 :                   {
   10700           17 :                     {
   10701           17 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10702           17 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZ);
   10703           17 :                       if (res) return res;
   10704              :                     }
   10705           16 :                     break;
   10706              :                   }
   10707              :                 default:;
   10708              :                 }
   10709              :             }
   10710              :           break;
   10711            4 :         case CFN_BUILT_IN_FFS:
   10712            4 :           if (call_expr_nargs (_p0) == 1)
   10713              :     {
   10714            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10715            4 :               switch (TREE_CODE (_p1))
   10716              :                 {
   10717            4 :                 case INTEGER_CST:
   10718            4 :                   {
   10719            4 :                     {
   10720            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10721            4 :                       tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFS);
   10722            4 :                       if (res) return res;
   10723              :                     }
   10724            0 :                     break;
   10725              :                   }
   10726              :                 default:;
   10727              :                 }
   10728              :             }
   10729              :           break;
   10730            0 :         case CFN_REDUC_IOR:
   10731            0 :           if (call_expr_nargs (_p0) == 1)
   10732              :     {
   10733            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10734            0 :               if (integer_zerop (_p1))
   10735              :                 {
   10736            0 :                   {
   10737            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10738            0 :                     tree res = generic_simplify_303 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10739            0 :                     if (res) return res;
   10740              :                   }
   10741              :                 }
   10742              :             }
   10743              :           break;
   10744            0 :         case CFN_BUILT_IN_FFSIMAX:
   10745            0 :           if (call_expr_nargs (_p0) == 1)
   10746              :     {
   10747            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10748            0 :               switch (TREE_CODE (_p1))
   10749              :                 {
   10750            0 :                 case INTEGER_CST:
   10751            0 :                   {
   10752            0 :                     {
   10753            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10754            0 :                       tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSIMAX);
   10755            0 :                       if (res) return res;
   10756              :                     }
   10757            0 :                     break;
   10758              :                   }
   10759              :                 default:;
   10760              :                 }
   10761              :             }
   10762              :           break;
   10763           15 :         case CFN_BUILT_IN_POPCOUNT:
   10764           15 :           if (call_expr_nargs (_p0) == 1)
   10765              :     {
   10766           15 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10767           15 :               if (integer_zerop (_p1))
   10768              :                 {
   10769            1 :                   {
   10770            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10771            1 :                     tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNT);
   10772            1 :                     if (res) return res;
   10773              :                   }
   10774              :                 }
   10775              :             }
   10776              :           break;
   10777            0 :         case CFN_BUILT_IN_CLZL:
   10778            0 :           if (call_expr_nargs (_p0) == 1)
   10779              :     {
   10780            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10781            0 :               switch (TREE_CODE (_p1))
   10782              :                 {
   10783            0 :                 case INTEGER_CST:
   10784            0 :                   {
   10785            0 :                     {
   10786            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10787            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZL);
   10788            0 :                       if (res) return res;
   10789              :                     }
   10790            0 :                     break;
   10791              :                   }
   10792              :                 default:;
   10793              :                 }
   10794              :             }
   10795              :           break;
   10796           16 :         case CFN_BUILT_IN_CTZL:
   10797           16 :           if (call_expr_nargs (_p0) == 1)
   10798              :     {
   10799           16 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10800           16 :               switch (TREE_CODE (_p1))
   10801              :                 {
   10802           16 :                 case INTEGER_CST:
   10803           16 :                   {
   10804           16 :                     {
   10805           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10806           16 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZL);
   10807           16 :                       if (res) return res;
   10808              :                     }
   10809           16 :                     break;
   10810              :                   }
   10811              :                 default:;
   10812              :                 }
   10813              :             }
   10814              :           break;
   10815            1 :         case CFN_BUILT_IN_FFSL:
   10816            1 :           if (call_expr_nargs (_p0) == 1)
   10817              :     {
   10818            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10819            1 :               switch (TREE_CODE (_p1))
   10820              :                 {
   10821            1 :                 case INTEGER_CST:
   10822            1 :                   {
   10823            1 :                     {
   10824            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10825            1 :                       tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSL);
   10826            1 :                       if (res) return res;
   10827              :                     }
   10828            0 :                     break;
   10829              :                   }
   10830              :                 default:;
   10831              :                 }
   10832              :             }
   10833              :           break;
   10834            7 :         case CFN_BUILT_IN_POPCOUNTLL:
   10835            7 :           if (call_expr_nargs (_p0) == 1)
   10836              :     {
   10837            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10838            7 :               if (integer_zerop (_p1))
   10839              :                 {
   10840            1 :                   {
   10841            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10842            1 :                     tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   10843            1 :                     if (res) return res;
   10844              :                   }
   10845              :                 }
   10846              :             }
   10847              :           break;
   10848            0 :         case CFN_BUILT_IN_CTZIMAX:
   10849            0 :           if (call_expr_nargs (_p0) == 1)
   10850              :     {
   10851            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10852            0 :               switch (TREE_CODE (_p1))
   10853              :                 {
   10854            0 :                 case INTEGER_CST:
   10855            0 :                   {
   10856            0 :                     {
   10857            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10858            0 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
   10859            0 :                       if (res) return res;
   10860              :                     }
   10861            0 :                     break;
   10862              :                   }
   10863              :                 default:;
   10864              :                 }
   10865              :             }
   10866              :           break;
   10867            0 :         case CFN_POPCOUNT:
   10868            0 :           if (call_expr_nargs (_p0) == 1)
   10869              :     {
   10870            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10871            0 :               if (integer_zerop (_p1))
   10872              :                 {
   10873            0 :                   {
   10874            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10875            0 :                     tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_POPCOUNT);
   10876            0 :                     if (res) return res;
   10877              :                   }
   10878              :                 }
   10879              :             }
   10880              :           break;
   10881            0 :         case CFN_CLZ:
   10882            0 :           if (call_expr_nargs (_p0) == 1)
   10883              :     {
   10884            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10885            0 :               switch (TREE_CODE (_p1))
   10886              :                 {
   10887            0 :                 case INTEGER_CST:
   10888            0 :                   {
   10889            0 :                     {
   10890            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10891            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_CLZ);
   10892            0 :                       if (res) return res;
   10893              :                     }
   10894            0 :                     break;
   10895              :                   }
   10896              :                 default:;
   10897              :                 }
   10898              :             }
   10899            0 :           if (call_expr_nargs (_p0) == 2)
   10900              :     {
   10901            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10902            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10903            0 :               switch (TREE_CODE (_p1))
   10904              :                 {
   10905            0 :                 case INTEGER_CST:
   10906            0 :                   {
   10907            0 :                     {
   10908            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10909            0 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
   10910            0 :                       if (res) return res;
   10911              :                     }
   10912            0 :                     break;
   10913              :                   }
   10914              :                 default:;
   10915              :                 }
   10916              :             }
   10917              :           break;
   10918            0 :         case CFN_CTZ:
   10919            0 :           if (call_expr_nargs (_p0) == 1)
   10920              :     {
   10921            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10922            0 :               switch (TREE_CODE (_p1))
   10923              :                 {
   10924            0 :                 case INTEGER_CST:
   10925            0 :                   {
   10926            0 :                     {
   10927            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10928            0 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_CTZ);
   10929            0 :                       if (res) return res;
   10930              :                     }
   10931            0 :                     break;
   10932              :                   }
   10933              :                 default:;
   10934              :                 }
   10935              :             }
   10936            0 :           if (call_expr_nargs (_p0) == 2)
   10937              :     {
   10938            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10939            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10940            0 :               switch (TREE_CODE (_p1))
   10941              :                 {
   10942            0 :                 case INTEGER_CST:
   10943            0 :                   {
   10944            0 :                     {
   10945            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10946            0 :                       tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10947            0 :                       if (res) return res;
   10948              :                     }
   10949            0 :                     break;
   10950              :                   }
   10951              :                 default:;
   10952              :                 }
   10953              :             }
   10954              :           break;
   10955            0 :         case CFN_FFS:
   10956            0 :           if (call_expr_nargs (_p0) == 1)
   10957              :     {
   10958            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10959            0 :               switch (TREE_CODE (_p1))
   10960              :                 {
   10961            0 :                 case INTEGER_CST:
   10962            0 :                   {
   10963            0 :                     {
   10964            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10965            0 :                       tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_FFS);
   10966            0 :                       if (res) return res;
   10967              :                     }
   10968            0 :                     break;
   10969              :                   }
   10970              :                 default:;
   10971              :                 }
   10972              :             }
   10973              :           break;
   10974            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   10975            0 :           if (call_expr_nargs (_p0) == 1)
   10976              :     {
   10977            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10978            0 :               if (integer_zerop (_p1))
   10979              :                 {
   10980            0 :                   {
   10981            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10982            0 :                     tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   10983            0 :                     if (res) return res;
   10984              :                   }
   10985              :                 }
   10986              :             }
   10987              :           break;
   10988            0 :         case CFN_BUILT_IN_CLZIMAX:
   10989            0 :           if (call_expr_nargs (_p0) == 1)
   10990              :     {
   10991            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10992            0 :               switch (TREE_CODE (_p1))
   10993              :                 {
   10994            0 :                 case INTEGER_CST:
   10995            0 :                   {
   10996            0 :                     {
   10997            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10998            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZIMAX);
   10999            0 :                       if (res) return res;
   11000              :                     }
   11001            0 :                     break;
   11002              :                   }
   11003              :                 default:;
   11004              :                 }
   11005              :             }
   11006              :           break;
   11007            7 :         case CFN_BUILT_IN_POPCOUNTL:
   11008            7 :           if (call_expr_nargs (_p0) == 1)
   11009              :     {
   11010            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11011            7 :               if (integer_zerop (_p1))
   11012              :                 {
   11013            1 :                   {
   11014            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   11015            1 :                     tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTL);
   11016            1 :                     if (res) return res;
   11017              :                   }
   11018              :                 }
   11019              :             }
   11020              :           break;
   11021           16 :         case CFN_BUILT_IN_CLZLL:
   11022           16 :           if (call_expr_nargs (_p0) == 1)
   11023              :     {
   11024           16 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11025           16 :               switch (TREE_CODE (_p1))
   11026              :                 {
   11027           16 :                 case INTEGER_CST:
   11028           16 :                   {
   11029           16 :                     {
   11030           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11031           16 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZLL);
   11032           16 :                       if (res) return res;
   11033              :                     }
   11034           16 :                     break;
   11035              :                   }
   11036              :                 default:;
   11037              :                 }
   11038              :             }
   11039              :           break;
   11040            0 :         case CFN_BUILT_IN_CTZLL:
   11041            0 :           if (call_expr_nargs (_p0) == 1)
   11042              :     {
   11043            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11044            0 :               switch (TREE_CODE (_p1))
   11045              :                 {
   11046            0 :                 case INTEGER_CST:
   11047            0 :                   {
   11048            0 :                     {
   11049            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11050            0 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   11051            0 :                       if (res) return res;
   11052              :                     }
   11053            0 :                     break;
   11054              :                   }
   11055              :                 default:;
   11056              :                 }
   11057              :             }
   11058              :           break;
   11059            0 :         case CFN_BUILT_IN_FFSLL:
   11060            0 :           if (call_expr_nargs (_p0) == 1)
   11061              :     {
   11062            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11063            0 :               switch (TREE_CODE (_p1))
   11064              :                 {
   11065            0 :                 case INTEGER_CST:
   11066            0 :                   {
   11067            0 :                     {
   11068            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11069            0 :                       tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSLL);
   11070            0 :                       if (res) return res;
   11071              :                     }
   11072            0 :                     break;
   11073              :                   }
   11074              :                 default:;
   11075              :                 }
   11076              :             }
   11077              :           break;
   11078              :         default:;
   11079              :         }
   11080              :       break;
   11081              :     default:;
   11082              :     }
   11083              :   return NULL_TREE;
   11084              : }
   11085              : 
   11086              : tree
   11087       752935 : generic_simplify_UNLT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11088              : {
   11089       752935 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11090       752935 :   switch (TREE_CODE (_p0))
   11091              :     {
   11092            0 :     case VEC_COND_EXPR:
   11093            0 :       {
   11094            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11095            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11096            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11097            0 :         switch (TREE_CODE (_p1))
   11098              :           {
   11099            0 :           case VEC_COND_EXPR:
   11100            0 :             {
   11101            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11102            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11103            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11104            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11105              :                 {
   11106            0 :                   {
   11107            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11108            0 :                     if (VECTOR_TYPE_P (type)
   11109            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   11110            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11111            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11112              :  || (optimize_vectors_before_lowering_p ()
   11113            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11114              : )
   11115              :                       {
   11116            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1806;
   11117            0 :                         {
   11118            0 :                           tree res_op0;
   11119            0 :                           res_op0 = captures[1];
   11120            0 :                           tree res_op1;
   11121            0 :                           {
   11122            0 :                             tree _o1[2], _r1;
   11123            0 :                             _o1[0] = captures[2];
   11124            0 :                             _o1[1] = captures[5];
   11125            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11126            0 :                             if (EXPR_P (_r1))
   11127            0 :                               goto next_after_fail1806;
   11128            0 :                             res_op1 = _r1;
   11129              :                           }
   11130            0 :                           tree res_op2;
   11131            0 :                           {
   11132            0 :                             tree _o1[2], _r1;
   11133            0 :                             _o1[0] = captures[3];
   11134            0 :                             _o1[1] = captures[6];
   11135            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11136            0 :                             if (EXPR_P (_r1))
   11137            0 :                               goto next_after_fail1806;
   11138            0 :                             res_op2 = _r1;
   11139              :                           }
   11140            0 :                           tree _r;
   11141            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11142            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   11143            0 :                           return _r;
   11144              :                         }
   11145            0 : next_after_fail1806:;
   11146              :                       }
   11147              :                   }
   11148              :                 }
   11149              :               break;
   11150              :             }
   11151            0 :           default:;
   11152              :           }
   11153            0 :         {
   11154            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11155            0 :           if (VECTOR_TYPE_P (type)
   11156            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   11157            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11158            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11159              :  || (optimize_vectors_before_lowering_p ()
   11160            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11161              : )
   11162              :             {
   11163            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1807;
   11164            0 :               {
   11165            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1807;
   11166            0 :                 tree res_op0;
   11167            0 :                 res_op0 = captures[1];
   11168            0 :                 tree res_op1;
   11169            0 :                 {
   11170            0 :                   tree _o1[2], _r1;
   11171            0 :                   _o1[0] = captures[2];
   11172            0 :                   _o1[1] = unshare_expr (captures[4]);
   11173            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11174            0 :                   if (EXPR_P (_r1))
   11175            0 :                     goto next_after_fail1807;
   11176            0 :                   res_op1 = _r1;
   11177              :                 }
   11178            0 :                 tree res_op2;
   11179            0 :                 {
   11180            0 :                   tree _o1[2], _r1;
   11181            0 :                   _o1[0] = captures[3];
   11182            0 :                   _o1[1] = captures[4];
   11183            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11184            0 :                   if (EXPR_P (_r1))
   11185            0 :                     goto next_after_fail1807;
   11186            0 :                   res_op2 = _r1;
   11187              :                 }
   11188            0 :                 tree _r;
   11189            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11190            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
   11191            0 :                 return _r;
   11192              :               }
   11193            0 : next_after_fail1807:;
   11194              :             }
   11195              :         }
   11196            0 :         break;
   11197              :       }
   11198       752935 :     default:;
   11199              :     }
   11200       752935 :   switch (TREE_CODE (_p1))
   11201              :     {
   11202            0 :     case VEC_COND_EXPR:
   11203            0 :       {
   11204            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11205            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11206            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11207            0 :         {
   11208            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11209            0 :           if (VECTOR_TYPE_P (type)
   11210            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   11211            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11212            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11213              :  || (optimize_vectors_before_lowering_p ()
   11214            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11215              : )
   11216              :             {
   11217            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1808;
   11218            0 :               {
   11219            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1808;
   11220            0 :                 tree res_op0;
   11221            0 :                 res_op0 = captures[2];
   11222            0 :                 tree res_op1;
   11223            0 :                 {
   11224            0 :                   tree _o1[2], _r1;
   11225            0 :                   _o1[0] = unshare_expr (captures[0]);
   11226            0 :                   _o1[1] = captures[3];
   11227            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11228            0 :                   if (EXPR_P (_r1))
   11229            0 :                     goto next_after_fail1808;
   11230            0 :                   res_op1 = _r1;
   11231              :                 }
   11232            0 :                 tree res_op2;
   11233            0 :                 {
   11234            0 :                   tree _o1[2], _r1;
   11235            0 :                   _o1[0] = captures[0];
   11236            0 :                   _o1[1] = captures[4];
   11237            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11238            0 :                   if (EXPR_P (_r1))
   11239            0 :                     goto next_after_fail1808;
   11240            0 :                   res_op2 = _r1;
   11241              :                 }
   11242            0 :                 tree _r;
   11243            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11244            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
   11245            0 :                 return _r;
   11246              :               }
   11247            0 : next_after_fail1808:;
   11248              :             }
   11249              :         }
   11250            0 :         break;
   11251              :       }
   11252       752935 :     default:;
   11253              :     }
   11254       752935 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11255              :     {
   11256            0 :       {
   11257            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11258            0 :         tree res = generic_simplify_568 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   11259            0 :         if (res) return res;
   11260              :       }
   11261              :     }
   11262       752935 :   switch (TREE_CODE (_p0))
   11263              :     {
   11264          283 :     case FLOAT_EXPR:
   11265          283 :       {
   11266          283 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11267          283 :         switch (TREE_CODE (_p1))
   11268              :           {
   11269            0 :           case FLOAT_EXPR:
   11270            0 :             {
   11271            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11272            0 :               {
   11273            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11274            0 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, UNLT_EXPR, LT_EXPR);
   11275            0 :                 if (res) return res;
   11276              :               }
   11277            0 :               break;
   11278              :             }
   11279              :           default:;
   11280              :           }
   11281              :         break;
   11282              :       }
   11283            0 :     case NEGATE_EXPR:
   11284            0 :       {
   11285            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11286            0 :         switch (TREE_CODE (_p1))
   11287              :           {
   11288            0 :           case NEGATE_EXPR:
   11289            0 :             {
   11290            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11291            0 :               {
   11292            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11293            0 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   11294            0 :                 if (res) return res;
   11295              :               }
   11296            0 :               break;
   11297              :             }
   11298            0 :           default:;
   11299              :           }
   11300            0 :       if (CONSTANT_CLASS_P (_p1))
   11301              :         {
   11302            0 :           {
   11303            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11304            0 :             tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   11305            0 :             if (res) return res;
   11306              :           }
   11307              :         }
   11308              :         break;
   11309              :       }
   11310       752935 :     default:;
   11311              :     }
   11312       752935 :   switch (TREE_CODE (_p1))
   11313              :     {
   11314       377895 :     case REAL_CST:
   11315       377895 :       {
   11316       377895 :         {
   11317       377895 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11318       377895 :           tree res = generic_simplify_567 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   11319       377895 :           if (res) return res;
   11320              :         }
   11321       377893 :         break;
   11322              :       }
   11323              :     default:;
   11324              :     }
   11325              :   return NULL_TREE;
   11326              : }
   11327              : 
   11328              : tree
   11329      1553571 : generic_simplify_UNGT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11330              : {
   11331      1553571 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11332      1553571 :   switch (TREE_CODE (_p0))
   11333              :     {
   11334            0 :     case VEC_COND_EXPR:
   11335            0 :       {
   11336            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11337            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11338            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11339            0 :         switch (TREE_CODE (_p1))
   11340              :           {
   11341            0 :           case VEC_COND_EXPR:
   11342            0 :             {
   11343            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11344            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11345            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11346            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11347              :                 {
   11348            0 :                   {
   11349            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11350            0 :                     if (VECTOR_TYPE_P (type)
   11351            0 :  && (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
   11352            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11353            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11354              :  || (optimize_vectors_before_lowering_p ()
   11355            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11356              : )
   11357              :                       {
   11358            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1812;
   11359            0 :                         {
   11360            0 :                           tree res_op0;
   11361            0 :                           res_op0 = captures[1];
   11362            0 :                           tree res_op1;
   11363            0 :                           {
   11364            0 :                             tree _o1[2], _r1;
   11365            0 :                             _o1[0] = captures[2];
   11366            0 :                             _o1[1] = captures[5];
   11367            0 :                             _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11368            0 :                             if (EXPR_P (_r1))
   11369            0 :                               goto next_after_fail1812;
   11370            0 :                             res_op1 = _r1;
   11371              :                           }
   11372            0 :                           tree res_op2;
   11373            0 :                           {
   11374            0 :                             tree _o1[2], _r1;
   11375            0 :                             _o1[0] = captures[3];
   11376            0 :                             _o1[1] = captures[6];
   11377            0 :                             _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11378            0 :                             if (EXPR_P (_r1))
   11379            0 :                               goto next_after_fail1812;
   11380            0 :                             res_op2 = _r1;
   11381              :                           }
   11382            0 :                           tree _r;
   11383            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11384            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   11385            0 :                           return _r;
   11386              :                         }
   11387            0 : next_after_fail1812:;
   11388              :                       }
   11389              :                   }
   11390              :                 }
   11391              :               break;
   11392              :             }
   11393            0 :           default:;
   11394              :           }
   11395            0 :         {
   11396            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11397            0 :           if (VECTOR_TYPE_P (type)
   11398            0 :  && (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
   11399            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11400            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11401              :  || (optimize_vectors_before_lowering_p ()
   11402            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11403              : )
   11404              :             {
   11405            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1813;
   11406            0 :               {
   11407            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1813;
   11408            0 :                 tree res_op0;
   11409            0 :                 res_op0 = captures[1];
   11410            0 :                 tree res_op1;
   11411            0 :                 {
   11412            0 :                   tree _o1[2], _r1;
   11413            0 :                   _o1[0] = captures[2];
   11414            0 :                   _o1[1] = unshare_expr (captures[4]);
   11415            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11416            0 :                   if (EXPR_P (_r1))
   11417            0 :                     goto next_after_fail1813;
   11418            0 :                   res_op1 = _r1;
   11419              :                 }
   11420            0 :                 tree res_op2;
   11421            0 :                 {
   11422            0 :                   tree _o1[2], _r1;
   11423            0 :                   _o1[0] = captures[3];
   11424            0 :                   _o1[1] = captures[4];
   11425            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11426            0 :                   if (EXPR_P (_r1))
   11427            0 :                     goto next_after_fail1813;
   11428            0 :                   res_op2 = _r1;
   11429              :                 }
   11430            0 :                 tree _r;
   11431            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11432            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
   11433            0 :                 return _r;
   11434              :               }
   11435            0 : next_after_fail1813:;
   11436              :             }
   11437              :         }
   11438            0 :         break;
   11439              :       }
   11440      1553571 :     default:;
   11441              :     }
   11442      1553571 :   switch (TREE_CODE (_p1))
   11443              :     {
   11444            0 :     case VEC_COND_EXPR:
   11445            0 :       {
   11446            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11447            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11448            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11449            0 :         {
   11450            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11451            0 :           if (VECTOR_TYPE_P (type)
   11452            0 :  && (TREE_CODE_CLASS (UNGT_EXPR) != tcc_comparison
   11453            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11454            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11455              :  || (optimize_vectors_before_lowering_p ()
   11456            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11457              : )
   11458              :             {
   11459            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1814;
   11460            0 :               {
   11461            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1814;
   11462            0 :                 tree res_op0;
   11463            0 :                 res_op0 = captures[2];
   11464            0 :                 tree res_op1;
   11465            0 :                 {
   11466            0 :                   tree _o1[2], _r1;
   11467            0 :                   _o1[0] = unshare_expr (captures[0]);
   11468            0 :                   _o1[1] = captures[3];
   11469            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11470            0 :                   if (EXPR_P (_r1))
   11471            0 :                     goto next_after_fail1814;
   11472            0 :                   res_op1 = _r1;
   11473              :                 }
   11474            0 :                 tree res_op2;
   11475            0 :                 {
   11476            0 :                   tree _o1[2], _r1;
   11477            0 :                   _o1[0] = captures[0];
   11478            0 :                   _o1[1] = captures[4];
   11479            0 :                   _r1 = fold_build2_loc (loc, UNGT_EXPR, type, _o1[0], _o1[1]);
   11480            0 :                   if (EXPR_P (_r1))
   11481            0 :                     goto next_after_fail1814;
   11482            0 :                   res_op2 = _r1;
   11483              :                 }
   11484            0 :                 tree _r;
   11485            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11486            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
   11487            0 :                 return _r;
   11488              :               }
   11489            0 : next_after_fail1814:;
   11490              :             }
   11491              :         }
   11492            0 :         break;
   11493              :       }
   11494      1553571 :     default:;
   11495              :     }
   11496      1553571 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11497              :     {
   11498            0 :       {
   11499            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11500            0 :         tree res = generic_simplify_568 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   11501            0 :         if (res) return res;
   11502              :       }
   11503              :     }
   11504      1553571 :   switch (TREE_CODE (_p0))
   11505              :     {
   11506          339 :     case FLOAT_EXPR:
   11507          339 :       {
   11508          339 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11509          339 :         switch (TREE_CODE (_p1))
   11510              :           {
   11511            0 :           case FLOAT_EXPR:
   11512            0 :             {
   11513            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11514            0 :               {
   11515            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11516            0 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, UNGT_EXPR, GT_EXPR);
   11517            0 :                 if (res) return res;
   11518              :               }
   11519            0 :               break;
   11520              :             }
   11521              :           default:;
   11522              :           }
   11523              :         break;
   11524              :       }
   11525            0 :     case NEGATE_EXPR:
   11526            0 :       {
   11527            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11528            0 :         switch (TREE_CODE (_p1))
   11529              :           {
   11530            0 :           case NEGATE_EXPR:
   11531            0 :             {
   11532            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11533            0 :               {
   11534            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11535            0 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, UNGT_EXPR, UNLT_EXPR);
   11536            0 :                 if (res) return res;
   11537              :               }
   11538            0 :               break;
   11539              :             }
   11540            0 :           default:;
   11541              :           }
   11542            0 :       if (CONSTANT_CLASS_P (_p1))
   11543              :         {
   11544            0 :           {
   11545            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11546            0 :             tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, UNGT_EXPR, UNLT_EXPR);
   11547            0 :             if (res) return res;
   11548              :           }
   11549              :         }
   11550              :         break;
   11551              :       }
   11552      1553571 :     default:;
   11553              :     }
   11554      1553571 :   switch (TREE_CODE (_p1))
   11555              :     {
   11556      1178583 :     case REAL_CST:
   11557      1178583 :       {
   11558      1178583 :         {
   11559      1178583 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11560      1178583 :           tree res = generic_simplify_567 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   11561      1178583 :           if (res) return res;
   11562              :         }
   11563      1178581 :         break;
   11564              :       }
   11565              :     default:;
   11566              :     }
   11567              :   return NULL_TREE;
   11568              : }
   11569              : 
   11570              : tree
   11571    652873677 : generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0, tree _p1)
   11572              : {
   11573    652873677 :   switch (code)
   11574              :     {
   11575      1045388 :     case BIT_XOR_EXPR:
   11576      1045388 :       return generic_simplify_BIT_XOR_EXPR (loc, code, type, _p0, _p1);
   11577     98875193 :     case PLUS_EXPR:
   11578     98875193 :       return generic_simplify_PLUS_EXPR (loc, code, type, _p0, _p1);
   11579     80635510 :     case POINTER_PLUS_EXPR:
   11580     80635510 :       return generic_simplify_POINTER_PLUS_EXPR (loc, code, type, _p0, _p1);
   11581     33446228 :     case MINUS_EXPR:
   11582     33446228 :       return generic_simplify_MINUS_EXPR (loc, code, type, _p0, _p1);
   11583      1905395 :     case BIT_IOR_EXPR:
   11584      1905395 :       return generic_simplify_BIT_IOR_EXPR (loc, code, type, _p0, _p1);
   11585      3250193 :     case POINTER_DIFF_EXPR:
   11586      3250193 :       return generic_simplify_POINTER_DIFF_EXPR (loc, code, type, _p0, _p1);
   11587     72655966 :     case MULT_EXPR:
   11588     72655966 :       return generic_simplify_MULT_EXPR (loc, code, type, _p0, _p1);
   11589     27913355 :     case EQ_EXPR:
   11590     27913355 :       return generic_simplify_EQ_EXPR (loc, code, type, _p0, _p1);
   11591     38926730 :     case NE_EXPR:
   11592     38926730 :       return generic_simplify_NE_EXPR (loc, code, type, _p0, _p1);
   11593      2167174 :     case TRUNC_DIV_EXPR:
   11594      2167174 :       return generic_simplify_TRUNC_DIV_EXPR (loc, code, type, _p0, _p1);
   11595         7190 :     case CEIL_DIV_EXPR:
   11596         7190 :       return generic_simplify_CEIL_DIV_EXPR (loc, code, type, _p0, _p1);
   11597      2014712 :     case FLOOR_DIV_EXPR:
   11598      2014712 :       return generic_simplify_FLOOR_DIV_EXPR (loc, code, type, _p0, _p1);
   11599            0 :     case ROUND_DIV_EXPR:
   11600            0 :       return generic_simplify_ROUND_DIV_EXPR (loc, code, type, _p0, _p1);
   11601      3578008 :     case EXACT_DIV_EXPR:
   11602      3578008 :       return generic_simplify_EXACT_DIV_EXPR (loc, code, type, _p0, _p1);
   11603       878458 :     case FLOOR_MOD_EXPR:
   11604       878458 :       return generic_simplify_FLOOR_MOD_EXPR (loc, code, type, _p0, _p1);
   11605      6432017 :     case RDIV_EXPR:
   11606      6432017 :       return generic_simplify_RDIV_EXPR (loc, code, type, _p0, _p1);
   11607     17800414 :     case LT_EXPR:
   11608     17800414 :       return generic_simplify_LT_EXPR (loc, code, type, _p0, _p1);
   11609      9388971 :     case LE_EXPR:
   11610      9388971 :       return generic_simplify_LE_EXPR (loc, code, type, _p0, _p1);
   11611     20995652 :     case GT_EXPR:
   11612     20995652 :       return generic_simplify_GT_EXPR (loc, code, type, _p0, _p1);
   11613      6815838 :     case GE_EXPR:
   11614      6815838 :       return generic_simplify_GE_EXPR (loc, code, type, _p0, _p1);
   11615         4284 :     case CEIL_MOD_EXPR:
   11616         4284 :       return generic_simplify_CEIL_MOD_EXPR (loc, code, type, _p0, _p1);
   11617            0 :     case ROUND_MOD_EXPR:
   11618            0 :       return generic_simplify_ROUND_MOD_EXPR (loc, code, type, _p0, _p1);
   11619      2123192 :     case TRUNC_MOD_EXPR:
   11620      2123192 :       return generic_simplify_TRUNC_MOD_EXPR (loc, code, type, _p0, _p1);
   11621      1280811 :     case LSHIFT_EXPR:
   11622      1280811 :       return generic_simplify_LSHIFT_EXPR (loc, code, type, _p0, _p1);
   11623      1028800 :     case RSHIFT_EXPR:
   11624      1028800 :       return generic_simplify_RSHIFT_EXPR (loc, code, type, _p0, _p1);
   11625      7096124 :     case BIT_AND_EXPR:
   11626      7096124 :       return generic_simplify_BIT_AND_EXPR (loc, code, type, _p0, _p1);
   11627     10809702 :     case TRUTH_AND_EXPR:
   11628     10809702 :       return generic_simplify_TRUTH_AND_EXPR (loc, code, type, _p0, _p1);
   11629      9475877 :     case TRUTH_OR_EXPR:
   11630      9475877 :       return generic_simplify_TRUTH_OR_EXPR (loc, code, type, _p0, _p1);
   11631        82452 :     case MIN_EXPR:
   11632        82452 :       return generic_simplify_MIN_EXPR (loc, code, type, _p0, _p1);
   11633       388906 :     case MAX_EXPR:
   11634       388906 :       return generic_simplify_MAX_EXPR (loc, code, type, _p0, _p1);
   11635         1944 :     case LROTATE_EXPR:
   11636         1944 :       return generic_simplify_LROTATE_EXPR (loc, code, type, _p0, _p1);
   11637         2797 :     case RROTATE_EXPR:
   11638         2797 :       return generic_simplify_RROTATE_EXPR (loc, code, type, _p0, _p1);
   11639       663576 :     case COMPLEX_EXPR:
   11640       663576 :       return generic_simplify_COMPLEX_EXPR (loc, code, type, _p0, _p1);
   11641       789605 :     case UNORDERED_EXPR:
   11642       789605 :       return generic_simplify_UNORDERED_EXPR (loc, code, type, _p0, _p1);
   11643       203823 :     case ORDERED_EXPR:
   11644       203823 :       return generic_simplify_ORDERED_EXPR (loc, code, type, _p0, _p1);
   11645       752935 :     case UNLT_EXPR:
   11646       752935 :       return generic_simplify_UNLT_EXPR (loc, code, type, _p0, _p1);
   11647      1176401 :     case UNLE_EXPR:
   11648      1176401 :       return generic_simplify_UNLE_EXPR (loc, code, type, _p0, _p1);
   11649      1553571 :     case UNGT_EXPR:
   11650      1553571 :       return generic_simplify_UNGT_EXPR (loc, code, type, _p0, _p1);
   11651       432746 :     case UNGE_EXPR:
   11652       432746 :       return generic_simplify_UNGE_EXPR (loc, code, type, _p0, _p1);
   11653       374872 :     case UNEQ_EXPR:
   11654       374872 :       return generic_simplify_UNEQ_EXPR (loc, code, type, _p0, _p1);
   11655           79 :     case LTGT_EXPR:
   11656           79 :       return generic_simplify_LTGT_EXPR (loc, code, type, _p0, _p1);
   11657      3444296 :     case TRUTH_ORIF_EXPR:
   11658      3444296 :       return generic_simplify_TRUTH_ORIF_EXPR (loc, code, type, _p0, _p1);
   11659              :     default:;
   11660              :     }
   11661              :   return NULL_TREE;
   11662              : }
   11663              : 
   11664              : tree
   11665     45373164 : generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0, tree _p1, tree _p2)
   11666              : {
   11667     45373164 :   switch (code)
   11668              :     {
   11669     13061620 :     case COND_EXPR:
   11670     13061620 :       return generic_simplify_COND_EXPR (loc, code, type, _p0, _p1, _p2);
   11671       464503 :     case VEC_COND_EXPR:
   11672       464503 :       return generic_simplify_VEC_COND_EXPR (loc, code, type, _p0, _p1, _p2);
   11673       920902 :     case BIT_FIELD_REF:
   11674       920902 :       return generic_simplify_BIT_FIELD_REF (loc, code, type, _p0, _p1, _p2);
   11675        15158 :     case BIT_INSERT_EXPR:
   11676        15158 :       return generic_simplify_BIT_INSERT_EXPR (loc, code, type, _p0, _p1, _p2);
   11677       833421 :     case VEC_PERM_EXPR:
   11678       833421 :       return generic_simplify_VEC_PERM_EXPR (loc, code, type, _p0, _p1, _p2);
   11679              :     default:;
   11680              :     }
   11681              :   return NULL_TREE;
   11682              : }
   11683              : 
   11684              : tree
   11685            0 : generic_simplify (location_t, enum tree_code,
   11686              :                   const tree, tree, tree, tree, tree)
   11687              : {
   11688            0 :   return NULL_TREE;
   11689              : }
   11690              : 
   11691              : tree
   11692            0 : generic_simplify (location_t, enum tree_code,
   11693              :                   const tree, tree, tree, tree, tree, tree)
   11694              : {
   11695            0 :   return NULL_TREE;
   11696              : }
   11697              : 
   11698              : tree
   11699            0 : generic_simplify (location_t, enum tree_code,
   11700              :                   const tree, tree, tree, tree, tree, tree, tree)
   11701              : {
   11702            0 :   return NULL_TREE;
   11703              : }
   11704              : 
   11705              : tree
   11706            0 : generic_simplify (location_t, enum tree_code,
   11707              :                   const tree, tree, tree, tree, tree, tree, tree, tree)
   11708              : {
   11709            0 :   return NULL_TREE;
   11710              : }
   11711              : void
   11712        18366 : generic_dump_logs (const char *file1, int line1_id, const char *file2, int line2, bool simplify)
   11713              : {
   11714        18366 :   static int dbg_line_numbers[1120] = {
   11715              :         /* 0 */ 159, 162, 171, 173, 176, 179, 181, 187, 195, 193, 
   11716              :         /* 10 */ 197, 199, 986, 988, 2212, 2218, 2220, 2223, 2228, 2231, 
   11717              :         /* 20 */ 2479, 2483, 2485, 2487, 2489, 2491, 2493, 2495, 2522, 2538, 
   11718              :         /* 30 */ 2546, 2528, 3151, 3153, 3155, 3162, 3159, 3169, 3171, 3178, 
   11719              :         /* 40 */ 3175, 3386, 3396, 5911, 9411, 9432, 11878, 11881, 11886, 2179, 
   11720              :         /* 50 */ 9231, 1368, 1372, 1532, 1547, 1552, 1599, 1600, 1604, 1605, 
   11721              :         /* 60 */ 1647, 1672, 1677, 1787, 1920, 2010, 1930, 2074, 1940, 1945, 
   11722              :         /* 70 */ 2068, 1953, 2120, 2062, 2081, 2087, 2759, 2094, 2108, 2154, 
   11723              :         /* 80 */ 2371, 2437, 2460, 2471, 2474, 2506, 2617, 2649, 4477, 4490, 
   11724              :         /* 90 */ 4500, 3228, 3230, 4854, 4514, 4526, 7319, 7321, 7386, 7394, 
   11725              :         /* 100 */ 10789, 10795, 280, 307, 308, 519, 1362, 1903, 1958, 2021, 
   11726              :         /* 110 */ 3940, 3878, 3983, 3984, 3988, 3989, 3999, 4003, 4007, 4022, 
   11727              :         /* 120 */ 4025, 4029, 3955, 3958, 3963, 4141, 4147, 4153, 4333, 4334, 
   11728              :         /* 130 */ 4363, 4384, 4403, 4842, 5810, 7250, 7335, 7337, 8859, 8934, 
   11729              :         /* 140 */ 10621, 10668, 10682, 11905, 12342, 970, 976, 1512, 1521, 2039, 
   11730              :         /* 150 */ 2030, 1977, 2785, 3891, 3931, 3936, 3937, 3945, 3946, 3949, 
   11731              :         /* 160 */ 3966, 4041, 4044, 4048, 4161, 4183, 4221, 4232, 4271, 4286, 
   11732              :         /* 170 */ 4848, 7260, 8939, 10678, 11909, 1498, 1507, 1537, 1542, 1584, 
   11733              :         /* 180 */ 1569, 1576, 1626, 2116, 1631, 1638, 1667, 1811, 1910, 1915, 
   11734              :         /* 190 */ 1925, 1935, 2049, 2136, 2146, 2148, 2407, 2412, 2417, 2423, 
   11735              :         /* 200 */ 2424, 2446, 2600, 2629, 2631, 2636, 2638, 2778, 3442, 3457, 
   11736              :         /* 210 */ 3475, 3675, 3676, 3677, 3685, 3693, 3702, 3711, 3809, 3811, 
   11737              :         /* 220 */ 3743, 3744, 3749, 3750, 3755, 3760, 3764, 3843, 3856, 3447, 
   11738              :         /* 230 */ 3466, 3468, 3452, 7955, 9830, 12503, 12518, 487, 493, 525, 
   11739              :         /* 240 */ 1307, 1327, 1332, 2204, 2205, 2242, 2794, 2575, 5495, 5796, 
   11740              :         /* 250 */ 5803, 5853, 5856, 5906, 8852, 9266, 9096, 9103, 9260, 9305, 
   11741              :         /* 260 */ 9310, 355, 932, 1380, 3071, 2867, 2873, 2876, 2881, 2511, 
   11742              :         /* 270 */ 2773, 2564, 2711, 2955, 2818, 2828, 2897, 2899, 2900, 2903, 
   11743              :         /* 280 */ 2905, 2906, 2908, 2910, 2912, 2914, 2916, 2918, 2932, 2933, 
   11744              :         /* 290 */ 2989, 3077, 3102, 3018, 3045, 3085, 3090, 3114, 3121, 3187, 
   11745              :         /* 300 */ 3791, 4785, 4793, 4796, 4802, 4805, 4831, 5287, 5288, 5322, 
   11746              :         /* 310 */ 5326, 5455, 5295, 5296, 5340, 5343, 5344, 5349, 5352, 5355, 
   11747              :         /* 320 */ 5356, 5308, 5311, 5528, 5532, 5537, 5821, 5973, 5977, 7346, 
   11748              :         /* 330 */ 7362, 7364, 7376, 7406, 7412, 7413, 7428, 7429, 7433, 7451, 
   11749              :         /* 340 */ 7456, 7488, 7496, 7506, 7515, 7519, 7525, 7532, 7548, 7552, 
   11750              :         /* 350 */ 7556, 7563, 7564, 7569, 7570, 7577, 7578, 7580, 7581, 7597, 
   11751              :         /* 360 */ 7608, 7620, 7624, 7626, 7631, 7634, 7637, 7645, 7707, 7708, 
   11752              :         /* 370 */ 7712, 7713, 7720, 7724, 7728, 7731, 7737, 7738, 7742, 7745, 
   11753              :         /* 380 */ 7752, 7782, 7785, 7788, 7791, 7860, 7863, 7870, 7876, 7882, 
   11754              :         /* 390 */ 7890, 7899, 7900, 7998, 8008, 8047, 8053, 8069, 8082, 8084, 
   11755              :         /* 400 */ 8086, 8097, 8125, 8167, 8146, 8147, 8154, 8156, 8172, 8178, 
   11756              :         /* 410 */ 8183, 8192, 8198, 8204, 8209, 8214, 8246, 8309, 8228, 8238, 
   11757              :         /* 420 */ 8338, 8357, 8359, 8361, 8363, 8365, 8367, 8371, 8373, 8396, 
   11758              :         /* 430 */ 8419, 8530, 8537, 8538, 8546, 8547, 8748, 9874, 9876, 9954, 
   11759              :         /* 440 */ 9956, 9957, 9963, 9979, 9981, 9983, 10001, 10002, 10406, 10409, 
   11760              :         /* 450 */ 10423, 10432, 10496, 10497, 10551, 10553, 10629, 11220, 11222, 11224, 
   11761              :         /* 460 */ 11658, 7342, 7353, 7355, 7463, 499, 1280, 1301, 9216, 9221, 
   11762              :         /* 470 */ 9226, 559, 560, 571, 576, 583, 592, 600, 609, 655, 
   11763              :         /* 480 */ 658, 867, 1021, 1049, 1080, 620, 897, 901, 906, 912, 
   11764              :         /* 490 */ 916, 924, 1013, 771, 781, 783, 785, 8846, 9271, 9293, 
   11765              :         /* 500 */ 9276, 9281, 9286, 9300, 9334, 9339, 842, 6625, 6627, 6629, 
   11766              :         /* 510 */ 6729, 6732, 6915, 6917, 6931, 6935, 6958, 6964, 6975, 7037, 
   11767              :         /* 520 */ 7052, 4878, 4898, 4905, 4911, 4917, 4923, 7043, 4891, 4934, 
   11768              :         /* 530 */ 4947, 6536, 6839, 6843, 6851, 7189, 9847, 9848, 7199, 10849, 
   11769              :         /* 540 */ 10857, 12546, 8262, 8263, 8277, 8278, 854, 857, 1762, 2841, 
   11770              :         /* 550 */ 2844, 2963, 2975, 3060, 3004, 3031, 3142, 3145, 4655, 4666, 
   11771              :         /* 560 */ 4815, 4823, 5118, 7284, 8674, 7912, 7915, 7941, 7942, 8444, 
   11772              :         /* 570 */ 8446, 8448, 8450, 8454, 8456, 8458, 8460, 8464, 8469, 8476, 
   11773              :         /* 580 */ 8481, 8501, 8503, 8505, 8507, 8687, 8700, 8710, 8718, 8728, 
   11774              :         /* 590 */ 8873, 8875, 9888, 9897, 9937, 10474, 10476, 10477, 10532, 10535, 
   11775              :         /* 600 */ 10537, 2857, 7274, 7985, 8772, 8947, 8952, 11241, 11243, 11245, 
   11776              :         /* 610 */ 11247, 11251, 959, 995, 1352, 4982, 5069, 5072, 5080, 5233, 
   11777              :         /* 620 */ 5235, 5236, 5237, 5467, 5033, 5042, 6028, 6031, 6032, 6040, 
   11778              :         /* 630 */ 2382, 2392, 2399, 3822, 3827, 4620, 4727, 9713, 9715, 9746, 
   11779              :         /* 640 */ 9781, 12286, 1244, 9164, 9185, 1253, 8908, 8914, 9211, 9660, 
   11780              :         /* 650 */ 1267, 1271, 9206, 9389, 1480, 1564, 1612, 1557, 1589, 1620, 
   11781              :         /* 660 */ 1662, 1703, 1714, 1725, 1737, 2661, 1992, 2000, 2005, 2128, 
   11782              :         /* 670 */ 2501, 2800, 3382, 3412, 3414, 3424, 3426, 3533, 3534, 3535, 
   11783              :         /* 680 */ 3543, 3551, 3560, 3569, 3603, 3604, 3609, 3610, 3615, 3620, 
   11784              :         /* 690 */ 3624, 3432, 3437, 3482, 4859, 5426, 5444, 5445, 5999, 6005, 
   11785              :         /* 700 */ 6053, 7478, 7958, 9816, 9818, 10663, 1652, 1657, 2738, 1842, 
   11786              :         /* 710 */ 2743, 5506, 2718, 2749, 2753, 5520, 4770, 7311, 7313, 2249, 
   11787              :         /* 720 */ 2263, 2723, 3916, 2288, 2311, 2312, 10277, 2808, 4533, 4537, 
   11788              :         /* 730 */ 4547, 4565, 4596, 4605, 4679, 4682, 4691, 4692, 4710, 4712, 
   11789              :         /* 740 */ 4714, 4716, 4765, 9838, 4551, 4558, 4543, 4737, 4746, 4749, 
   11790              :         /* 750 */ 11450, 11456, 11464, 11470, 11479, 11485, 11493, 11499, 11545, 11553, 
   11791              :         /* 760 */ 4969, 5205, 5215, 8801, 8804, 8823, 5949, 5961, 5964, 5968, 
   11792              :         /* 770 */ 8562, 7471, 7467, 8782, 8789, 8924, 8929, 9030, 9127, 9144, 
   11793              :         /* 780 */ 9176, 9196, 9201, 9452, 9429, 9408, 9237, 9241, 9553, 9563, 
   11794              :         /* 790 */ 9570, 9579, 9597, 9604, 9585, 9853, 9859, 10267, 10273, 10270, 
   11795              :         /* 800 */ 10290, 10295, 10301, 10309, 10315, 10323, 10329, 10339, 10345, 10353, 
   11796              :         /* 810 */ 10359, 10367, 10373, 10381, 10387, 10441, 10643, 10658, 10694, 10948, 
   11797              :         /* 820 */ 10951, 10756, 10770, 10783, 11627, 11642, 11733, 11734, 12395, 219, 
   11798              :         /* 830 */ 2160, 2170, 6085, 2188, 1187, 2672, 3363, 5548, 5550, 5560, 
   11799              :         /* 840 */ 5677, 5688, 5701, 5724, 5734, 5743, 5755, 5781, 6095, 6542, 
   11800              :         /* 850 */ 1839, 1853, 1860, 1891, 1898, 2516, 2766, 2165, 2183, 2192, 
   11801              :         /* 860 */ 2258, 2294, 2300, 3903, 7237, 3911, 10349, 10305, 10363, 10377, 
   11802              :         /* 870 */ 10391, 10319, 10333, 5565, 5575, 5584, 5611, 5621, 5627, 6106, 
   11803              :         /* 880 */ 5636, 5633, 5919, 5927, 5935, 5939, 5922, 5930, 5943, 5955, 
   11804              :         /* 890 */ 237, 263, 1795, 1800, 2731, 2585, 3779, 4645, 6124, 6133, 
   11805              :         /* 900 */ 6144, 6153, 12301, 753, 5868, 5874, 5876, 3235, 3239, 268, 
   11806              :         /* 910 */ 3256, 3260, 3291, 3299, 3272, 3286, 286, 323, 1516, 1848, 
   11807              :         /* 920 */ 1965, 1972, 1982, 1987, 2269, 3307, 3319, 3313, 3325, 2280, 
   11808              :         /* 930 */ 2984, 3012, 3039, 3023, 3050, 4195, 4167, 4242, 4251, 4294, 
   11809              :         /* 940 */ 4305, 5059, 5881, 5892, 12267, 12268, 1754, 1767, 1772, 7948, 
   11810              :         /* 950 */ 11604, 11608, 273, 326, 2993, 2996, 3332, 3339, 3346, 3352, 
   11811              :         /* 960 */ 4204, 3357, 4260, 4314, 5884, 399, 330, 367, 376, 384, 
   11812              :         /* 970 */ 458, 473, 481, 672, 712, 1030, 1225, 1230, 1335, 1338, 
   11813              :         /* 980 */ 1472, 2570, 5897, 8881, 8887, 9078, 9328, 2692, 6332, 6342, 
   11814              :         /* 990 */ 8015, 8594, 8654, 8655, 2682, 8588, 635, 638, 762, 791, 
   11815              :         /* 1000 */ 797, 803, 811, 816, 821, 885, 889, 8893, 8899, 8512, 
   11816              :         /* 1010 */ 943, 1427, 4998, 1416, 1419, 1451, 1462, 4975, 5064, 5266, 
   11817              :         /* 1020 */ 1486, 1684, 1777, 1805, 2451, 5272, 5273, 7952, 12274, 4572, 
   11818              :         /* 1030 */ 4576, 4637, 4638, 4758, 4583, 4587, 4628, 4629, 5186, 5916, 
   11819              :         /* 1040 */ 8570, 8572, 8579, 8581, 7475, 7059, 4865, 6164, 4962, 6173, 
   11820              :         /* 1050 */ 6858, 6863, 7010, 7012, 7018, 7027, 7028, 6071, 6073, 7065, 
   11821              :         /* 1060 */ 7068, 7077, 7081, 7086, 7115, 7120, 7186, 7128, 7133, 7196, 
   11822              :         /* 1070 */ 8292, 8294, 7152, 7153, 7154, 7209, 7176, 7177, 7178, 7224, 
   11823              :         /* 1080 */ 7225, 8323, 8328, 7094, 6077, 6079, 6353, 6355, 10009, 10015, 
   11824              :         /* 1090 */ 10020, 10029, 10031, 10051, 10096, 10099, 10100, 10132, 10138, 10140, 
   11825              :         /* 1100 */ 10141, 10197, 10198, 10219, 10224, 10229, 10259, 12458, 11758, 11760, 
   11826              :         /* 1110 */ 11795, 11870, 11873, 11954, 11893, 11899, 12020, 12022, 12081, 12083
   11827              :   };
   11828              : 
   11829        27432 :   fprintf (dump_file, "%s %s:%d, %s:%d\n",
   11830              :           simplify ? "Applying pattern" : "Matching expression", file1, dbg_line_numbers[line1_id], file2, line2);
   11831        18366 : }
   11832              : 
   11833              : #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.