LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-7.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 48.6 % 11560 5622
Test Date: 2026-02-28 14:20:25 Functions: 63.0 % 73 46
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    125967675 : tree_maybe_cmp (tree t, tree *res_ops)
      11              : {
      12    125967675 :   const tree type = TREE_TYPE (t);
      13    125967675 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    125967675 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    125967675 :   switch (TREE_CODE (t))
      16              :     {
      17       445218 :     case LT_EXPR:
      18       445218 :     case LE_EXPR:
      19       445218 :     case EQ_EXPR:
      20       445218 :     case NE_EXPR:
      21       445218 :     case GE_EXPR:
      22       445218 :     case GT_EXPR:
      23       445218 :     case UNORDERED_EXPR:
      24       445218 :     case ORDERED_EXPR:
      25       445218 :     case UNLT_EXPR:
      26       445218 :     case UNLE_EXPR:
      27       445218 :     case UNGT_EXPR:
      28       445218 :     case UNGE_EXPR:
      29       445218 :     case UNEQ_EXPR:
      30       445218 :     case LTGT_EXPR:
      31       445218 :       {
      32       445218 :         tree _p0 = TREE_OPERAND (t, 0);
      33       445218 :         tree _p1 = TREE_OPERAND (t, 1);
      34       445218 :         {
      35       445218 :           tree captures[3] ATTRIBUTE_UNUSED = { t, _p0, _p1 };
      36       445218 :           {
      37       445218 :             res_ops[0] = captures[0];
      38       445218 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 5, __FILE__, __LINE__, false);
      39       445218 :             return true;
      40              :           }
      41              :         }
      42     25298320 :         break;
      43              :       }
      44     25298320 :     CASE_CONVERT:
      45     25298320 :       {
      46     25298320 :         tree _p0 = TREE_OPERAND (t, 0);
      47     25298320 :         switch (TREE_CODE (_p0))
      48              :           {
      49         1428 :           case LT_EXPR:
      50         1428 :           case LE_EXPR:
      51         1428 :           case EQ_EXPR:
      52         1428 :           case NE_EXPR:
      53         1428 :           case GE_EXPR:
      54         1428 :           case GT_EXPR:
      55         1428 :           case UNORDERED_EXPR:
      56         1428 :           case ORDERED_EXPR:
      57         1428 :           case UNLT_EXPR:
      58         1428 :           case UNLE_EXPR:
      59         1428 :           case UNGT_EXPR:
      60         1428 :           case UNGE_EXPR:
      61         1428 :           case UNEQ_EXPR:
      62         1428 :           case LTGT_EXPR:
      63         1428 :             {
      64         1428 :               tree _q20 = TREE_OPERAND (_p0, 0);
      65         1428 :               tree _q21 = TREE_OPERAND (_p0, 1);
      66         1428 :               {
      67         1428 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
      68         1428 :                 if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
      69              : )
      70              :                   {
      71          765 :                     {
      72          765 :                       res_ops[0] = captures[0];
      73          765 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 6, __FILE__, __LINE__, false);
      74          765 :                       return true;
      75              :                     }
      76              :                   }
      77              :               }
      78              :               break;
      79              :             }
      80              :           default:;
      81              :           }
      82              :         break;
      83              :       }
      84       177122 :     case BIT_XOR_EXPR:
      85       177122 :       {
      86       177122 :         tree _p0 = TREE_OPERAND (t, 0);
      87       177122 :         tree _p1 = TREE_OPERAND (t, 1);
      88       177122 :         {
      89       177122 :           tree captures[3] ATTRIBUTE_UNUSED = { t, _p0, _p1 };
      90       177122 :           if (INTEGRAL_TYPE_P (type)
      91       177122 :  && TYPE_PRECISION (type) == 1
      92              : )
      93              :             {
      94        85476 :               {
      95        85476 :                 res_ops[0] = captures[0];
      96        85476 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 7, __FILE__, __LINE__, false);
      97        85476 :                 return true;
      98              :               }
      99              :             }
     100              :         }
     101              :         break;
     102              :       }
     103              :     default:;
     104              :     }
     105              :   return false;
     106              : }
     107              : 
     108              : bool
     109            0 : tree_float_value_p (tree t)
     110              : {
     111            0 :   const tree type = TREE_TYPE (t);
     112            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     113            0 :   if (TREE_SIDE_EFFECTS (t)) return false;
     114            0 :   {
     115            0 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
     116            0 :     if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == float_type_node
     117              : )
     118              :       {
     119            0 :         {
     120            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 45, __FILE__, __LINE__, false);
     121            0 :           return true;
     122              :         }
     123              :       }
     124              :   }
     125              :   return false;
     126              : }
     127              : 
     128              : tree
     129        72000 : generic_simplify_7 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     130              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     131              :  const enum tree_code ARG_UNUSED (op))
     132              : {
     133        72000 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     134        72000 :   {
     135        72000 :  bool wascmp0, wascmp1;
     136        72000 :       if (bitwise_inverted_equal_p (captures[1], captures[3], wascmp0)
     137         1190 :  && bitwise_inverted_equal_p (captures[0], captures[2], wascmp1)
     138        72004 :  && ((!wascmp0 && !wascmp1)
     139            0 :  || element_precision (type) == 1)
     140              : )
     141              :         {
     142            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail79;
     143            4 :           {
     144            4 :             tree res_op0;
     145            4 :             res_op0 = captures[0];
     146            4 :             tree res_op1;
     147            4 :             res_op1 = captures[3];
     148            4 :             tree _r;
     149            4 :             _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     150            4 :             if (TREE_SIDE_EFFECTS (captures[1]))
     151            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     152            4 :             if (TREE_SIDE_EFFECTS (captures[2]))
     153            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     154            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 56, __FILE__, __LINE__, true);
     155            4 :             return _r;
     156              :           }
     157            0 : next_after_fail79:;
     158              :         }
     159              :   }
     160        71996 :   return NULL_TREE;
     161              : }
     162              : 
     163              : tree
     164      3059482 : generic_simplify_17 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     165              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     166              :  const enum tree_code ARG_UNUSED (inner_op),
     167              :  const enum tree_code ARG_UNUSED (neg_inner_op),
     168              :  const enum tree_code ARG_UNUSED (outer_op))
     169              : {
     170      3059482 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     171      3059482 :   if (!TYPE_SATURATING (type)
     172              : )
     173              :     {
     174      3059482 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     175      6118714 :  && !FIXED_POINT_TYPE_P (type)
     176              : )
     177              :         {
     178      3059232 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     179              : )
     180              :             {
     181      2044846 :               if (!CONSTANT_CLASS_P (captures[0])
     182              : )
     183              :                 {
     184      2044839 :                   if (outer_op == PLUS_EXPR
     185              : )
     186              :                     {
     187      2044839 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail89;
     188      2044839 :                       {
     189      2044839 :                         tree res_op0;
     190      2044839 :                         {
     191      2044839 :                           tree _o1[1], _r1;
     192      2044839 :                           _o1[0] = captures[0];
     193      2044839 :                           if (TREE_TYPE (_o1[0]) != type)
     194              :                             {
     195       851080 :                               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     196              :                             }
     197              :                           else
     198              :                             _r1 = _o1[0];
     199      2044839 :                           res_op0 = _r1;
     200              :                         }
     201      2044839 :                         tree res_op1;
     202      2044839 :                         {
     203      2044839 :                           tree _o1[2], _r1;
     204      2044839 :                           _o1[0] = captures[2];
     205      2044839 :                           {
     206      2044839 :                             tree _o2[1], _r2;
     207      2044839 :                             _o2[0] = captures[1];
     208      2044839 :                             if (TREE_TYPE (_o2[0]) != type)
     209              :                               {
     210       843970 :                                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     211              :                               }
     212              :                             else
     213              :                               _r2 = _o2[0];
     214      2044839 :                             _o1[1] = _r2;
     215              :                           }
     216      2044839 :                           _r1 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     217      2044839 :                           if (EXPR_P (_r1))
     218            0 :                             goto next_after_fail89;
     219      2044839 :                           res_op1 = _r1;
     220              :                         }
     221      2044839 :                         tree _r;
     222      2044839 :                         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     223      2044839 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 66, __FILE__, __LINE__, true);
     224      2044839 :                         return _r;
     225              :                       }
     226              : next_after_fail89:;
     227              :                     }
     228              :                   else
     229              :                     {
     230            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail90;
     231            0 :                       {
     232            0 :                         tree res_op0;
     233            0 :                         {
     234            0 :                           tree _o1[1], _r1;
     235            0 :                           _o1[0] = captures[0];
     236            0 :                           if (TREE_TYPE (_o1[0]) != type)
     237              :                             {
     238            0 :                               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     239              :                             }
     240              :                           else
     241              :                             _r1 = _o1[0];
     242            0 :                           res_op0 = _r1;
     243              :                         }
     244            0 :                         tree res_op1;
     245            0 :                         {
     246            0 :                           tree _o1[2], _r1;
     247            0 :                           _o1[0] = captures[2];
     248            0 :                           {
     249            0 :                             tree _o2[1], _r2;
     250            0 :                             _o2[0] = captures[1];
     251            0 :                             if (TREE_TYPE (_o2[0]) != type)
     252              :                               {
     253            0 :                                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     254              :                               }
     255              :                             else
     256              :                               _r2 = _o2[0];
     257            0 :                             _o1[1] = _r2;
     258              :                           }
     259            0 :                           _r1 = fold_build2_loc (loc, neg_inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     260            0 :                           if (EXPR_P (_r1))
     261            0 :                             goto next_after_fail90;
     262            0 :                           res_op1 = _r1;
     263              :                         }
     264            0 :                         tree _r;
     265            0 :                         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     266            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 67, __FILE__, __LINE__, true);
     267            0 :                         return _r;
     268              :                       }
     269              : next_after_fail90:;
     270              :                     }
     271              :                 }
     272              :             }
     273              :           else
     274              :             {
     275      2028772 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     276      2028772 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
     277              : )
     278              :                 {
     279       224904 :                   if (outer_op == PLUS_EXPR
     280              : )
     281              :                     {
     282       224904 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail91;
     283       224904 :                       {
     284       224904 :                         tree res_op0;
     285       224904 :                         {
     286       224904 :                           tree _o1[2], _r1;
     287       224904 :                           _o1[0] = captures[0];
     288       224904 :                           {
     289       224904 :                             tree _o2[2], _r2;
     290       224904 :                             {
     291       224904 :                               tree _o3[1], _r3;
     292       224904 :                               _o3[0] = captures[2];
     293       224904 :                               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o1[0]))
     294              :                                 {
     295       224904 :                                   _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
     296              :                                 }
     297              :                               else
     298              :                                 _r3 = _o3[0];
     299       224904 :                               _o2[0] = _r3;
     300              :                             }
     301       224904 :                             _o2[1] = captures[1];
     302       224904 :                             _r2 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     303       224904 :                             if (EXPR_P (_r2))
     304            0 :                               goto next_after_fail91;
     305       224904 :                             _o1[1] = _r2;
     306              :                           }
     307       224904 :                           _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     308       224904 :                           res_op0 = _r1;
     309              :                         }
     310       224904 :                         tree _r;
     311       224904 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     312       224904 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 68, __FILE__, __LINE__, true);
     313       224904 :                         return _r;
     314              :                       }
     315              : next_after_fail91:;
     316              :                     }
     317              :                   else
     318              :                     {
     319            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail92;
     320            0 :                       {
     321            0 :                         tree res_op0;
     322            0 :                         {
     323            0 :                           tree _o1[2], _r1;
     324            0 :                           _o1[0] = captures[0];
     325            0 :                           {
     326            0 :                             tree _o2[2], _r2;
     327            0 :                             {
     328            0 :                               tree _o3[1], _r3;
     329            0 :                               _o3[0] = captures[2];
     330            0 :                               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o1[0]))
     331              :                                 {
     332            0 :                                   _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
     333              :                                 }
     334              :                               else
     335              :                                 _r3 = _o3[0];
     336            0 :                               _o2[0] = _r3;
     337              :                             }
     338            0 :                             _o2[1] = captures[1];
     339            0 :                             _r2 = fold_build2_loc (loc, neg_inner_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     340            0 :                             if (EXPR_P (_r2))
     341            0 :                               goto next_after_fail92;
     342            0 :                             _o1[1] = _r2;
     343              :                           }
     344            0 :                           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     345            0 :                           res_op0 = _r1;
     346              :                         }
     347            0 :                         tree _r;
     348            0 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     349            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 69, __FILE__, __LINE__, true);
     350            0 :                         return _r;
     351              :                       }
     352              : next_after_fail92:;
     353              :                     }
     354              :                 }
     355              :               else
     356              :                 {
     357       789482 :                   if (types_match (type, captures[0]) && !TYPE_OVERFLOW_SANITIZED (type)
     358              : )
     359              :                     {
     360       788303 :                       {
     361       788303 :  tree cst = const_binop (outer_op == inner_op
     362              :  ? PLUS_EXPR : MINUS_EXPR,
     363              :  type, captures[1], captures[2]);
     364       788303 :                           if (cst
     365              : )
     366              :                             {
     367       788303 :                               if (INTEGRAL_TYPE_P (type) && !TREE_OVERFLOW (cst)
     368              : )
     369              :                                 {
     370       788289 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail93;
     371       788289 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail93;
     372       788289 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail93;
     373       788289 :                                   {
     374       788289 :                                     tree res_op0;
     375       788289 :                                     res_op0 = captures[0];
     376       788289 :                                     tree res_op1;
     377       788289 :                                     res_op1 =  cst;
     378       788289 :                                     tree _r;
     379       788289 :                                     _r = fold_build2_loc (loc, inner_op, type, res_op0, res_op1);
     380       788289 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 70, __FILE__, __LINE__, true);
     381       788289 :                                     return _r;
     382              :                                   }
     383              : next_after_fail93:;
     384              :                                 }
     385              :                               else
     386              :                                 {
     387           28 :                                   if (INTEGRAL_TYPE_P (type)
     388           28 :  && wi::to_wide (cst) == wi::min_value (type)
     389              : )
     390              :                                     {
     391            7 :                                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail94;
     392            7 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail94;
     393            7 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail94;
     394            7 :                                       {
     395            7 :                                         tree res_op0;
     396            7 :                                         res_op0 = captures[0];
     397            7 :                                         tree res_op1;
     398            7 :                                         res_op1 =  wide_int_to_tree (type, wi::to_wide (cst));
     399            7 :                                         tree _r;
     400            7 :                                         _r = fold_build2_loc (loc, neg_inner_op, type, res_op0, res_op1);
     401            7 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 71, __FILE__, __LINE__, true);
     402            7 :                                         return _r;
     403              :                                       }
     404              : next_after_fail94:;
     405              :                                     }
     406              :                                   else
     407              :                                     {
     408            7 :                                       {
     409            7 :  tree utype = unsigned_type_for (type);
     410            7 :                                           if (utype
     411              : )
     412              :                                             {
     413            7 :                                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail95;
     414            7 :                                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail95;
     415            7 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail95;
     416            7 :                                               {
     417            7 :                                                 tree res_op0;
     418            7 :                                                 {
     419            7 :                                                   tree _o1[2], _r1;
     420            7 :                                                   {
     421            7 :                                                     tree _o2[1], _r2;
     422            7 :                                                     _o2[0] = captures[0];
     423            7 :                                                     if (TREE_TYPE (_o2[0]) != utype)
     424              :                                                       {
     425            7 :                                                         _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o2[0]);
     426              :                                                       }
     427              :                                                     else
     428              :                                                       _r2 = _o2[0];
     429            7 :                                                     _o1[0] = _r2;
     430              :                                                   }
     431            7 :                                                   {
     432            7 :                                                     tree _o2[1], _r2;
     433            7 :                                                     _o2[0] =  TREE_OVERFLOW (cst)
     434            7 :  ? drop_tree_overflow (cst) : cst;
     435            7 :                                                     if (TREE_TYPE (_o2[0]) != utype)
     436              :                                                       {
     437            7 :                                                         _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o2[0]);
     438              :                                                       }
     439              :                                                     else
     440              :                                                       _r2 = _o2[0];
     441            7 :                                                     _o1[1] = _r2;
     442              :                                                   }
     443            7 :                                                   _r1 = fold_build2_loc (loc, inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     444            7 :                                                   res_op0 = _r1;
     445              :                                                 }
     446            7 :                                                 tree _r;
     447            7 :                                                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     448            7 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 72, __FILE__, __LINE__, true);
     449            7 :                                                 return _r;
     450              :                                               }
     451              : next_after_fail95:;
     452              :                                             }
     453              :                                       }
     454              :                                     }
     455              :                                 }
     456              :                             }
     457              :                       }
     458              :                     }
     459              :                 }
     460              :             }
     461              :         }
     462              :     }
     463              :   return NULL_TREE;
     464              : }
     465              : 
     466              : tree
     467           16 : generic_simplify_74 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     468              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     469              : {
     470           16 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     471           32 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     472           32 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     473              : )
     474              :     {
     475            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail162;
     476            0 :       {
     477            0 :         tree res_op0;
     478            0 :         res_op0 = captures[0];
     479            0 :         tree res_op1;
     480            0 :         {
     481            0 :           tree _o1[2], _r1;
     482            0 :           _o1[0] = captures[1];
     483            0 :           _o1[1] =  build_one_cst (type);
     484            0 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     485            0 :           res_op1 = _r1;
     486              :         }
     487            0 :         tree _r;
     488            0 :         _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     489            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 137, __FILE__, __LINE__, true);
     490            0 :         return _r;
     491              :       }
     492            0 : next_after_fail162:;
     493              :     }
     494              :   return NULL_TREE;
     495              : }
     496              : 
     497              : tree
     498            0 : generic_simplify_82 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     499              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     500              : {
     501            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     502            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail174;
     503            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail174;
     504            0 :   {
     505            0 :     tree _r;
     506            0 :     _r = captures[2];
     507            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 144, __FILE__, __LINE__, true);
     508              :     return _r;
     509              :   }
     510              : next_after_fail174:;
     511              :   return NULL_TREE;
     512              : }
     513              : 
     514              : tree
     515            1 : generic_simplify_91 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     516              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     517              : {
     518            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     519            1 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail183;
     520            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail183;
     521            1 :   {
     522            1 :     tree _r;
     523            1 :     _r = captures[0];
     524            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 150, __FILE__, __LINE__, true);
     525              :     return _r;
     526              :   }
     527              : next_after_fail183:;
     528              :   return NULL_TREE;
     529              : }
     530              : 
     531              : tree
     532            0 : generic_simplify_97 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     533              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     534              :  const enum tree_code ARG_UNUSED (op))
     535              : {
     536            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     537            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail189;
     538            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail189;
     539            0 :   {
     540            0 :     tree _r;
     541            0 :     _r = captures[0];
     542            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 143, __FILE__, __LINE__, true);
     543              :     return _r;
     544              :   }
     545              : next_after_fail189:;
     546              :   return NULL_TREE;
     547              : }
     548              : 
     549              : tree
     550           21 : generic_simplify_105 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     551              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     552              :  const enum tree_code ARG_UNUSED (bitop),
     553              :  const enum tree_code ARG_UNUSED (rbitop))
     554              : {
     555           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     556           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail201;
     557           21 :   {
     558           21 :     tree _r;
     559           21 :     _r = captures[0];
     560           21 :     if (TREE_SIDE_EFFECTS (captures[1]))
     561            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     562           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 159, __FILE__, __LINE__, true);
     563              :     return _r;
     564              :   }
     565            0 : next_after_fail201:;
     566            0 :   return NULL_TREE;
     567              : }
     568              : 
     569              : tree
     570            2 : generic_simplify_108 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     571              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     572              :  const enum tree_code ARG_UNUSED (bitop),
     573              :  const enum tree_code ARG_UNUSED (rbitop))
     574              : {
     575            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     576            2 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail204;
     577            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail204;
     578            2 :   {
     579            2 :     tree res_op0;
     580            2 :     res_op0 = captures[0];
     581            2 :     tree res_op1;
     582            2 :     res_op1 = captures[2];
     583            2 :     tree _r;
     584            2 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     585            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 162, __FILE__, __LINE__, true);
     586              :     return _r;
     587              :   }
     588              : next_after_fail204:;
     589              :   return NULL_TREE;
     590              : }
     591              : 
     592              : tree
     593            2 : generic_simplify_113 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     594              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     595              :  const enum tree_code ARG_UNUSED (bitop),
     596              :  const enum tree_code ARG_UNUSED (rbitop))
     597              : {
     598            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     599            2 :   if (bitop == BIT_AND_EXPR
     600              : )
     601              :     {
     602            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail209;
     603            1 :       {
     604            1 :         tree _r;
     605            1 :         _r =  build_zero_cst (type);
     606            1 :         if (TREE_SIDE_EFFECTS (captures[0]))
     607            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     608            1 :         if (TREE_SIDE_EFFECTS (captures[1]))
     609            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     610            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 164, __FILE__, __LINE__, true);
     611            1 :         return _r;
     612              :       }
     613            0 : next_after_fail209:;
     614              :     }
     615              :   else
     616              :     {
     617            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail210;
     618            1 :       {
     619            1 :         tree _r;
     620            1 :         _r =  build_minus_one_cst (type);
     621            1 :         if (TREE_SIDE_EFFECTS (captures[0]))
     622            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     623            1 :         if (TREE_SIDE_EFFECTS (captures[1]))
     624            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     625            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 165, __FILE__, __LINE__, true);
     626            1 :         return _r;
     627              :       }
     628            0 : next_after_fail210:;
     629              :     }
     630              :   return NULL_TREE;
     631              : }
     632              : 
     633              : tree
     634            0 : generic_simplify_122 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     635              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     636              :  const enum tree_code ARG_UNUSED (cmp),
     637              :  const enum tree_code ARG_UNUSED (icmp))
     638              : {
     639            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     640            0 :   if (integer_zerop (captures[5])
     641            0 :  && invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
     642              : )
     643              :     {
     644            0 :       if (integer_onep (captures[4])
     645              : )
     646              :         {
     647            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail221;
     648            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail221;
     649            0 :           {
     650            0 :             tree res_op0;
     651            0 :             {
     652            0 :               tree _o1[3], _r1;
     653            0 :               _o1[0] = captures[1];
     654            0 :               _o1[1] = captures[6];
     655            0 :               _o1[2] = captures[9];
     656            0 :               _r1 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
     657            0 :               res_op0 = _r1;
     658              :             }
     659            0 :             tree res_op1;
     660            0 :             res_op1 = captures[4];
     661            0 :             tree _r;
     662            0 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     663            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 174, __FILE__, __LINE__, true);
     664            0 :             return _r;
     665              :           }
     666              : next_after_fail221:;
     667              :         }
     668              :       else
     669              :         {
     670            0 :           if (integer_minus_onep (captures[4])
     671              : )
     672              :             {
     673            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail222;
     674            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail222;
     675            0 :               {
     676            0 :                 tree res_op0;
     677            0 :                 res_op0 = captures[1];
     678            0 :                 tree res_op1;
     679            0 :                 res_op1 = captures[6];
     680            0 :                 tree res_op2;
     681            0 :                 res_op2 = captures[9];
     682            0 :                 tree _r;
     683            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
     684            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 175, __FILE__, __LINE__, true);
     685            0 :                 return _r;
     686              :               }
     687              : next_after_fail222:;
     688              :             }
     689              :         }
     690              :     }
     691              :   else
     692              :     {
     693            0 :       if (integer_zerop (captures[4])
     694            0 :  && invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
     695              : )
     696              :         {
     697            0 :           if (integer_onep (captures[5])
     698              : )
     699              :             {
     700            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail223;
     701            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail223;
     702            0 :               {
     703            0 :                 tree res_op0;
     704            0 :                 {
     705            0 :                   tree _o1[3], _r1;
     706            0 :                   _o1[0] = captures[1];
     707            0 :                   _o1[1] = captures[9];
     708            0 :                   _o1[2] = captures[6];
     709            0 :                   _r1 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
     710            0 :                   res_op0 = _r1;
     711              :                 }
     712            0 :                 tree res_op1;
     713            0 :                 res_op1 = captures[5];
     714            0 :                 tree _r;
     715            0 :                 _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     716            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 176, __FILE__, __LINE__, true);
     717            0 :                 return _r;
     718              :               }
     719              : next_after_fail223:;
     720              :             }
     721              :           else
     722              :             {
     723            0 :               if (integer_minus_onep (captures[5])
     724              : )
     725              :                 {
     726            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail224;
     727            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail224;
     728            0 :                   {
     729            0 :                     tree res_op0;
     730            0 :                     res_op0 = captures[1];
     731            0 :                     tree res_op1;
     732            0 :                     res_op1 = captures[9];
     733            0 :                     tree res_op2;
     734            0 :                     res_op2 = captures[6];
     735            0 :                     tree _r;
     736            0 :                     _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
     737            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 177, __FILE__, __LINE__, true);
     738            0 :                     return _r;
     739              :                   }
     740              : next_after_fail224:;
     741              :                 }
     742              :             }
     743              :         }
     744              :     }
     745              :   return NULL_TREE;
     746              : }
     747              : 
     748              : tree
     749           18 : generic_simplify_145 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     750              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     751              :  const enum tree_code ARG_UNUSED (op))
     752              : {
     753           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     754           36 :   if (INTEGRAL_TYPE_P (type)
     755           54 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[2])) == 0
     756              : )
     757              :     {
     758            0 :       {
     759            0 :  tree t = type;
     760            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     761            0 :  t = unsigned_type_for (t);
     762            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), 1);
     763            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail280;
     764            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail280;
     765            0 :           {
     766            0 :             tree res_op0;
     767            0 :             {
     768            0 :               tree _o1[2], _r1;
     769            0 :               {
     770            0 :                 tree _o2[1], _r2;
     771            0 :                 _o2[0] = captures[2];
     772            0 :                 if (TREE_TYPE (_o2[0]) != t)
     773              :                   {
     774            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     775              :                   }
     776              :                 else
     777              :                   _r2 = _o2[0];
     778            0 :                 _o1[0] = _r2;
     779              :               }
     780            0 :               _o1[1] =  wide_int_to_tree (t, c);
     781            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     782            0 :               res_op0 = _r1;
     783              :             }
     784            0 :             tree _r;
     785            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     786            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 168, __FILE__, __LINE__, true);
     787            0 :             return _r;
     788              :           }
     789            0 : next_after_fail280:;
     790            0 :       }
     791              :     }
     792              :   return NULL_TREE;
     793              : }
     794              : 
     795              : tree
     796            0 : generic_simplify_149 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     797              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     798              : {
     799            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     800            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail284;
     801            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail284;
     802            0 :   {
     803            0 :     tree _r;
     804            0 :     _r = captures[1];
     805            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 206, __FILE__, __LINE__, true);
     806              :     return _r;
     807              :   }
     808              : next_after_fail284:;
     809              :   return NULL_TREE;
     810              : }
     811              : 
     812              : tree
     813            0 : generic_simplify_153 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     814              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     815              : {
     816            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     817            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail288;
     818            0 :   {
     819            0 :     tree res_op0;
     820            0 :     {
     821            0 :       tree _o1[2], _r1;
     822            0 :       _o1[0] = captures[1];
     823            0 :       _o1[1] = captures[2];
     824            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     825            0 :       res_op0 = _r1;
     826              :     }
     827            0 :     tree _r;
     828            0 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     829            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 210, __FILE__, __LINE__, true);
     830              :     return _r;
     831              :   }
     832            0 : next_after_fail288:;
     833            0 :   return NULL_TREE;
     834              : }
     835              : 
     836              : tree
     837            1 : generic_simplify_158 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     838              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     839              : {
     840            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     841            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail293;
     842            1 :   {
     843            1 :     tree res_op0;
     844            1 :     res_op0 = captures[0];
     845            1 :     tree res_op1;
     846            1 :     res_op1 = captures[1];
     847            1 :     tree _r;
     848            1 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     849            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     850              :     return _r;
     851              :   }
     852            0 : next_after_fail293:;
     853            0 :   return NULL_TREE;
     854              : }
     855              : 
     856              : tree
     857          608 : generic_simplify_160 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     858              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     859              : {
     860          608 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     861          608 :   if (bitwise_equal_p (captures[0], captures[2])
     862              : )
     863              :     {
     864           88 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail295;
     865           88 :       {
     866           88 :         tree res_op0;
     867           88 :         {
     868           88 :           tree _o1[1], _r1;
     869           88 :           {
     870           88 :             tree _o2[2], _r2;
     871           88 :             _o2[0] = captures[0];
     872           88 :             {
     873           88 :               tree _o3[1], _r3;
     874           88 :               _o3[0] = captures[1];
     875           88 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     876              :                 {
     877            8 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     878              :                 }
     879              :               else
     880              :                 _r3 = _o3[0];
     881           88 :               _o2[1] = _r3;
     882              :             }
     883           88 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     884           88 :             _o1[0] = _r2;
     885              :           }
     886           88 :           _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     887           88 :           res_op0 = _r1;
     888              :         }
     889           88 :         tree _r;
     890           88 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     891           88 :         if (TREE_SIDE_EFFECTS (captures[2]))
     892            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     893           88 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
     894           88 :         return _r;
     895              :       }
     896            0 : next_after_fail295:;
     897              :     }
     898              :   return NULL_TREE;
     899              : }
     900              : 
     901              : tree
     902           64 : generic_simplify_172 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     903              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     904              :  const enum tree_code ARG_UNUSED (cmp),
     905              :  const enum tree_code ARG_UNUSED (icmp),
     906              :  const enum tree_code ARG_UNUSED (ncmp))
     907              : {
     908           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     909           64 :   {
     910           64 :  enum tree_code ic = invert_tree_comparison
     911           64 :  (cmp, HONOR_NANS (captures[0]));
     912           64 :       if (ic == icmp
     913              : )
     914              :         {
     915           64 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail307;
     916           64 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail307;
     917           64 :           {
     918           64 :             tree res_op0;
     919           64 :             res_op0 = captures[0];
     920           64 :             tree res_op1;
     921           64 :             res_op1 = captures[1];
     922           64 :             tree _r;
     923           64 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
     924           64 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 228, __FILE__, __LINE__, true);
     925           64 :             return _r;
     926              :           }
     927              : next_after_fail307:;
     928              :         }
     929              :       else
     930              :         {
     931            0 :           if (ic == ncmp
     932              : )
     933              :             {
     934            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail308;
     935            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail308;
     936            0 :               {
     937            0 :                 tree res_op0;
     938            0 :                 res_op0 = captures[0];
     939            0 :                 tree res_op1;
     940            0 :                 res_op1 = captures[1];
     941            0 :                 tree _r;
     942            0 :                 _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
     943            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 229, __FILE__, __LINE__, true);
     944            0 :                 return _r;
     945              :               }
     946              : next_after_fail308:;
     947              :             }
     948              :         }
     949              :   }
     950              :   return NULL_TREE;
     951              : }
     952              : 
     953              : tree
     954            3 : generic_simplify_183 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     955              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     956              : {
     957            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     958            3 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail320;
     959            3 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail320;
     960            3 :   {
     961            3 :     tree _r;
     962            3 :     _r =  build_zero_cst (type);
     963            3 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 239, __FILE__, __LINE__, true);
     964              :     return _r;
     965              :   }
     966              : next_after_fail320:;
     967              :   return NULL_TREE;
     968              : }
     969              : 
     970              : tree
     971           14 : generic_simplify_190 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     972              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     973              : {
     974           14 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     975           14 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     976           14 :  && wi::ltu_p (wi::to_widest (captures[1]), TYPE_PRECISION (type))
     977              : )
     978              :     {
     979           14 :       {
     980           14 :  unsigned int shift = tree_to_uhwi (captures[1]);
     981           14 :  unsigned int prec = TYPE_PRECISION (type);
     982           14 :           if ((prec <= TYPE_PRECISION (TREE_TYPE (captures[2])) + shift
     983            0 :  || tree_int_cst_sgn (captures[2]) >= 0)
     984           28 :  && wi::to_wide (captures[3]) == wi::set_bit_in_zero (shift, prec)
     985              : )
     986              :             {
     987            6 :               {
     988            6 :  auto mask = wide_int::from (wi::to_wide (captures[2]), prec, UNSIGNED);
     989            6 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail329;
     990            6 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail329;
     991            6 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail329;
     992            6 :                   {
     993            6 :                     tree res_op0;
     994            6 :                     {
     995            6 :                       tree _o1[1], _r1;
     996            6 :                       _o1[0] = captures[0];
     997            6 :                       if (TREE_TYPE (_o1[0]) != type)
     998              :                         {
     999            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1000              :                         }
    1001              :                       else
    1002              :                         _r1 = _o1[0];
    1003            6 :                       res_op0 = _r1;
    1004              :                     }
    1005            6 :                     tree res_op1;
    1006            6 :                     res_op1 =  wide_int_to_tree (type, mask << shift);
    1007            6 :                     tree _r;
    1008            6 :                     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    1009            6 :                     if (TREE_SIDE_EFFECTS (captures[3]))
    1010            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1011            6 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 244, __FILE__, __LINE__, true);
    1012            6 :                     return _r;
    1013              :                   }
    1014            0 : next_after_fail329:;
    1015            6 :               }
    1016              :             }
    1017              :       }
    1018              :     }
    1019              :   return NULL_TREE;
    1020              : }
    1021              : 
    1022              : tree
    1023          169 : generic_simplify_205 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1024              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1025              :  const enum tree_code ARG_UNUSED (op))
    1026              : {
    1027          169 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1028          338 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    1029          338 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
    1030          169 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
    1031              :  && (CONSTANT_CLASS_P (captures[2]) || (single_use (captures[1]) && single_use (captures[0])))
    1032          169 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1033          507 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    1034              : )
    1035              :     {
    1036          169 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail345;
    1037          169 :       {
    1038          169 :         tree res_op0;
    1039          169 :         res_op0 = captures[2];
    1040          169 :         tree res_op1;
    1041          169 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1042          169 :         tree _r;
    1043          169 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1044          169 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1045            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1046          169 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 260, __FILE__, __LINE__, true);
    1047          169 :         return _r;
    1048              :       }
    1049            0 : next_after_fail345:;
    1050              :     }
    1051              :   return NULL_TREE;
    1052              : }
    1053              : 
    1054              : tree
    1055         8516 : generic_simplify_215 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1056              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1057              :  const enum tree_code ARG_UNUSED (op))
    1058              : {
    1059         8516 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1060         8516 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail371;
    1061         8516 :   {
    1062         8516 :     tree res_op0;
    1063         8516 :     res_op0 = captures[1];
    1064         8516 :     tree res_op1;
    1065         8516 :     res_op1 = captures[2];
    1066         8516 :     tree _r;
    1067         8516 :     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1068         8516 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1069            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1070         8516 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 285, __FILE__, __LINE__, true);
    1071              :     return _r;
    1072              :   }
    1073            0 : next_after_fail371:;
    1074            0 :   return NULL_TREE;
    1075              : }
    1076              : 
    1077              : tree
    1078        55443 : generic_simplify_221 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1079              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1080              :  const enum tree_code ARG_UNUSED (neeq))
    1081              : {
    1082        55443 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1083        55443 :   {
    1084        55443 :  poly_int64 diff; tree inner_type = TREE_TYPE (captures[1]);
    1085        55443 :       if (ptr_difference_const (captures[2], captures[0], &diff)
    1086              : )
    1087              :         {
    1088        11384 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail377;
    1089        11384 :           {
    1090        11384 :             tree res_op0;
    1091        11384 :             res_op0 =  build_int_cst_type (inner_type, diff);
    1092        11384 :             tree res_op1;
    1093        11384 :             res_op1 = captures[1];
    1094        11384 :             tree _r;
    1095        11384 :             _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
    1096        11384 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1097            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1098        11384 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1099            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1100        11384 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 290, __FILE__, __LINE__, true);
    1101        11384 :             return _r;
    1102              :           }
    1103            0 : next_after_fail377:;
    1104              :         }
    1105              :   }
    1106        44059 :   return NULL_TREE;
    1107              : }
    1108              : 
    1109              : tree
    1110          725 : generic_simplify_229 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1111              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1112              :  const enum tree_code ARG_UNUSED (cmp))
    1113              : {
    1114          725 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1115          725 :   if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1116          725 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1117              : )
    1118              :     {
    1119           42 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail386;
    1120           42 :       {
    1121           42 :         tree _r;
    1122           42 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1123           42 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1124            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1125           42 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1126            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1127           42 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1128            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1129           42 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 299, __FILE__, __LINE__, true);
    1130           42 :         return _r;
    1131              :       }
    1132            0 : next_after_fail386:;
    1133              :     }
    1134              :   else
    1135              :     {
    1136          683 :       if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1137          683 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1138              : )
    1139              :         {
    1140          683 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail387;
    1141          683 :           {
    1142          683 :             tree res_op0;
    1143          683 :             res_op0 = captures[0];
    1144          683 :             tree res_op1;
    1145          683 :             res_op1 = captures[2];
    1146          683 :             tree _r;
    1147          683 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1148          683 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1149            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1150          683 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 300, __FILE__, __LINE__, true);
    1151          683 :             return _r;
    1152              :           }
    1153            0 : next_after_fail387:;
    1154              :         }
    1155              :     }
    1156              :   return NULL_TREE;
    1157              : }
    1158              : 
    1159              : tree
    1160           47 : generic_simplify_240 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1161              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1162              : {
    1163           47 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1164           47 :   if (TREE_CODE (TREE_TYPE (captures[1])) != COMPLEX_TYPE
    1165           47 :  && (!VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (captures[1])))
    1166            7 :  || !target_supports_op_p (TREE_TYPE (captures[1]), TRUNC_DIV_EXPR,
    1167              :  optab_vector)
    1168            0 :  || target_supports_op_p (TREE_TYPE (captures[1]), TRUNC_MOD_EXPR,
    1169              :  optab_vector))
    1170              : )
    1171              :     {
    1172           47 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail408;
    1173           47 :       {
    1174           47 :         tree res_op0;
    1175           47 :         {
    1176           47 :           tree _o1[2], _r1;
    1177           47 :           _o1[0] = captures[1];
    1178           47 :           _o1[1] = captures[2];
    1179           47 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1180           47 :           res_op0 = _r1;
    1181              :         }
    1182           47 :         tree res_op1;
    1183           47 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1184           47 :         tree _r;
    1185           47 :         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1186           47 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 321, __FILE__, __LINE__, true);
    1187           47 :         return _r;
    1188              :       }
    1189            0 : next_after_fail408:;
    1190              :     }
    1191              :   return NULL_TREE;
    1192              : }
    1193              : 
    1194              : tree
    1195        61364 : generic_simplify_248 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1196              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1197              :  const enum tree_code ARG_UNUSED (cmp))
    1198              : {
    1199        61364 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1200       122728 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1201       122728 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1202       139146 :  && wi::to_wide (captures[1]) != 0
    1203              : )
    1204              :     {
    1205        16418 :       {
    1206        16418 :  widest_int quot;
    1207        16418 :           if (wi::multiple_of_p (wi::to_widest (captures[2]), wi::to_widest (captures[1]),
    1208        16418 :  TYPE_SIGN (TREE_TYPE (captures[0])), &quot)
    1209              : )
    1210              :             {
    1211        12377 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail419;
    1212        12377 :               {
    1213        12377 :                 tree res_op0;
    1214        12377 :                 res_op0 = captures[0];
    1215        12377 :                 tree res_op1;
    1216        12377 :                 res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), quot);
    1217        12377 :                 tree _r;
    1218        12377 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1219        12377 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1220            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1221        12377 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1222            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1223        12377 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 331, __FILE__, __LINE__, true);
    1224        12377 :                 return _r;
    1225              :               }
    1226            0 : next_after_fail419:;
    1227              :             }
    1228              :           else
    1229              :             {
    1230         4041 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail420;
    1231         4041 :               {
    1232         4041 :                 tree _r;
    1233         4041 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1234         4041 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1235            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1236         4041 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1237            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1238         4041 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1239            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1240         4041 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 332, __FILE__, __LINE__, true);
    1241         4041 :                 return _r;
    1242              :               }
    1243            0 : next_after_fail420:;
    1244              :             }
    1245        16418 :       }
    1246              :     }
    1247              :   else
    1248              :     {
    1249        89892 :       if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1250        44946 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
    1251        89892 :  && (wi::bit_and (wi::to_wide (captures[1]), 1) == 1)
    1252              : )
    1253              :         {
    1254         1085 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail421;
    1255         1085 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail421;
    1256         1085 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail421;
    1257         1085 :           {
    1258         1085 :             tree res_op0;
    1259         1085 :             res_op0 = captures[0];
    1260         1085 :             tree res_op1;
    1261         1085 :  tree itype = TREE_TYPE (captures[0]);
    1262         1085 :  int p = TYPE_PRECISION (itype);
    1263         1085 :  wide_int m = wi::one (p + 1) << p;
    1264         1085 :  wide_int a = wide_int::from (wi::to_wide (captures[1]), p + 1, UNSIGNED);
    1265         1085 :  wide_int i = wide_int::from (wi::mod_inv (a, m),
    1266         2170 :  p, TYPE_SIGN (itype));     res_op1 = 
    1267         1085 :  wide_int_to_tree (itype, wi::mul (i, wi::to_wide (captures[2])));
    1268         1085 :             tree _r;
    1269         1085 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1270         1085 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 333, __FILE__, __LINE__, true);
    1271         1085 :             return _r;
    1272         1085 :           }
    1273              : next_after_fail421:;
    1274              :         }
    1275              :     }
    1276              :   return NULL_TREE;
    1277              : }
    1278              : 
    1279              : tree
    1280      6398292 : generic_simplify_264 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1281              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1282              :  const enum tree_code ARG_UNUSED (cmp))
    1283              : {
    1284      6398292 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1285     12796560 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1286      2753285 :  && !(targetm.have_canonicalize_funcptr_for_compare ()
    1287            0 :  && ((POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1288            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1]))))
    1289            0 :  || (POINTER_TYPE_P (TREE_TYPE (captures[3]))
    1290            0 :  && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[3]))))))
    1291      6398292 :  && single_use (captures[0])
    1292              : )
    1293              :     {
    1294      2753285 :       if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    1295      1877486 :  && (TREE_CODE (captures[3]) == INTEGER_CST
    1296      1877486 :  || captures[2] != captures[3])
    1297      1877486 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1])) == TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1298              :  || cmp == NE_EXPR
    1299       977091 :  || cmp == EQ_EXPR)
    1300       938875 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1301      3565053 :  && (TREE_CODE (TREE_TYPE (captures[1])) != BOOLEAN_TYPE
    1302          390 :  || TREE_CODE (TREE_TYPE (captures[3])) == BOOLEAN_TYPE)
    1303              : )
    1304              :         {
    1305       811768 :           if (TREE_CODE (captures[2]) == INTEGER_CST
    1306              : )
    1307              :             {
    1308            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail479;
    1309            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail479;
    1310            0 :               {
    1311            0 :                 tree res_op0;
    1312            0 :                 res_op0 = captures[1];
    1313            0 :                 tree res_op1;
    1314            0 :                 res_op1 =  force_fit_type (TREE_TYPE (captures[1]),
    1315            0 :  wide_int::from (wi::to_wide (captures[2]),
    1316            0 :  MAX (TYPE_PRECISION (TREE_TYPE (captures[2])),
    1317              :  TYPE_PRECISION (TREE_TYPE (captures[1]))),
    1318            0 :  TYPE_SIGN (TREE_TYPE (captures[2]))),
    1319            0 :  0, TREE_OVERFLOW (captures[2]));
    1320            0 :                 tree _r;
    1321            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1322            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1323            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1324            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 390, __FILE__, __LINE__, true);
    1325            0 :                 return _r;
    1326              :               }
    1327              : next_after_fail479:;
    1328              :             }
    1329              :           else
    1330              :             {
    1331       811768 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail480;
    1332       711928 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail480;
    1333       711928 :               {
    1334       711928 :                 tree res_op0;
    1335       711928 :                 res_op0 = captures[1];
    1336       711928 :                 tree res_op1;
    1337       711928 :                 {
    1338       711928 :                   tree _o1[1], _r1;
    1339       711928 :                   _o1[0] = captures[2];
    1340       711928 :                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1341              :                     {
    1342       711808 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1343              :                     }
    1344              :                   else
    1345              :                     _r1 = _o1[0];
    1346       711928 :                   res_op1 = _r1;
    1347              :                 }
    1348       711928 :                 tree _r;
    1349       711928 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1350       711928 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 391, __FILE__, __LINE__, true);
    1351       711928 :                 return _r;
    1352              :               }
    1353              : next_after_fail480:;
    1354              :             }
    1355              :         }
    1356              :       else
    1357              :         {
    1358      1941517 :           if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    1359              : )
    1360              :             {
    1361       817068 :               if ((cmp == EQ_EXPR || cmp == NE_EXPR
    1362       269858 :  || TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1363       161578 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1364       160492 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    1365      1085840 :  && (types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]))
    1366       114254 :  || ((TYPE_PRECISION (TREE_TYPE (captures[1]))
    1367       114254 :  >= TYPE_PRECISION (TREE_TYPE (captures[3])))
    1368        48176 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1369        48176 :  == TYPE_UNSIGNED (TREE_TYPE (captures[3]))))
    1370        77914 :  || (TREE_CODE (captures[2]) == INTEGER_CST
    1371            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1372            0 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))))
    1373              : )
    1374              :                 {
    1375       738068 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail481;
    1376       738068 :                   {
    1377       738068 :                     tree res_op0;
    1378       738068 :                     res_op0 = captures[1];
    1379       738068 :                     tree res_op1;
    1380       738068 :                     {
    1381       738068 :                       tree _o1[1], _r1;
    1382       738068 :                       _o1[0] = captures[3];
    1383       738068 :                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1384              :                         {
    1385       196156 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1386              :                         }
    1387              :                       else
    1388              :                         _r1 = _o1[0];
    1389       738068 :                       res_op1 = _r1;
    1390              :                     }
    1391       738068 :                     tree _r;
    1392       738068 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1393       738068 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 392, __FILE__, __LINE__, true);
    1394       738068 :                     return _r;
    1395              :                   }
    1396            0 : next_after_fail481:;
    1397              :                 }
    1398              :               else
    1399              :                 {
    1400        79000 :                   if (TREE_CODE (captures[2]) == INTEGER_CST
    1401            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1402        79000 :  && !int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    1403              : )
    1404              :                     {
    1405            0 :                       {
    1406            0 :  tree min = lower_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1407            0 :  tree max = upper_bound_in_type (TREE_TYPE (captures[3]), TREE_TYPE (captures[1]));
    1408            0 :  bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, captures[2]));
    1409            0 :  bool below = integer_nonzerop (const_binop (LT_EXPR, type, captures[2], min));
    1410            0 :                           if (above || below
    1411              : )
    1412              :                             {
    1413            0 :                               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1414              : )
    1415              :                                 {
    1416            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail482;
    1417            0 :                                   {
    1418            0 :                                     tree _r;
    1419            0 :                                     _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
    1420            0 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1421            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1422            0 :                                     if (TREE_SIDE_EFFECTS (captures[3]))
    1423            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1424            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 393, __FILE__, __LINE__, true);
    1425            0 :                                     return _r;
    1426              :                                   }
    1427            0 : next_after_fail482:;
    1428              :                                 }
    1429              :                               else
    1430              :                                 {
    1431            0 :                                   if (cmp == LT_EXPR || cmp == LE_EXPR
    1432              : )
    1433              :                                     {
    1434            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail483;
    1435            0 :                                       {
    1436            0 :                                         tree _r;
    1437            0 :                                         _r =  constant_boolean_node (above ? true : false, type);
    1438            0 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1439            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1440            0 :                                         if (TREE_SIDE_EFFECTS (captures[3]))
    1441            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1442            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 394, __FILE__, __LINE__, true);
    1443            0 :                                         return _r;
    1444              :                                       }
    1445            0 : next_after_fail483:;
    1446              :                                     }
    1447              :                                   else
    1448              :                                     {
    1449            0 :                                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1450              : )
    1451              :                                         {
    1452            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail484;
    1453            0 :                                           {
    1454            0 :                                             tree _r;
    1455            0 :                                             _r =  constant_boolean_node (above ? false : true, type);
    1456            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1457            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1458            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
    1459            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1460            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 395, __FILE__, __LINE__, true);
    1461            0 :                                             return _r;
    1462              :                                           }
    1463            0 : next_after_fail484:;
    1464              :                                         }
    1465              :                                     }
    1466              :                                 }
    1467              :                             }
    1468              :                       }
    1469              :                     }
    1470              :                 }
    1471              :             }
    1472              :         }
    1473              :     }
    1474              :   else
    1475              :     {
    1476      7247691 :       if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
    1477        84668 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1478        42334 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1])))
    1479      3729667 :  && (DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1480        42330 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[3])))
    1481              : )
    1482              :         {
    1483        42326 :           {
    1484        42326 :  tree type1 = TREE_TYPE (captures[3]);
    1485        42326 :  if (TREE_CODE (captures[3]) == REAL_CST && !DECIMAL_FLOAT_TYPE_P (type1))
    1486              :  {
    1487            0 :  REAL_VALUE_TYPE orig = TREE_REAL_CST (captures[3]);
    1488            0 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (float_type_node)
    1489            0 :  && exact_real_truncate (TYPE_MODE (float_type_node), &orig))
    1490            0 :  type1 = float_type_node;
    1491            0 :  if (TYPE_PRECISION (type1) > TYPE_PRECISION (double_type_node)
    1492            0 :  && exact_real_truncate (TYPE_MODE (double_type_node), &orig))
    1493            0 :  type1 = double_type_node;
    1494              :  }
    1495        42326 :  tree newtype
    1496        42326 :  = (element_precision (TREE_TYPE (captures[1])) > element_precision (type1)
    1497        42326 :  ? TREE_TYPE (captures[1]) : type1);
    1498        42326 :               if (element_precision (TREE_TYPE (captures[0])) > element_precision (newtype)
    1499        42326 :  && (!VECTOR_TYPE_P (type) || is_truth_type_for (newtype, type))
    1500              : )
    1501              :                 {
    1502         1527 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail485;
    1503         1527 :                   {
    1504         1527 :                     tree res_op0;
    1505         1527 :                     {
    1506         1527 :                       tree _o1[1], _r1;
    1507         1527 :                       _o1[0] = captures[1];
    1508         1527 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1509              :                         {
    1510            9 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1511              :                         }
    1512              :                       else
    1513              :                         _r1 = _o1[0];
    1514         1527 :                       res_op0 = _r1;
    1515              :                     }
    1516         1527 :                     tree res_op1;
    1517         1527 :                     {
    1518         1527 :                       tree _o1[1], _r1;
    1519         1527 :                       _o1[0] = captures[3];
    1520         1527 :                       if (TREE_TYPE (_o1[0]) != newtype)
    1521              :                         {
    1522            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    1523              :                         }
    1524              :                       else
    1525              :                         _r1 = _o1[0];
    1526         1527 :                       res_op1 = _r1;
    1527              :                     }
    1528         1527 :                     tree _r;
    1529         1527 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1530         1527 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 396, __FILE__, __LINE__, true);
    1531         1527 :                     return _r;
    1532              :                   }
    1533            0 : next_after_fail485:;
    1534              :                 }
    1535              :           }
    1536              :         }
    1537              :     }
    1538              :   return NULL_TREE;
    1539              : }
    1540              : 
    1541              : tree
    1542          374 : generic_simplify_293 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1543              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1544              :  const enum tree_code ARG_UNUSED (op),
    1545              :  const combined_fn ARG_UNUSED (ctz))
    1546              : {
    1547          374 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1548          374 :   {
    1549          374 :  tree type0 = TREE_TYPE (captures[1]);
    1550          374 :  int prec = TYPE_PRECISION (type0);
    1551          374 :  bool ok = true;
    1552          374 :  if (sanitize_flags_p (SANITIZE_BUILTIN)
    1553          374 :  && (!cfun
    1554           64 :  || (cfun->curr_properties & PROP_ssa) == 0))
    1555              :  ok = false;
    1556          620 :       if (ok && prec <= MAX_FIXED_MODE_SIZE
    1557              : )
    1558              :         {
    1559          310 :           if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) >= prec
    1560              : )
    1561              :             {
    1562           36 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail552;
    1563           36 :               {
    1564           36 :                 tree _r;
    1565           36 :                 _r =  constant_boolean_node (op == EQ_EXPR ? false : true, type);
    1566           36 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1567            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1568           36 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1569            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1570           36 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 446, __FILE__, __LINE__, true);
    1571          310 :                 return _r;
    1572              :               }
    1573            0 : next_after_fail552:;
    1574              :             }
    1575              :           else
    1576              :             {
    1577          274 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail553;
    1578          274 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail553;
    1579          274 :               {
    1580          274 :                 tree res_op0;
    1581          274 :                 {
    1582          274 :                   tree _o1[2], _r1;
    1583          274 :                   _o1[0] = captures[1];
    1584          274 :                   _o1[1] =  wide_int_to_tree (type0,
    1585          274 :  wi::mask (tree_to_uhwi (captures[2]) + 1,
    1586              :  false, prec));
    1587          274 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1588          274 :                   res_op0 = _r1;
    1589              :                 }
    1590          274 :                 tree res_op1;
    1591          274 :                 res_op1 =  wide_int_to_tree (type0,
    1592          274 :  wi::shifted_mask (tree_to_uhwi (captures[2]), 1,
    1593              :  false, prec));
    1594          274 :                 tree _r;
    1595          274 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1596          274 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 447, __FILE__, __LINE__, true);
    1597          274 :                 return _r;
    1598              :               }
    1599           64 : next_after_fail553:;
    1600              :             }
    1601              :         }
    1602              :   }
    1603           64 :   return NULL_TREE;
    1604              : }
    1605              : 
    1606              : tree
    1607            0 : generic_simplify_303 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1608              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1609              :  const combined_fn ARG_UNUSED (copysigns))
    1610              : {
    1611            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1612            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail567;
    1613            0 :   {
    1614            0 :     tree res_op0;
    1615            0 :     res_op0 = captures[0];
    1616            0 :     tree res_op1;
    1617            0 :     res_op1 = captures[2];
    1618            0 :     tree _r;
    1619            0 :     _r = maybe_build_call_expr_loc (loc, copysigns, type, 2, res_op0, res_op1);
    1620            0 :     if (!_r)
    1621            0 :       goto next_after_fail567;
    1622            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1623            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1624            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 461, __FILE__, __LINE__, true);
    1625              :     return _r;
    1626              :   }
    1627              : next_after_fail567:;
    1628              :   return NULL_TREE;
    1629              : }
    1630              : 
    1631              : tree
    1632        14354 : generic_simplify_311 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1633              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1634              :  const enum tree_code ARG_UNUSED (div))
    1635              : {
    1636        14354 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1637        14354 :   if (INTEGRAL_TYPE_P (type)
    1638        14332 :  && ssa_name_has_boolean_range (captures[1])
    1639        14354 :  && !flag_non_call_exceptions
    1640              : )
    1641              :     {
    1642            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail577;
    1643            0 :       {
    1644            0 :         tree _r;
    1645            0 :         _r = captures[0];
    1646            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1647            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1648            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 469, __FILE__, __LINE__, true);
    1649            0 :         return _r;
    1650              :       }
    1651            0 : next_after_fail577:;
    1652              :     }
    1653              :   return NULL_TREE;
    1654              : }
    1655              : 
    1656              : tree
    1657        23019 : generic_simplify_317 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1658              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1659              :  const enum tree_code ARG_UNUSED (div))
    1660              : {
    1661        23019 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1662        23019 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1663              : )
    1664              :     {
    1665        22871 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail584;
    1666        22871 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail584;
    1667        22871 :       {
    1668        22871 :         tree res_op0;
    1669        22871 :         res_op0 = captures[0];
    1670        22871 :         tree res_op1;
    1671        22871 :         res_op1 =  wide_int_to_tree
    1672        45742 :  (type, wi::mask (TYPE_PRECISION (type)
    1673        22871 :  - wi::exact_log2 (wi::to_wide (captures[1])),
    1674        22871 :  false, TYPE_PRECISION (type)));
    1675        22871 :         tree _r;
    1676        22871 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    1677        22871 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 476, __FILE__, __LINE__, true);
    1678        22871 :         return _r;
    1679              :       }
    1680              : next_after_fail584:;
    1681              :     }
    1682              :   return NULL_TREE;
    1683              : }
    1684              : 
    1685              : tree
    1686       216139 : generic_simplify_322 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1687              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1688              :  const enum tree_code ARG_UNUSED (mod))
    1689              : {
    1690       216139 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1691       216139 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail589;
    1692       216139 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail589;
    1693       216139 :   {
    1694       216139 :     tree _r;
    1695       216139 :     _r =  build_zero_cst (type);
    1696       216139 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1697           47 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1698       216139 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 481, __FILE__, __LINE__, true);
    1699              :     return _r;
    1700              :   }
    1701              : next_after_fail589:;
    1702              :   return NULL_TREE;
    1703              : }
    1704              : 
    1705              : tree
    1706            0 : generic_simplify_330 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1707              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1708              :  const combined_fn ARG_UNUSED (SQRT))
    1709              : {
    1710            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1711            0 :   if (flag_unsafe_math_optimizations
    1712              : )
    1713              :     {
    1714            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail599;
    1715            0 :       {
    1716            0 :         tree res_op0;
    1717            0 :         res_op0 = captures[0];
    1718            0 :         tree _r;
    1719            0 :         _r = maybe_build_call_expr_loc (loc, SQRT, type, 1, res_op0);
    1720            0 :         if (!_r)
    1721            0 :           goto next_after_fail599;
    1722            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 491, __FILE__, __LINE__, true);
    1723            0 :         return _r;
    1724              :       }
    1725              : next_after_fail599:;
    1726              :     }
    1727              :   return NULL_TREE;
    1728              : }
    1729              : 
    1730              : tree
    1731            4 : generic_simplify_337 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1732              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1733              :  const combined_fn ARG_UNUSED (POW))
    1734              : {
    1735            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1736            4 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1737              : )
    1738              :     {
    1739            4 :       if (!TREE_OVERFLOW (captures[2])
    1740              : )
    1741              :         {
    1742            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail606;
    1743            4 :           {
    1744            4 :             tree res_op0;
    1745            4 :             res_op0 = captures[1];
    1746            4 :             tree res_op1;
    1747            4 :             {
    1748            4 :               tree _o1[2], _r1;
    1749            4 :               _o1[0] = captures[2];
    1750            4 :               _o1[1] =  build_one_cst (type);
    1751            4 :               _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1752            4 :               res_op1 = _r1;
    1753              :             }
    1754            4 :             tree _r;
    1755            4 :             _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
    1756            4 :             if (!_r)
    1757            0 :               goto next_after_fail606;
    1758            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 498, __FILE__, __LINE__, true);
    1759            4 :             return _r;
    1760              :           }
    1761              : next_after_fail606:;
    1762              :         }
    1763              :     }
    1764              :   return NULL_TREE;
    1765              : }
    1766              : 
    1767              : tree
    1768         1631 : generic_simplify_346 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1769              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1770              : {
    1771         1631 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1772         1631 :   if (INTEGRAL_TYPE_P (type)
    1773              : )
    1774              :     {
    1775         1631 :       {
    1776         1631 :  tree itype = TREE_TYPE (captures[2]);
    1777         1631 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail621;
    1778         1631 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail621;
    1779         1631 :           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail621;
    1780         1631 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail621;
    1781         1631 :           {
    1782         1631 :             tree res_op0;
    1783         1631 :             {
    1784         1631 :               tree _o1[2], _r1;
    1785         1631 :               _o1[0] = captures[2];
    1786         1631 :               {
    1787         1631 :                 tree _o2[1], _r2;
    1788         1631 :                 _o2[0] = captures[0];
    1789         1631 :                 if (TREE_TYPE (_o2[0]) != itype)
    1790              :                   {
    1791         1630 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    1792              :                   }
    1793              :                 else
    1794              :                   _r2 = _o2[0];
    1795         1631 :                 _o1[1] = _r2;
    1796              :               }
    1797         1631 :               _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1798         1631 :               res_op0 = _r1;
    1799              :             }
    1800         1631 :             tree _r;
    1801         1631 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1802         1631 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 513, __FILE__, __LINE__, true);
    1803         1631 :             return _r;
    1804              :           }
    1805              : next_after_fail621:;
    1806              :       }
    1807              :     }
    1808              :   return NULL_TREE;
    1809              : }
    1810              : 
    1811              : tree
    1812           36 : generic_simplify_351 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1813              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1814              :  const enum tree_code ARG_UNUSED (op))
    1815              : {
    1816           36 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1817           36 :   {
    1818           36 :  auto c1 = wi::to_wide (captures[1]);
    1819           36 :  auto c2 = wi::to_wide (captures[2]);
    1820           36 :       if (wi::popcount (c1) == 1
    1821          120 :  && ((op == PLUS_EXPR && wi::eq_p (wi::neg (c2), c1))
    1822           48 :  || (op == BIT_AND_EXPR && wi::eq_p (wi::bit_not (c2), c1)))
    1823              : )
    1824              :         {
    1825           24 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail626;
    1826           24 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail626;
    1827           24 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail626;
    1828           24 :           {
    1829           24 :             tree res_op0;
    1830           24 :             res_op0 = captures[0];
    1831           24 :             tree res_op1;
    1832           24 :             res_op1 = captures[1];
    1833           24 :             tree _r;
    1834           24 :             _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    1835           24 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 517, __FILE__, __LINE__, true);
    1836           24 :             return _r;
    1837              :           }
    1838           12 : next_after_fail626:;
    1839              :         }
    1840              :   }
    1841           12 :   return NULL_TREE;
    1842              : }
    1843              : 
    1844              : tree
    1845            0 : generic_simplify_362 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1846              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1847              :  const enum tree_code ARG_UNUSED (cmp))
    1848              : {
    1849            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1850            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail637;
    1851            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail637;
    1852            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail637;
    1853            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail637;
    1854            0 :   {
    1855            0 :     tree _r;
    1856            0 :     _r = captures[3];
    1857            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 528, __FILE__, __LINE__, true);
    1858              :     return _r;
    1859              :   }
    1860              : next_after_fail637:;
    1861              :   return NULL_TREE;
    1862              : }
    1863              : 
    1864              : tree
    1865           17 : generic_simplify_369 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1866              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1867              :  const enum tree_code ARG_UNUSED (cmp))
    1868              : {
    1869           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1870           17 :   if (INTEGRAL_TYPE_P (type)
    1871           17 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1872           17 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1873           34 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
    1874              : )
    1875              :     {
    1876           17 :       {
    1877           17 :  tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
    1878           17 :           if (cmp == GE_EXPR
    1879              : )
    1880              :             {
    1881            9 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail646;
    1882            9 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail646;
    1883            9 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail646;
    1884            9 :               {
    1885            9 :                 tree res_op0;
    1886            9 :                 {
    1887            9 :                   tree _o1[1], _r1;
    1888            9 :                   {
    1889            9 :                     tree _o2[2], _r2;
    1890            9 :                     _o2[0] = captures[0];
    1891            9 :                     _o2[1] = shifter;
    1892            9 :                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1893            9 :                     _o1[0] = _r2;
    1894              :                   }
    1895            9 :                   if (TREE_TYPE (_o1[0]) != type)
    1896              :                     {
    1897            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1898              :                     }
    1899              :                   else
    1900              :                     _r1 = _o1[0];
    1901            9 :                   res_op0 = _r1;
    1902              :                 }
    1903            9 :                 tree res_op1;
    1904            9 :                 res_op1 = captures[1];
    1905            9 :                 tree _r;
    1906            9 :                 _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    1907            9 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 536, __FILE__, __LINE__, true);
    1908            9 :                 return _r;
    1909              :               }
    1910              : next_after_fail646:;
    1911              :             }
    1912              :           else
    1913              :             {
    1914            8 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail647;
    1915            8 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail647;
    1916            8 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail647;
    1917            8 :               {
    1918            8 :                 tree res_op0;
    1919            8 :                 {
    1920            8 :                   tree _o1[2], _r1;
    1921            8 :                   {
    1922            8 :                     tree _o2[1], _r2;
    1923            8 :                     {
    1924            8 :                       tree _o3[2], _r3;
    1925            8 :                       _o3[0] = captures[0];
    1926            8 :                       _o3[1] = shifter;
    1927            8 :                       _r3 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    1928            8 :                       _o2[0] = _r3;
    1929              :                     }
    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, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1940            8 :                   res_op0 = _r1;
    1941              :                 }
    1942            8 :                 tree _r;
    1943            8 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    1944            8 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 537, __FILE__, __LINE__, true);
    1945            8 :                 return _r;
    1946              :               }
    1947              : next_after_fail647:;
    1948              :             }
    1949              :       }
    1950              :     }
    1951              :   return NULL_TREE;
    1952              : }
    1953              : 
    1954              : tree
    1955          162 : generic_simplify_387 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1956              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1957              :  const enum tree_code ARG_UNUSED (cmp),
    1958              :  const enum tree_code ARG_UNUSED (out))
    1959              : {
    1960          162 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1961          162 :   if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    1962          162 :  && types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[0]))
    1963           90 :  && tree_nop_conversion_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
    1964          162 :  && wi::to_wide (captures[4]) != 0
    1965            0 :  && single_use (captures[1])
    1966              : )
    1967              :     {
    1968           90 :       {
    1969           90 :  unsigned int prec = TYPE_PRECISION (TREE_TYPE (captures[3]));
    1970           90 :  signop sign = TYPE_SIGN (TREE_TYPE (captures[3]));
    1971           90 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail700;
    1972           90 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail700;
    1973           90 :           {
    1974           90 :             tree res_op0;
    1975           90 :             res_op0 = captures[3];
    1976           90 :             tree res_op1;
    1977           90 :             res_op1 =  wide_int_to_tree (TREE_TYPE (captures[3]),
    1978           90 :  wi::max_value (prec, sign)
    1979          270 :  - wi::to_wide (captures[4]));
    1980           90 :             tree _r;
    1981           90 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    1982           90 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 553, __FILE__, __LINE__, true);
    1983           90 :             return _r;
    1984              :           }
    1985              : next_after_fail700:;
    1986              :       }
    1987              :     }
    1988              :   return NULL_TREE;
    1989              : }
    1990              : 
    1991              : tree
    1992            0 : generic_simplify_396 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1993              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1994              :  const enum tree_code ARG_UNUSED (op),
    1995              :  const enum tree_code ARG_UNUSED (cmp))
    1996              : {
    1997            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1998            0 :   {
    1999            0 :  bool ok = true;
    2000            0 :  HOST_WIDE_INT val = 0;
    2001            0 :  if (!tree_fits_shwi_p (captures[3]))
    2002              :  ok = false;
    2003              :  else
    2004              :  {
    2005            0 :  val = tree_to_shwi (captures[3]);
    2006            0 :  if (op == GT_EXPR || op == LE_EXPR)
    2007              :  {
    2008            0 :  if (val == HOST_WIDE_INT_MAX)
    2009              :  ok = false;
    2010              :  else
    2011            0 :  val++;
    2012              :  }
    2013              :  }
    2014            0 :  HOST_WIDE_INT zero_val = tree_to_shwi (captures[2]);
    2015            0 :  tree type0 = TREE_TYPE (captures[1]);
    2016            0 :  int prec = TYPE_PRECISION (type0);
    2017            0 :  if (prec > MAX_FIXED_MODE_SIZE)
    2018            0 :  ok = false;
    2019            0 :       if (val <= 0
    2020              : )
    2021              :         {
    2022            0 :           if (ok && zero_val >= val
    2023              : )
    2024              :             {
    2025            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail714;
    2026            0 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail714;
    2027            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail714;
    2028            0 :               {
    2029            0 :                 tree _r;
    2030            0 :                 _r =  constant_boolean_node (cmp == EQ_EXPR ? true : false, type);
    2031            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2032            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2033            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 587, __FILE__, __LINE__, true);
    2034            0 :                 return _r;
    2035              :               }
    2036              : next_after_fail714:;
    2037              :             }
    2038              :         }
    2039              :       else
    2040              :         {
    2041            0 :           if (val >= prec
    2042              : )
    2043              :             {
    2044            0 :               if (ok && zero_val < val
    2045              : )
    2046              :                 {
    2047            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail715;
    2048            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail715;
    2049            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail715;
    2050            0 :                   {
    2051            0 :                     tree _r;
    2052            0 :                     _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
    2053            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2054            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2055            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 588, __FILE__, __LINE__, true);
    2056            0 :                     return _r;
    2057              :                   }
    2058              : next_after_fail715:;
    2059              :                 }
    2060              :             }
    2061              :           else
    2062              :             {
    2063            0 :               if (ok && (zero_val < 0 || zero_val >= prec)
    2064              : )
    2065              :                 {
    2066            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail716;
    2067            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail716;
    2068            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail716;
    2069            0 :                   {
    2070            0 :                     tree res_op0;
    2071            0 :                     {
    2072            0 :                       tree _o1[2], _r1;
    2073            0 :                       _o1[0] = captures[1];
    2074            0 :                       _o1[1] =  wide_int_to_tree (type0,
    2075            0 :  wi::mask (val, false, prec));
    2076            0 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2077            0 :                       res_op0 = _r1;
    2078              :                     }
    2079            0 :                     tree res_op1;
    2080            0 :                     res_op1 =  build_zero_cst (type0);
    2081            0 :                     tree _r;
    2082            0 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2083            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 589, __FILE__, __LINE__, true);
    2084            0 :                     return _r;
    2085              :                   }
    2086              : next_after_fail716:;
    2087              :                 }
    2088              :             }
    2089              :         }
    2090              :   }
    2091              :   return NULL_TREE;
    2092              : }
    2093              : 
    2094              : tree
    2095         2326 : generic_simplify_411 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2096              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2097              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2098              : {
    2099         2326 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2100         2326 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail735;
    2101         2326 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail735;
    2102         2326 :   {
    2103         2326 :     tree res_op0;
    2104         2326 :     res_op0 = captures[0];
    2105         2326 :     tree _r;
    2106         2326 :     _r = non_lvalue_loc (loc, res_op0);
    2107         2326 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 604, __FILE__, __LINE__, true);
    2108              :     return _r;
    2109              :   }
    2110              : next_after_fail735:;
    2111              :   return NULL_TREE;
    2112              : }
    2113              : 
    2114              : tree
    2115           86 : generic_simplify_415 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2116              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2117              :  const enum tree_code ARG_UNUSED (op))
    2118              : {
    2119           86 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2120           86 :   {
    2121           86 :  unsigned int prec = element_precision (type);
    2122           86 :       if (wi::ge_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    2123           86 :  && wi::lt_p (wi::to_wide (captures[1]), prec, TYPE_SIGN (TREE_TYPE (captures[1])))
    2124           86 :  && wi::ge_p (wi::to_wide (captures[2]), 0, TYPE_SIGN (TREE_TYPE (captures[2])))
    2125          172 :  && wi::lt_p (wi::to_wide (captures[2]), prec, TYPE_SIGN (TREE_TYPE (captures[2])))
    2126              : )
    2127              :         {
    2128           86 :           {
    2129           86 :  unsigned int low = (tree_to_uhwi (captures[1])
    2130           86 :  + tree_to_uhwi (captures[2]));
    2131           86 :               if (low >= prec
    2132              : )
    2133              :                 {
    2134           25 :                   if (op == LROTATE_EXPR || op == RROTATE_EXPR
    2135              : )
    2136              :                     {
    2137            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail739;
    2138            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail739;
    2139            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail739;
    2140            0 :                       {
    2141            0 :                         tree res_op0;
    2142            0 :                         res_op0 = captures[0];
    2143            0 :                         tree res_op1;
    2144            0 :                         res_op1 =  build_int_cst (TREE_TYPE (captures[1]), low % prec);
    2145            0 :                         tree _r;
    2146            0 :                         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2147            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 607, __FILE__, __LINE__, true);
    2148           86 :                         return _r;
    2149              :                       }
    2150              : next_after_fail739:;
    2151              :                     }
    2152              :                   else
    2153              :                     {
    2154           25 :                       if (TYPE_UNSIGNED (type) || op == LSHIFT_EXPR
    2155              : )
    2156              :                         {
    2157           24 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail740;
    2158           24 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail740;
    2159           24 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail740;
    2160           24 :                           {
    2161           24 :                             tree _r;
    2162           24 :                             _r =  build_zero_cst (type);
    2163           24 :                             if (TREE_SIDE_EFFECTS (captures[0]))
    2164           14 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2165           24 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 608, __FILE__, __LINE__, true);
    2166           24 :                             return _r;
    2167              :                           }
    2168              : next_after_fail740:;
    2169              :                         }
    2170              :                       else
    2171              :                         {
    2172            1 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail741;
    2173            1 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail741;
    2174            1 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail741;
    2175            1 :                           {
    2176            1 :                             tree res_op0;
    2177            1 :                             res_op0 = captures[0];
    2178            1 :                             tree res_op1;
    2179            1 :                             res_op1 =  build_int_cst (TREE_TYPE (captures[1]), prec - 1);
    2180            1 :                             tree _r;
    2181            1 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2182            1 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 609, __FILE__, __LINE__, true);
    2183            1 :                             return _r;
    2184              :                           }
    2185              : next_after_fail741:;
    2186              :                         }
    2187              :                     }
    2188              :                 }
    2189              :               else
    2190              :                 {
    2191           61 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail742;
    2192           61 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail742;
    2193           61 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail742;
    2194           61 :                   {
    2195           61 :                     tree res_op0;
    2196           61 :                     res_op0 = captures[0];
    2197           61 :                     tree res_op1;
    2198           61 :                     res_op1 =  build_int_cst (TREE_TYPE (captures[1]), low);
    2199           61 :                     tree _r;
    2200           61 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2201           61 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 610, __FILE__, __LINE__, true);
    2202           61 :                     return _r;
    2203              :                   }
    2204              : next_after_fail742:;
    2205              :                 }
    2206              :           }
    2207              :         }
    2208              :   }
    2209            0 :   return NULL_TREE;
    2210              : }
    2211              : 
    2212              : tree
    2213            0 : generic_simplify_430 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2214              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2215              :  const combined_fn ARG_UNUSED (coss),
    2216              :  const combined_fn ARG_UNUSED (atans),
    2217              :  const combined_fn ARG_UNUSED (sqrts),
    2218              :  const combined_fn ARG_UNUSED (copysigns))
    2219              : {
    2220            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2221            0 :   {
    2222            0 :  REAL_VALUE_TYPE r_cst;
    2223            0 :  build_sinatan_real (&r_cst, type);
    2224            0 :  tree t_cst = build_real (type, r_cst);
    2225            0 :  tree t_one = build_one_cst (type);
    2226            0 :  tree t_zero = build_zero_cst (type);
    2227            0 :       if (SCALAR_FLOAT_TYPE_P (type)
    2228              : )
    2229              :         {
    2230            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail775;
    2231            0 :           {
    2232            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail775;
    2233            0 :             tree res_op0;
    2234            0 :             {
    2235            0 :               tree _o1[2], _r1;
    2236            0 :               {
    2237            0 :                 tree _o2[1], _r2;
    2238            0 :                 _o2[0] = unshare_expr (captures[1]);
    2239            0 :                 _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    2240            0 :                 _o1[0] = _r2;
    2241              :               }
    2242            0 :               _o1[1] =  t_cst;
    2243            0 :               _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    2244            0 :               res_op0 = _r1;
    2245              :             }
    2246            0 :             tree res_op1;
    2247            0 :             {
    2248            0 :               tree _o1[2], _r1;
    2249            0 :               _o1[0] =  t_one;
    2250            0 :               {
    2251            0 :                 tree _o2[1], _r2;
    2252            0 :                 {
    2253            0 :                   tree _o3[2], _r3;
    2254            0 :                   {
    2255            0 :                     tree _o4[2], _r4;
    2256            0 :                     _o4[0] = unshare_expr (captures[1]);
    2257            0 :                     _o4[1] = unshare_expr (captures[1]);
    2258            0 :                     _r4 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
    2259            0 :                     _o3[0] = _r4;
    2260              :                   }
    2261            0 :                   _o3[1] =  t_one;
    2262            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2263            0 :                   _o2[0] = _r3;
    2264              :                 }
    2265            0 :                 _r2 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o2[0]), 1, _o2[0]);
    2266            0 :                 if (!_r2)
    2267            0 :                   goto next_after_fail775;
    2268            0 :                 _o1[1] = _r2;
    2269              :               }
    2270            0 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2271            0 :               res_op1 = _r1;
    2272              :             }
    2273            0 :             tree res_op2;
    2274            0 :             {
    2275            0 :               tree _o1[2], _r1;
    2276            0 :               _o1[0] =  t_zero;
    2277            0 :               _o1[1] = captures[1];
    2278            0 :               _r1 = maybe_build_call_expr_loc (loc, copysigns, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
    2279            0 :               if (!_r1)
    2280            0 :                 goto next_after_fail775;
    2281            0 :               res_op2 = _r1;
    2282              :             }
    2283            0 :             tree _r;
    2284            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2285            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 630, __FILE__, __LINE__, true);
    2286            0 :             return _r;
    2287              :           }
    2288            0 : next_after_fail775:;
    2289              :         }
    2290              :   }
    2291            0 :   return NULL_TREE;
    2292              : }
    2293              : 
    2294              : tree
    2295            0 : generic_simplify_436 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2296              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2297              : {
    2298            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2299            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail781;
    2300            0 :   {
    2301            0 :     tree _r;
    2302            0 :     _r = captures[0];
    2303            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2304            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2305            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 636, __FILE__, __LINE__, true);
    2306              :     return _r;
    2307              :   }
    2308            0 : next_after_fail781:;
    2309            0 :   return NULL_TREE;
    2310              : }
    2311              : 
    2312              : tree
    2313            0 : generic_simplify_440 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2314              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2315              :  const combined_fn ARG_UNUSED (HYPOT))
    2316              : {
    2317            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2318            0 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    2319              : )
    2320              :     {
    2321            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail785;
    2322            0 :       {
    2323            0 :         tree res_op0;
    2324            0 :         {
    2325            0 :           tree _o1[1], _r1;
    2326            0 :           _o1[0] = captures[0];
    2327            0 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2328            0 :           res_op0 = _r1;
    2329              :         }
    2330            0 :         tree res_op1;
    2331            0 :         res_op1 =  build_real_truncate (type, dconst_sqrt2 ());
    2332            0 :         tree _r;
    2333            0 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2334            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 640, __FILE__, __LINE__, true);
    2335            0 :         return _r;
    2336              :       }
    2337            0 : next_after_fail785:;
    2338              :     }
    2339              :   return NULL_TREE;
    2340              : }
    2341              : 
    2342              : tree
    2343            1 : generic_simplify_445 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2344              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2345              : {
    2346            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2347            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail790;
    2348            1 :   {
    2349            1 :     tree res_op0;
    2350            1 :     res_op0 = captures[0];
    2351            1 :     tree res_op1;
    2352            1 :     res_op1 = captures[1];
    2353            1 :     tree _r;
    2354            1 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2355            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 645, __FILE__, __LINE__, true);
    2356              :     return _r;
    2357              :   }
    2358            0 : next_after_fail790:;
    2359            0 :   return NULL_TREE;
    2360              : }
    2361              : 
    2362              : tree
    2363       923170 : generic_simplify_451 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2364              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2365              :  const enum tree_code ARG_UNUSED (op))
    2366              : {
    2367       923170 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2368       923170 :   {
    2369       923170 :  tree pmop[2];
    2370       923170 :  tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[3], op, captures[1], ERROR_MARK,
    2371              :  NULL_TREE, NULL_TREE, captures[2], ERROR_MARK,
    2372              :  NULL_TREE, NULL_TREE, pmop);
    2373       923170 :       if (utype
    2374              : )
    2375              :         {
    2376       329952 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail796;
    2377       329952 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail796;
    2378       329952 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail796;
    2379       329952 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail796;
    2380       329952 :           {
    2381       329952 :             tree res_op0;
    2382       329952 :             {
    2383       329952 :               tree _o1[2], _r1;
    2384       329952 :               {
    2385       329952 :                 tree _o2[2], _r2;
    2386       329952 :                 {
    2387       329952 :                   tree _o3[1], _r3;
    2388       329952 :                   _o3[0] =  pmop[0];
    2389       329952 :                   if (TREE_TYPE (_o3[0]) != utype)
    2390              :                     {
    2391          198 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2392              :                     }
    2393              :                   else
    2394              :                     _r3 = _o3[0];
    2395       329952 :                   _o2[0] = _r3;
    2396              :                 }
    2397       329952 :                 {
    2398       329952 :                   tree _o3[1], _r3;
    2399       329952 :                   _o3[0] =  pmop[1];
    2400       329952 :                   if (TREE_TYPE (_o3[0]) != utype)
    2401              :                     {
    2402          198 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2403              :                     }
    2404              :                   else
    2405              :                     _r3 = _o3[0];
    2406       329952 :                   _o2[1] = _r3;
    2407              :                 }
    2408       329952 :                 _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2409       329952 :                 _o1[0] = _r2;
    2410              :               }
    2411       329952 :               {
    2412       329952 :                 tree _o2[1], _r2;
    2413       329952 :                 _o2[0] = captures[3];
    2414       329952 :                 if (TREE_TYPE (_o2[0]) != utype)
    2415              :                   {
    2416          204 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2417              :                   }
    2418              :                 else
    2419              :                   _r2 = _o2[0];
    2420       329952 :                 _o1[1] = _r2;
    2421              :               }
    2422       329952 :               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2423       329952 :               res_op0 = _r1;
    2424              :             }
    2425       329952 :             tree _r;
    2426       329952 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2427       329952 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 650, __FILE__, __LINE__, true);
    2428       329952 :             return _r;
    2429              :           }
    2430       593218 : next_after_fail796:;
    2431              :         }
    2432              :   }
    2433       593218 :   return NULL_TREE;
    2434              : }
    2435              : 
    2436              : tree
    2437          111 : generic_simplify_466 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2438              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2439              :  const enum tree_code ARG_UNUSED (code2),
    2440              :  const enum tree_code ARG_UNUSED (code1))
    2441              : {
    2442          111 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2443          111 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2444           47 :  && TREE_CODE (captures[4]) == INTEGER_CST)
    2445          111 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2446           14 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2447            4 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2448           10 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2449           54 :  && operand_equal_p (captures[2], captures[4]))
    2450              : )
    2451              :     {
    2452           51 :       {
    2453           51 :  int cmp = 0;
    2454           51 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2455           47 :  && TREE_CODE (captures[4]) == INTEGER_CST)
    2456           47 :  cmp = tree_int_cst_compare (captures[2], captures[4]);
    2457           51 :           if ((code1 == LT_EXPR || code1 == LE_EXPR)
    2458            4 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
    2459              : )
    2460              :             {
    2461            0 :               if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
    2462              : )
    2463              :                 {
    2464            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail825;
    2465            0 :                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail825;
    2466            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail825;
    2467            0 :                   {
    2468            0 :                     tree _r;
    2469            0 :                     _r = captures[0];
    2470            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 671, __FILE__, __LINE__, true);
    2471            0 :                     return _r;
    2472              :                   }
    2473              : next_after_fail825:;
    2474              :                 }
    2475              :               else
    2476              :                 {
    2477            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail826;
    2478            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail826;
    2479            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail826;
    2480            0 :                   {
    2481            0 :                     tree _r;
    2482            0 :                     _r = captures[3];
    2483            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 672, __FILE__, __LINE__, true);
    2484            0 :                     return _r;
    2485              :                   }
    2486              : next_after_fail826:;
    2487              :                 }
    2488              :             }
    2489              :           else
    2490              :             {
    2491           51 :               if ((code1 == GT_EXPR || code1 == GE_EXPR)
    2492           47 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
    2493              : )
    2494              :                 {
    2495            0 :                   if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
    2496              : )
    2497              :                     {
    2498            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail827;
    2499            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail827;
    2500            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail827;
    2501            0 :                       {
    2502            0 :                         tree _r;
    2503            0 :                         _r = captures[0];
    2504            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 673, __FILE__, __LINE__, true);
    2505            0 :                         return _r;
    2506              :                       }
    2507              : next_after_fail827:;
    2508              :                     }
    2509              :                   else
    2510              :                     {
    2511            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail828;
    2512            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail828;
    2513            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail828;
    2514            0 :                       {
    2515            0 :                         tree _r;
    2516            0 :                         _r = captures[3];
    2517            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 674, __FILE__, __LINE__, true);
    2518            0 :                         return _r;
    2519              :                       }
    2520              : next_after_fail828:;
    2521              :                     }
    2522              :                 }
    2523              :               else
    2524              :                 {
    2525           51 :                   if (cmp == 0
    2526            4 :  && ((code1 == LE_EXPR && code2 == GE_EXPR)
    2527            4 :  || (code1 == GE_EXPR && code2 == LE_EXPR))
    2528              : )
    2529              :                     {
    2530            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail829;
    2531            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail829;
    2532            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail829;
    2533            0 :                       {
    2534            0 :                         tree res_op0;
    2535            0 :                         res_op0 = captures[1];
    2536            0 :                         tree res_op1;
    2537            0 :                         res_op1 = captures[2];
    2538            0 :                         tree _r;
    2539            0 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2540            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 675, __FILE__, __LINE__, true);
    2541            0 :                         return _r;
    2542              :                       }
    2543              : next_after_fail829:;
    2544              :                     }
    2545              :                   else
    2546              :                     {
    2547           51 :                       if (cmp <= 0
    2548           50 :  && (code1 == LT_EXPR || code1 == LE_EXPR)
    2549            4 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
    2550              : )
    2551              :                         {
    2552            4 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail830;
    2553            4 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail830;
    2554            4 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail830;
    2555            4 :                           {
    2556            4 :                             tree _r;
    2557            4 :                             _r =  constant_boolean_node (false, type);
    2558            4 :                             if (TREE_SIDE_EFFECTS (captures[1]))
    2559            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2560            4 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 676, __FILE__, __LINE__, true);
    2561            4 :                             return _r;
    2562              :                           }
    2563              : next_after_fail830:;
    2564              :                         }
    2565              :                       else
    2566              :                         {
    2567           46 :                           if (cmp >= 0
    2568            1 :  && (code1 == GT_EXPR || code1 == GE_EXPR)
    2569            1 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
    2570              : )
    2571              :                             {
    2572            1 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail831;
    2573            1 :                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail831;
    2574            1 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail831;
    2575            1 :                               {
    2576            1 :                                 tree _r;
    2577            1 :                                 _r =  constant_boolean_node (false, type);
    2578            1 :                                 if (TREE_SIDE_EFFECTS (captures[1]))
    2579            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2580            1 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 677, __FILE__, __LINE__, true);
    2581            1 :                                 return _r;
    2582              :                               }
    2583              : next_after_fail831:;
    2584              :                             }
    2585              :                         }
    2586              :                     }
    2587              :                 }
    2588              :             }
    2589              :       }
    2590              :     }
    2591              :   return NULL_TREE;
    2592              : }
    2593              : 
    2594              : tree
    2595           34 : generic_simplify_483 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2596              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2597              :  const combined_fn ARG_UNUSED (bswap))
    2598              : {
    2599           34 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2600           34 :   if (BITS_PER_UNIT == 8
    2601           34 :  && tree_fits_uhwi_p (captures[2])
    2602           34 :  && tree_to_uhwi (captures[2]) < 256
    2603              : )
    2604              :     {
    2605           32 :       {
    2606           32 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[0]));
    2607           32 :  tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
    2608           32 :  tree nst = build_int_cst (integer_type_node, prec - 8);
    2609           32 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail871;
    2610           32 :           {
    2611           32 :             tree res_op0;
    2612           32 :             {
    2613           32 :               tree _o1[1], _r1;
    2614           32 :               {
    2615           32 :                 tree _o2[2], _r2;
    2616           32 :                 {
    2617           32 :                   tree _o3[1], _r3;
    2618           32 :                   _o3[0] = captures[1];
    2619           32 :                   if (TREE_TYPE (_o3[0]) != utype)
    2620              :                     {
    2621            0 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2622              :                     }
    2623              :                   else
    2624              :                     _r3 = _o3[0];
    2625           32 :                   _o2[0] = _r3;
    2626              :                 }
    2627           32 :                 _o2[1] = nst;
    2628           32 :                 _r2 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o2[0], _o2[1]);
    2629           32 :                 _o1[0] = _r2;
    2630              :               }
    2631           32 :               if (TREE_TYPE (_o1[0]) != type)
    2632              :                 {
    2633           18 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2634              :                 }
    2635              :               else
    2636              :                 _r1 = _o1[0];
    2637           32 :               res_op0 = _r1;
    2638              :             }
    2639           32 :             tree res_op1;
    2640           32 :             res_op1 = captures[2];
    2641           32 :             tree _r;
    2642           32 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2643           32 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 687, __FILE__, __LINE__, true);
    2644           32 :             return _r;
    2645              :           }
    2646            0 : next_after_fail871:;
    2647              :       }
    2648              :     }
    2649              :   return NULL_TREE;
    2650              : }
    2651              : 
    2652              : tree
    2653            0 : generic_simplify_486 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2654              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2655              : {
    2656            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2657            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail874;
    2658            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail874;
    2659            0 :   {
    2660            0 :     tree _r;
    2661            0 :     _r = captures[1];
    2662            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 689, __FILE__, __LINE__, true);
    2663              :     return _r;
    2664              :   }
    2665              : next_after_fail874:;
    2666              :   return NULL_TREE;
    2667              : }
    2668              : 
    2669              : tree
    2670           28 : generic_simplify_491 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2671              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2672              : {
    2673           28 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2674           28 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
    2675           28 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2676              : )
    2677              :     {
    2678           28 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail880;
    2679           28 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail880;
    2680           28 :       {
    2681           28 :         tree res_op0;
    2682           28 :         {
    2683           28 :           tree _o1[1], _r1;
    2684           28 :           _o1[0] = captures[0];
    2685           28 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2686           28 :           res_op0 = _r1;
    2687              :         }
    2688           28 :         tree _r;
    2689           28 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2690           28 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 695, __FILE__, __LINE__, true);
    2691           28 :         return _r;
    2692              :       }
    2693              : next_after_fail880:;
    2694              :     }
    2695              :   return NULL_TREE;
    2696              : }
    2697              : 
    2698              : tree
    2699            0 : generic_simplify_499 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2700              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2701              :  const enum tree_code ARG_UNUSED (rotate))
    2702              : {
    2703            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2704            0 :   if ((element_precision (TREE_TYPE (captures[2]))
    2705            0 :  <= element_precision (TREE_TYPE (captures[3]))
    2706            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2707            0 :  && (element_precision (type) <= element_precision (TREE_TYPE (captures[2]))
    2708            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
    2709              : )
    2710              :     {
    2711            0 :       {
    2712            0 :  tree rotate_type = TREE_TYPE (captures[2]);
    2713            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail888;
    2714            0 :           {
    2715            0 :             tree res_op0;
    2716            0 :             {
    2717            0 :               tree _o1[2], _r1;
    2718            0 :               {
    2719            0 :                 tree _o2[1], _r2;
    2720            0 :                 _o2[0] = captures[3];
    2721            0 :                 if (TREE_TYPE (_o2[0]) != rotate_type)
    2722              :                   {
    2723            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, rotate_type, _o2[0]);
    2724              :                   }
    2725              :                 else
    2726              :                   _r2 = _o2[0];
    2727            0 :                 _o1[0] = _r2;
    2728              :               }
    2729            0 :               _o1[1] = captures[4];
    2730            0 :               _r1 = fold_build2_loc (loc, rotate, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2731            0 :               res_op0 = _r1;
    2732              :             }
    2733            0 :             tree _r;
    2734            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2735            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 702, __FILE__, __LINE__, true);
    2736            0 :             return _r;
    2737              :           }
    2738            0 : next_after_fail888:;
    2739              :       }
    2740              :     }
    2741              :   return NULL_TREE;
    2742              : }
    2743              : 
    2744              : tree
    2745            0 : generic_simplify_511 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2746              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2747              :  const enum tree_code ARG_UNUSED (minmax))
    2748              : {
    2749            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2750            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail902;
    2751            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail902;
    2752            0 :   {
    2753            0 :     tree _r;
    2754            0 :     _r = captures[0];
    2755            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 715, __FILE__, __LINE__, true);
    2756              :     return _r;
    2757              :   }
    2758              : next_after_fail902:;
    2759              :   return NULL_TREE;
    2760              : }
    2761              : 
    2762              : tree
    2763            0 : generic_simplify_519 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2764              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2765              :  const enum tree_code ARG_UNUSED (minmax),
    2766              :  const enum tree_code ARG_UNUSED (maxmin))
    2767              : {
    2768            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2769            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail922;
    2770            0 :   {
    2771            0 :     tree res_op0;
    2772            0 :     {
    2773            0 :       tree _o1[2], _r1;
    2774            0 :       _o1[0] = captures[1];
    2775            0 :       _o1[1] = captures[3];
    2776            0 :       _r1 = fold_build2_loc (loc, maxmin, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2777            0 :       res_op0 = _r1;
    2778              :     }
    2779            0 :     tree _r;
    2780            0 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2781            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 722, __FILE__, __LINE__, true);
    2782              :     return _r;
    2783              :   }
    2784            0 : next_after_fail922:;
    2785            0 :   return NULL_TREE;
    2786              : }
    2787              : 
    2788              : tree
    2789            0 : generic_simplify_526 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2790              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2791              :  const combined_fn ARG_UNUSED (FMAX_ALL))
    2792              : {
    2793            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2794            0 :   if (flag_finite_math_only
    2795              : )
    2796              :     {
    2797            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail929;
    2798            0 :       {
    2799            0 :         tree res_op0;
    2800            0 :         res_op0 = captures[0];
    2801            0 :         tree res_op1;
    2802            0 :         res_op1 = captures[1];
    2803            0 :         tree _r;
    2804            0 :         _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
    2805            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 729, __FILE__, __LINE__, true);
    2806            0 :         return _r;
    2807              :       }
    2808            0 : next_after_fail929:;
    2809              :     }
    2810              :   return NULL_TREE;
    2811              : }
    2812              : 
    2813              : tree
    2814            0 : generic_simplify_531 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2815              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2816              :  const combined_fn ARG_UNUSED (bswap))
    2817              : {
    2818            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2819            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail937;
    2820            0 :   {
    2821            0 :     tree _r;
    2822            0 :     _r = captures[0];
    2823            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 737, __FILE__, __LINE__, true);
    2824              :     return _r;
    2825              :   }
    2826            0 : next_after_fail937:;
    2827            0 :   return NULL_TREE;
    2828              : }
    2829              : 
    2830              : tree
    2831            6 : generic_simplify_534 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2832              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    2833              : {
    2834            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2835            6 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail940;
    2836            6 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail940;
    2837            6 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail940;
    2838            6 :   {
    2839            6 :     tree _r;
    2840            6 :     _r = captures[2];
    2841            6 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 518, __FILE__, __LINE__, true);
    2842              :     return _r;
    2843              :   }
    2844              : next_after_fail940:;
    2845              :   return NULL_TREE;
    2846              : }
    2847              : 
    2848              : tree
    2849            0 : generic_simplify_542 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2850              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2851              :  const combined_fn ARG_UNUSED (cond_op))
    2852              : {
    2853            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2854            0 :   {
    2855            0 :  tree op_type = TREE_TYPE (captures[6]);
    2856            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2857            0 :  && element_precision (type) == element_precision (op_type)
    2858              : )
    2859              :         {
    2860            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail948;
    2861            0 :           {
    2862            0 :             tree res_op0;
    2863            0 :             {
    2864            0 :               tree _o1[5], _r1;
    2865            0 :               _o1[0] = captures[2];
    2866            0 :               _o1[1] = captures[3];
    2867            0 :               _o1[2] = captures[4];
    2868            0 :               _o1[3] = captures[5];
    2869            0 :               {
    2870            0 :                 tree _o2[1], _r2;
    2871            0 :                 _o2[0] = captures[1];
    2872            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2873              :                   {
    2874            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2875              :                   }
    2876              :                 else
    2877              :                   _r2 = _o2[0];
    2878            0 :                 _o1[4] = _r2;
    2879              :               }
    2880            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]);
    2881            0 :               if (!_r1)
    2882            0 :                 goto next_after_fail948;
    2883            0 :               res_op0 = _r1;
    2884              :             }
    2885            0 :             tree _r;
    2886            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2887            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2888            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2889            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
    2890            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
    2891            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 743, __FILE__, __LINE__, true);
    2892            0 :             return _r;
    2893              :           }
    2894              : next_after_fail948:;
    2895              :         }
    2896              :   }
    2897              :   return NULL_TREE;
    2898              : }
    2899              : 
    2900              : tree
    2901            0 : generic_simplify_553 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2902              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2903              :  const combined_fn ARG_UNUSED (ovf))
    2904              : {
    2905            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2906            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2907            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2908            0 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2909            0 :  && (!TYPE_UNSIGNED (TREE_TYPE (captures[1])) || TYPE_UNSIGNED (TREE_TYPE (captures[2])))
    2910              : )
    2911              :     {
    2912            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail959;
    2913            0 :       {
    2914            0 :         tree res_op0;
    2915            0 :         res_op0 = captures[0];
    2916            0 :         tree res_op1;
    2917            0 :         res_op1 = captures[2];
    2918            0 :         tree _r;
    2919            0 :         _r = maybe_build_call_expr_loc (loc, ovf, type, 2, res_op0, res_op1);
    2920            0 :         if (!_r)
    2921            0 :           goto next_after_fail959;
    2922            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 754, __FILE__, __LINE__, true);
    2923            0 :         return _r;
    2924              :       }
    2925              : next_after_fail959:;
    2926              :     }
    2927              :   return NULL_TREE;
    2928              : }
    2929              : 
    2930              : tree
    2931            0 : generic_simplify_563 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2932              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2933              :  const combined_fn ARG_UNUSED (froms),
    2934              :  const combined_fn ARG_UNUSED (tos))
    2935              : {
    2936            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2937            0 :   if (optimize && canonicalize_math_p ()
    2938              : )
    2939              :     {
    2940            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail969;
    2941            0 :       {
    2942            0 :         tree res_op0;
    2943            0 :         {
    2944            0 :           tree _o1[1], _r1;
    2945            0 :           _o1[0] = captures[0];
    2946            0 :           _r1 = maybe_build_call_expr_loc (loc, tos, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2947            0 :           if (!_r1)
    2948            0 :             goto next_after_fail969;
    2949            0 :           res_op0 = _r1;
    2950              :         }
    2951            0 :         tree _r;
    2952            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2953            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 764, __FILE__, __LINE__, true);
    2954            0 :         return _r;
    2955              :       }
    2956              : next_after_fail969:;
    2957              :     }
    2958              :   return NULL_TREE;
    2959              : }
    2960              : 
    2961              : tree
    2962            0 : generic_simplify_573 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2963              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2964              :  const combined_fn ARG_UNUSED (rints))
    2965              : {
    2966            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2967            0 :   if (canonicalize_math_p ()
    2968              : )
    2969              :     {
    2970            0 :       if (!flag_errno_math
    2971              : )
    2972              :         {
    2973            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail979;
    2974            0 :           {
    2975            0 :             tree res_op0;
    2976            0 :             res_op0 = captures[0];
    2977            0 :             tree _r;
    2978            0 :             _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    2979            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 774, __FILE__, __LINE__, true);
    2980            0 :             return _r;
    2981              :           }
    2982            0 : next_after_fail979:;
    2983              :         }
    2984              :     }
    2985              :   return NULL_TREE;
    2986              : }
    2987              : 
    2988              : tree
    2989            0 : generic_simplify_581 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2990              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    2991              : {
    2992            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2993            0 :   if (canonicalize_math_after_vectorization_p ()
    2994              : )
    2995              :     {
    2996              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail987;
    2997              :       {
    2998              :         tree res_op0;
    2999              :         res_op0 = captures[0];
    3000              :         tree res_op1;
    3001              :         res_op1 = captures[1];
    3002              :         tree res_op2;
    3003              :         res_op2 = captures[2];
    3004              :         tree _r;
    3005              :         _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3006              :         if (!_r)
    3007              :           goto next_after_fail987;
    3008              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 782, __FILE__, __LINE__, true);
    3009              :         return _r;
    3010              :       }
    3011            0 : next_after_fail987:;
    3012              :     }
    3013            0 :   return NULL_TREE;
    3014              : }
    3015              : 
    3016              : tree
    3017            0 : generic_simplify_591 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3018              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3019              : {
    3020            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3021            0 :   if (canonicalize_math_after_vectorization_p ()
    3022              : )
    3023              :     {
    3024              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail997;
    3025              :       {
    3026              :         tree res_op0;
    3027              :         res_op0 = captures[0];
    3028              :         tree res_op1;
    3029              :         res_op1 = captures[1];
    3030              :         tree res_op2;
    3031              :         res_op2 = captures[2];
    3032              :         tree res_op3;
    3033              :         res_op3 = captures[3];
    3034              :         tree res_op4;
    3035              :         res_op4 = captures[4];
    3036              :         tree _r;
    3037              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3038              :         if (!_r)
    3039              :           goto next_after_fail997;
    3040              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 792, __FILE__, __LINE__, true);
    3041              :         return _r;
    3042              :       }
    3043            0 : next_after_fail997:;
    3044              :     }
    3045            0 :   return NULL_TREE;
    3046              : }
    3047              : 
    3048              : tree
    3049            0 : generic_simplify_601 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3050              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3051              :  const enum tree_code ARG_UNUSED (rot),
    3052              :  const combined_fn ARG_UNUSED (popcount))
    3053              : {
    3054            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3055            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3056            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3057            0 :  && (
    3058              : 
    3059            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3060              : )
    3061              :     {
    3062            0 :       {
    3063            0 :  tree type0 = TREE_TYPE (captures[0]);
    3064            0 :  tree type1 = TREE_TYPE (captures[1]);
    3065            0 :  unsigned int prec0 = TYPE_PRECISION (type0);
    3066            0 :  unsigned int prec1 = TYPE_PRECISION (type1);
    3067            0 :           if (prec0 == prec1 || (prec0 > prec1 && TYPE_UNSIGNED (type1))
    3068              : )
    3069              :             {
    3070            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1007;
    3071            0 :               {
    3072            0 :                 tree res_op0;
    3073            0 :                 {
    3074            0 :                   tree _o1[1], _r1;
    3075            0 :                   _o1[0] = captures[2];
    3076            0 :                   if (TREE_TYPE (_o1[0]) != type0)
    3077              :                     {
    3078            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3079              :                     }
    3080              :                   else
    3081              :                     _r1 = _o1[0];
    3082            0 :                   res_op0 = _r1;
    3083              :                 }
    3084            0 :                 tree _r;
    3085            0 :                 _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
    3086            0 :                 if (!_r)
    3087            0 :                   goto next_after_fail1007;
    3088            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    3089            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3090            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 796, __FILE__, __LINE__, true);
    3091            0 :                 return _r;
    3092              :               }
    3093              : next_after_fail1007:;
    3094              :             }
    3095              :       }
    3096              :     }
    3097              :   return NULL_TREE;
    3098              : }
    3099              : 
    3100              : tree
    3101            0 : generic_simplify_611 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3102              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3103              : {
    3104            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3105            0 :   {
    3106            0 :  bool can_fold = false;
    3107            0 :  unsigned HOST_WIDE_INT nelts;
    3108            0 :  vec_perm_builder builder;
    3109            0 :  if (TYPE_VECTOR_SUBPARTS (type).is_constant (&nelts)
    3110            0 :  && tree_to_vec_perm_builder (&builder, captures[2]))
    3111              :  {
    3112            0 :  vec_perm_indices sel0 (builder, 2, VECTOR_CST_NELTS (captures[2]));
    3113            0 :  unsigned int sel0_first_idx = sel0[0].to_constant ();
    3114            0 :  unsigned int elt_size = vector_element_bits (TREE_TYPE (captures[0]));
    3115            0 :  unsigned int ia_size = tree_to_uhwi (TYPE_SIZE (type))
    3116            0 :  - elt_size * sel0_first_idx;
    3117            0 :  unsigned int ib_start;
    3118            0 :  if (sel0.series_p (0, 1, sel0_first_idx, 1)
    3119            0 :  && multiple_p (ia_size, vector_element_bits (type), &ib_start)
    3120            0 :  && tree_to_vec_perm_builder (&builder, captures[5]))
    3121              :  {
    3122            0 :  vec_perm_indices sel1 (builder, 2, VECTOR_CST_NELTS (captures[5]));
    3123            0 :  can_fold = sel1.series_p (ib_start, 1, nelts + ib_start, 1);
    3124            0 :  if (can_fold)
    3125            0 :  for (unsigned int i = 0; i < ib_start; i++)
    3126            0 :  if (sel1[i].to_constant () != i)
    3127              :  {
    3128              :  can_fold = false;
    3129              :  break;
    3130              :  }
    3131            0 :  }
    3132            0 :  }
    3133            0 :       if (can_fold
    3134              : )
    3135              :         {
    3136            0 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1019;
    3137            0 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1019;
    3138            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1019;
    3139            0 :           {
    3140            0 :             tree res_op0;
    3141            0 :             {
    3142            0 :               tree _o1[3], _r1;
    3143            0 :               _o1[0] = captures[0];
    3144            0 :               _o1[1] = captures[4];
    3145            0 :               _o1[2] = captures[2];
    3146            0 :               _r1 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1], _o1[2]);
    3147            0 :               res_op0 = _r1;
    3148              :             }
    3149            0 :             tree _r;
    3150            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3151            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    3152            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3153            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    3154            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3155            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 807, __FILE__, __LINE__, true);
    3156            0 :             return _r;
    3157              :           }
    3158            0 : next_after_fail1019:;
    3159              :         }
    3160            0 :   }
    3161            0 :   return NULL_TREE;
    3162              : }
    3163              : 
    3164              : tree
    3165         3677 : generic_simplify_PAREN_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3166              : {
    3167         3677 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3168         3677 :   switch (TREE_CODE (_p0))
    3169              :     {
    3170            2 :     case PAREN_EXPR:
    3171            2 :       {
    3172            2 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3173            2 :         {
    3174            2 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3175            2 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1113;
    3176            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1113;
    3177            2 :           {
    3178            2 :             tree _r;
    3179            2 :             _r = captures[0];
    3180            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 859, __FILE__, __LINE__, true);
    3181            2 :             return _r;
    3182              :           }
    3183            0 : next_after_fail1113:;
    3184              :         }
    3185            0 :         break;
    3186              :       }
    3187         3675 :     default:;
    3188              :     }
    3189         3675 : if (CONSTANT_CLASS_P (_p0))
    3190              :   {
    3191            1 :     {
    3192            1 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3193            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1114;
    3194            1 :       {
    3195            1 :         tree _r;
    3196            1 :         _r = captures[0];
    3197            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 860, __FILE__, __LINE__, true);
    3198            1 :         return _r;
    3199              :       }
    3200            0 : next_after_fail1114:;
    3201              :     }
    3202              :   }
    3203              :   return NULL_TREE;
    3204              : }
    3205              : 
    3206              : tree
    3207      1629251 : generic_simplify_REALPART_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3208              : {
    3209      1629251 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3210      1629251 :   switch (TREE_CODE (_p0))
    3211              :     {
    3212         9611 :     case COMPLEX_EXPR:
    3213         9611 :       {
    3214         9611 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3215         9611 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3216         9611 :         {
    3217         9611 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3218         9611 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1115;
    3219         9611 :           {
    3220         9611 :             tree _r;
    3221         9611 :             _r = captures[0];
    3222         9611 :             if (TREE_SIDE_EFFECTS (captures[1]))
    3223         1366 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3224         9611 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 861, __FILE__, __LINE__, true);
    3225         9611 :             return _r;
    3226              :           }
    3227            0 : next_after_fail1115:;
    3228              :         }
    3229            0 :         break;
    3230              :       }
    3231        45119 :     CASE_CONVERT:
    3232        45119 :       {
    3233        45119 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3234        45119 :         switch (TREE_CODE (_q20))
    3235              :           {
    3236            0 :           case CONJ_EXPR:
    3237            0 :             {
    3238            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3239            0 :               {
    3240            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3241            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1116;
    3242            0 :                 {
    3243            0 :                   tree res_op0;
    3244            0 :                   {
    3245            0 :                     tree _o1[1], _r1;
    3246            0 :                     _o1[0] = captures[2];
    3247            0 :                     _r1 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    3248            0 :                     res_op0 = _r1;
    3249              :                   }
    3250            0 :                   tree _r;
    3251            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3252            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 862, __FILE__, __LINE__, true);
    3253            0 :                   return _r;
    3254              :                 }
    3255            0 : next_after_fail1116:;
    3256              :               }
    3257            0 :               break;
    3258              :             }
    3259            0 :           case PLUS_EXPR:
    3260            0 :             {
    3261            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3262            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3263            0 :               {
    3264            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3265            0 :                 const enum tree_code op = PLUS_EXPR;
    3266            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1117;
    3267            0 :                 {
    3268            0 :                   tree res_op0;
    3269            0 :                   {
    3270            0 :                     tree _o1[2], _r1;
    3271            0 :                     {
    3272            0 :                       tree _o2[1], _r2;
    3273            0 :                       _o2[0] = captures[2];
    3274            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3275            0 :                       _o1[0] = _r2;
    3276              :                     }
    3277            0 :                     {
    3278            0 :                       tree _o2[1], _r2;
    3279            0 :                       _o2[0] = captures[3];
    3280            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3281            0 :                       _o1[1] = _r2;
    3282              :                     }
    3283            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3284            0 :                     res_op0 = _r1;
    3285              :                   }
    3286            0 :                   tree _r;
    3287            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3288            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3289            0 :                   return _r;
    3290              :                 }
    3291            0 : next_after_fail1117:;
    3292              :               }
    3293            0 :               break;
    3294              :             }
    3295            0 :           case MINUS_EXPR:
    3296            0 :             {
    3297            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3298            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3299            0 :               {
    3300            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3301            0 :                 const enum tree_code op = MINUS_EXPR;
    3302            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1118;
    3303            0 :                 {
    3304            0 :                   tree res_op0;
    3305            0 :                   {
    3306            0 :                     tree _o1[2], _r1;
    3307            0 :                     {
    3308            0 :                       tree _o2[1], _r2;
    3309            0 :                       _o2[0] = captures[2];
    3310            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3311            0 :                       _o1[0] = _r2;
    3312              :                     }
    3313            0 :                     {
    3314            0 :                       tree _o2[1], _r2;
    3315            0 :                       _o2[0] = captures[3];
    3316            0 :                       _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3317            0 :                       _o1[1] = _r2;
    3318              :                     }
    3319            0 :                     _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3320            0 :                     res_op0 = _r1;
    3321              :                   }
    3322            0 :                   tree _r;
    3323            0 :                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3324            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3325            0 :                   return _r;
    3326              :                 }
    3327            0 : next_after_fail1118:;
    3328              :               }
    3329            0 :               break;
    3330              :             }
    3331            0 :           case CALL_EXPR:
    3332            0 :             switch (get_call_combined_fn (_q20))
    3333              :               {
    3334            0 :               case CFN_BUILT_IN_CEXPIF:
    3335            0 :                 if (call_expr_nargs (_q20) == 1)
    3336              :     {
    3337            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3338            0 :                     {
    3339            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3340            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3341              : )
    3342              :                         {
    3343            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1119;
    3344            0 :                           {
    3345            0 :                             tree res_op0;
    3346            0 :                             {
    3347            0 :                               tree _o1[1], _r1;
    3348            0 :                               _o1[0] = captures[2];
    3349            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3350            0 :                               if (!_r1)
    3351            0 :                                 goto next_after_fail1119;
    3352            0 :                               res_op0 = _r1;
    3353              :                             }
    3354            0 :                             tree _r;
    3355            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3356            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3357            0 :                             return _r;
    3358              :                           }
    3359            0 : next_after_fail1119:;
    3360              :                         }
    3361              :                     }
    3362              :                   }
    3363              :                 break;
    3364            0 :               case CFN_BUILT_IN_CEXPIL:
    3365            0 :                 if (call_expr_nargs (_q20) == 1)
    3366              :     {
    3367            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3368            0 :                     {
    3369            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3370            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3371              : )
    3372              :                         {
    3373            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1120;
    3374            0 :                           {
    3375            0 :                             tree res_op0;
    3376            0 :                             {
    3377            0 :                               tree _o1[1], _r1;
    3378            0 :                               _o1[0] = captures[2];
    3379            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3380            0 :                               if (!_r1)
    3381            0 :                                 goto next_after_fail1120;
    3382            0 :                               res_op0 = _r1;
    3383              :                             }
    3384            0 :                             tree _r;
    3385            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3386            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3387            0 :                             return _r;
    3388              :                           }
    3389            0 : next_after_fail1120:;
    3390              :                         }
    3391              :                     }
    3392              :                   }
    3393              :                 break;
    3394            0 :               case CFN_BUILT_IN_CEXPI:
    3395            0 :                 if (call_expr_nargs (_q20) == 1)
    3396              :     {
    3397            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    3398            0 :                     {
    3399            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3400            0 :                       if (single_use (captures[1]) && single_use (captures[0])
    3401              : )
    3402              :                         {
    3403            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1121;
    3404            0 :                           {
    3405            0 :                             tree res_op0;
    3406            0 :                             {
    3407            0 :                               tree _o1[1], _r1;
    3408            0 :                               _o1[0] = captures[2];
    3409            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3410            0 :                               if (!_r1)
    3411            0 :                                 goto next_after_fail1121;
    3412            0 :                               res_op0 = _r1;
    3413              :                             }
    3414            0 :                             tree _r;
    3415            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3416            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3417            0 :                             return _r;
    3418              :                           }
    3419            0 : next_after_fail1121:;
    3420              :                         }
    3421              :                     }
    3422              :                   }
    3423              :                 break;
    3424              :               default:;
    3425              :               }
    3426              :             break;
    3427              :           default:;
    3428              :           }
    3429              :         break;
    3430              :       }
    3431           16 :     case CONJ_EXPR:
    3432           16 :       {
    3433           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3434           16 :         {
    3435           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3436           16 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1122;
    3437           16 :           {
    3438           16 :             tree res_op0;
    3439           16 :             {
    3440           16 :               tree _o1[1], _r1;
    3441           16 :               _o1[0] = captures[2];
    3442           16 :               _r1 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    3443           16 :               res_op0 = _r1;
    3444              :             }
    3445           16 :             tree _r;
    3446           16 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3447           16 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 862, __FILE__, __LINE__, true);
    3448           16 :             return _r;
    3449              :           }
    3450            0 : next_after_fail1122:;
    3451              :         }
    3452            0 :         break;
    3453              :       }
    3454          407 :     case PLUS_EXPR:
    3455          407 :       {
    3456          407 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3457          407 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3458          407 :         {
    3459          407 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3460          407 :           const enum tree_code op = PLUS_EXPR;
    3461          407 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1123;
    3462          407 :           {
    3463          407 :             tree res_op0;
    3464          407 :             {
    3465          407 :               tree _o1[2], _r1;
    3466          407 :               {
    3467          407 :                 tree _o2[1], _r2;
    3468          407 :                 _o2[0] = captures[2];
    3469          407 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3470          407 :                 _o1[0] = _r2;
    3471              :               }
    3472          407 :               {
    3473          407 :                 tree _o2[1], _r2;
    3474          407 :                 _o2[0] = captures[3];
    3475          407 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3476          407 :                 _o1[1] = _r2;
    3477              :               }
    3478          407 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3479          407 :               res_op0 = _r1;
    3480              :             }
    3481          407 :             tree _r;
    3482          407 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3483          407 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3484          407 :             return _r;
    3485              :           }
    3486            0 : next_after_fail1123:;
    3487              :         }
    3488            0 :         break;
    3489              :       }
    3490           47 :     case MINUS_EXPR:
    3491           47 :       {
    3492           47 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3493           47 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3494           47 :         {
    3495           47 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3496           47 :           const enum tree_code op = MINUS_EXPR;
    3497           47 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1124;
    3498           47 :           {
    3499           47 :             tree res_op0;
    3500           47 :             {
    3501           47 :               tree _o1[2], _r1;
    3502           47 :               {
    3503           47 :                 tree _o2[1], _r2;
    3504           47 :                 _o2[0] = captures[2];
    3505           47 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3506           47 :                 _o1[0] = _r2;
    3507              :               }
    3508           47 :               {
    3509           47 :                 tree _o2[1], _r2;
    3510           47 :                 _o2[0] = captures[3];
    3511           47 :                 _r2 = fold_build1_loc (loc, REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
    3512           47 :                 _o1[1] = _r2;
    3513              :               }
    3514           47 :               _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3515           47 :               res_op0 = _r1;
    3516              :             }
    3517           47 :             tree _r;
    3518           47 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3519           47 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3520           47 :             return _r;
    3521              :           }
    3522            0 : next_after_fail1124:;
    3523              :         }
    3524            0 :         break;
    3525              :       }
    3526          257 :     case CALL_EXPR:
    3527          257 :       switch (get_call_combined_fn (_p0))
    3528              :         {
    3529            0 :         case CFN_BUILT_IN_CEXPIF:
    3530            0 :           if (call_expr_nargs (_p0) == 1)
    3531              :     {
    3532            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3533            0 :               {
    3534            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3535            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3536              : )
    3537              :                   {
    3538            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1125;
    3539            0 :                     {
    3540            0 :                       tree res_op0;
    3541            0 :                       {
    3542            0 :                         tree _o1[1], _r1;
    3543            0 :                         _o1[0] = captures[2];
    3544            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3545            0 :                         if (!_r1)
    3546            0 :                           goto next_after_fail1125;
    3547            0 :                         res_op0 = _r1;
    3548              :                       }
    3549            0 :                       tree _r;
    3550            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3551            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3552            0 :                       return _r;
    3553              :                     }
    3554            0 : next_after_fail1125:;
    3555              :                   }
    3556              :               }
    3557              :             }
    3558              :           break;
    3559            0 :         case CFN_BUILT_IN_CEXPIL:
    3560            0 :           if (call_expr_nargs (_p0) == 1)
    3561              :     {
    3562            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3563            0 :               {
    3564            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3565            0 :                 if (single_use (captures[1]) && single_use (captures[0])
    3566              : )
    3567              :                   {
    3568            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1126;
    3569            0 :                     {
    3570            0 :                       tree res_op0;
    3571            0 :                       {
    3572            0 :                         tree _o1[1], _r1;
    3573            0 :                         _o1[0] = captures[2];
    3574            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COSL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3575            0 :                         if (!_r1)
    3576            0 :                           goto next_after_fail1126;
    3577            0 :                         res_op0 = _r1;
    3578              :                       }
    3579            0 :                       tree _r;
    3580            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3581            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3582            0 :                       return _r;
    3583              :                     }
    3584            0 : next_after_fail1126:;
    3585              :                   }
    3586              :               }
    3587              :             }
    3588              :           break;
    3589            1 :         case CFN_BUILT_IN_CEXPI:
    3590            1 :           if (call_expr_nargs (_p0) == 1)
    3591              :     {
    3592            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3593            1 :               {
    3594            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3595            1 :                 if (single_use (captures[1]) && single_use (captures[0])
    3596              : )
    3597              :                   {
    3598            1 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1127;
    3599            1 :                     {
    3600            1 :                       tree res_op0;
    3601            1 :                       {
    3602            1 :                         tree _o1[1], _r1;
    3603            1 :                         _o1[0] = captures[2];
    3604            1 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3605            1 :                         if (!_r1)
    3606            0 :                           goto next_after_fail1127;
    3607            1 :                         res_op0 = _r1;
    3608              :                       }
    3609            1 :                       tree _r;
    3610            1 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3611            1 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3612            1 :                       return _r;
    3613              :                     }
    3614            0 : next_after_fail1127:;
    3615              :                   }
    3616              :               }
    3617              :             }
    3618              :           break;
    3619              :         default:;
    3620              :         }
    3621              :       break;
    3622              :     default:;
    3623              :     }
    3624              :   return NULL_TREE;
    3625              : }
    3626              : 
    3627              : tree
    3628      4066643 : generic_simplify_POINTER_DIFF_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3629              : {
    3630      4066643 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3631      4066643 :   if (integer_zerop (_p1))
    3632              :     {
    3633           29 :       {
    3634           29 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3635           29 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1352;
    3636           29 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1352;
    3637           29 :         {
    3638           29 :           tree res_op0;
    3639           29 :           res_op0 = captures[0];
    3640           29 :           tree _r;
    3641           29 :           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3642           29 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    3643           29 :           return _r;
    3644              :         }
    3645              : next_after_fail1352:;
    3646              :       }
    3647              :     }
    3648      4066614 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _p0, 0))
    3649              :     {
    3650        42689 :       {
    3651        42689 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p0 };
    3652        42689 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1353;
    3653        42689 :         {
    3654        42689 :           tree _r;
    3655        42689 :           _r =  build_zero_cst (type);
    3656        42689 :           if (TREE_SIDE_EFFECTS (captures[1]))
    3657            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3658        42689 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 929, __FILE__, __LINE__, true);
    3659        42689 :           return _r;
    3660              :         }
    3661            0 : next_after_fail1353:;
    3662              :       }
    3663              :     }
    3664      4023925 :   switch (TREE_CODE (_p0))
    3665              :     {
    3666       379364 :     case POINTER_PLUS_EXPR:
    3667       379364 :       {
    3668       379364 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3669       379364 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3670       379364 :         switch (TREE_CODE (_p1))
    3671              :           {
    3672        18392 :           case POINTER_PLUS_EXPR:
    3673        18392 :             {
    3674        18392 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3675        18392 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3676        18392 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3677              :                 {
    3678        18361 :                   {
    3679        18361 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    3680        18361 :                     if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    3681              : )
    3682              :                       {
    3683        18361 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1354;
    3684        18361 :                         {
    3685        18361 :                           tree res_op0;
    3686        18361 :                           {
    3687        18361 :                             tree _o1[2], _r1;
    3688        18361 :                             _o1[0] = captures[1];
    3689        18361 :                             _o1[1] = captures[2];
    3690        18361 :                             _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3691        18361 :                             res_op0 = _r1;
    3692              :                           }
    3693        18361 :                           tree _r;
    3694        18361 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3695        18361 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    3696            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3697        18361 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 930, __FILE__, __LINE__, true);
    3698        18361 :                           return _r;
    3699              :                         }
    3700            0 : next_after_fail1354:;
    3701              :                       }
    3702              :                   }
    3703              :                 }
    3704           31 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3705              :                 {
    3706            1 :                   {
    3707            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    3708            1 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1355;
    3709            1 :                     {
    3710            1 :                       tree res_op0;
    3711            1 :                       res_op0 = captures[0];
    3712            1 :                       tree res_op1;
    3713            1 :                       res_op1 = captures[2];
    3714            1 :                       tree _r;
    3715            1 :                       _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
    3716            1 :                       if (TREE_SIDE_EFFECTS (captures[1]))
    3717            0 :                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3718            1 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 931, __FILE__, __LINE__, true);
    3719            1 :                       return _r;
    3720              :                     }
    3721            0 : next_after_fail1355:;
    3722              :                   }
    3723              :                 }
    3724              :               break;
    3725              :             }
    3726              :           default:;
    3727              :           }
    3728              :         break;
    3729              :       }
    3730       392849 :     CASE_CONVERT:
    3731       392849 :       {
    3732       392849 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3733       392849 :         switch (TREE_CODE (_q20))
    3734              :           {
    3735         1947 :           case ADDR_EXPR:
    3736         1947 :             {
    3737         1947 :               switch (TREE_CODE (_p1))
    3738              :                 {
    3739          324 :                 CASE_CONVERT:
    3740          324 :                   {
    3741          324 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    3742          324 :                     {
    3743          324 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    3744          324 :                       if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3745          324 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3746              : )
    3747              :                         {
    3748          324 :                           {
    3749          324 :  poly_int64 diff;
    3750          324 :                               if (ptr_difference_const (captures[1], captures[3], &diff)
    3751              : )
    3752              :                                 {
    3753          189 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1356;
    3754          189 :                                   {
    3755          189 :                                     tree _r;
    3756          189 :                                     _r =  build_int_cst_type (type, diff);
    3757          189 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    3758            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3759          189 :                                     if (TREE_SIDE_EFFECTS (captures[3]))
    3760            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3761          189 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 932, __FILE__, __LINE__, true);
    3762          189 :                                     return _r;
    3763              :                                   }
    3764            0 : next_after_fail1356:;
    3765              :                                 }
    3766              :                           }
    3767              :                         }
    3768              :                     }
    3769          135 :                     break;
    3770              :                   }
    3771         1758 :                 default:;
    3772              :                 }
    3773         1758 :               {
    3774         1758 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    3775         1758 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3776         1758 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3777              : )
    3778              :                   {
    3779         1758 :                     {
    3780         1758 :  poly_int64 diff;
    3781         1758 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    3782              : )
    3783              :                           {
    3784          103 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1357;
    3785          103 :                             {
    3786          103 :                               tree _r;
    3787          103 :                               _r =  build_int_cst_type (type, diff);
    3788          103 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    3789            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3790          103 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    3791            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3792          103 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 932, __FILE__, __LINE__, true);
    3793          103 :                               return _r;
    3794              :                             }
    3795            0 : next_after_fail1357:;
    3796              :                           }
    3797              :                     }
    3798              :                   }
    3799              :               }
    3800         1655 :               break;
    3801              :             }
    3802       392557 :           default:;
    3803              :           }
    3804       392557 :         switch (TREE_CODE (_p1))
    3805              :           {
    3806       132559 :           CASE_CONVERT:
    3807       132559 :             {
    3808       132559 :               tree _q40 = TREE_OPERAND (_p1, 0);
    3809       132559 :               switch (TREE_CODE (_q40))
    3810              :                 {
    3811        18109 :                 case ADDR_EXPR:
    3812        18109 :                   {
    3813        18109 :                     {
    3814        18109 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    3815        18109 :                       if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3816        18109 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3817              : )
    3818              :                         {
    3819        18109 :                           {
    3820        18109 :  poly_int64 diff;
    3821        18109 :                               if (ptr_difference_const (captures[1], captures[3], &diff)
    3822              : )
    3823              :                                 {
    3824           37 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1358;
    3825           37 :                                   {
    3826           37 :                                     tree _r;
    3827           37 :                                     _r =  build_int_cst_type (type, diff);
    3828           37 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    3829            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3830           37 :                                     if (TREE_SIDE_EFFECTS (captures[3]))
    3831            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3832           37 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 933, __FILE__, __LINE__, true);
    3833           37 :                                     return _r;
    3834              :                                   }
    3835            0 : next_after_fail1358:;
    3836              :                                 }
    3837              :                           }
    3838              :                         }
    3839              :                     }
    3840        18072 :                     break;
    3841              :                   }
    3842              :                 default:;
    3843              :                 }
    3844              :               break;
    3845              :             }
    3846           12 :           case ADDR_EXPR:
    3847           12 :             {
    3848           12 :               {
    3849           12 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    3850           12 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3851           12 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3852              : )
    3853              :                   {
    3854           12 :                     {
    3855           12 :  poly_int64 diff;
    3856           12 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    3857              : )
    3858              :                           {
    3859            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1359;
    3860            0 :                             {
    3861            0 :                               tree _r;
    3862            0 :                               _r =  build_int_cst_type (type, diff);
    3863            0 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    3864            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3865            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    3866            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3867            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 933, __FILE__, __LINE__, true);
    3868            0 :                               return _r;
    3869              :                             }
    3870            0 : next_after_fail1359:;
    3871              :                           }
    3872              :                     }
    3873              :                   }
    3874              :               }
    3875           12 :               break;
    3876              :             }
    3877              :           default:;
    3878              :           }
    3879              :         break;
    3880              :       }
    3881         3683 :     case ADDR_EXPR:
    3882         3683 :       {
    3883         3683 :         switch (TREE_CODE (_p1))
    3884              :           {
    3885           50 :           CASE_CONVERT:
    3886           50 :             {
    3887           50 :               tree _q30 = TREE_OPERAND (_p1, 0);
    3888           50 :               {
    3889           50 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
    3890           50 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3891           50 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3892              : )
    3893              :                   {
    3894           50 :                     {
    3895           50 :  poly_int64 diff;
    3896           50 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    3897              : )
    3898              :                           {
    3899           29 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1360;
    3900           29 :                             {
    3901           29 :                               tree _r;
    3902           29 :                               _r =  build_int_cst_type (type, diff);
    3903           29 :                               if (TREE_SIDE_EFFECTS (captures[0]))
    3904            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3905           29 :                               if (TREE_SIDE_EFFECTS (captures[3]))
    3906            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3907           29 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 932, __FILE__, __LINE__, true);
    3908           29 :                               return _r;
    3909              :                             }
    3910            0 : next_after_fail1360:;
    3911              :                           }
    3912              :                     }
    3913              :                   }
    3914              :               }
    3915           21 :               break;
    3916              :             }
    3917         3654 :           default:;
    3918              :           }
    3919         3654 :         {
    3920         3654 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
    3921         3654 :           if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3922         3654 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3923              : )
    3924              :             {
    3925         3654 :               {
    3926         3654 :  poly_int64 diff;
    3927         3654 :                   if (ptr_difference_const (captures[1], captures[3], &diff)
    3928              : )
    3929              :                     {
    3930         2374 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1361;
    3931         2374 :                       {
    3932         2374 :                         tree _r;
    3933         2374 :                         _r =  build_int_cst_type (type, diff);
    3934         2374 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    3935            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3936         2374 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    3937            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3938         2374 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 932, __FILE__, __LINE__, true);
    3939         2374 :                         return _r;
    3940              :                       }
    3941            0 : next_after_fail1361:;
    3942              :                     }
    3943              :               }
    3944              :             }
    3945              :         }
    3946         1280 :         break;
    3947              :       }
    3948      4002831 :     default:;
    3949              :     }
    3950      4002831 :   switch (TREE_CODE (_p1))
    3951              :     {
    3952       794983 :     CASE_CONVERT:
    3953       794983 :       {
    3954       794983 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3955       794983 :         switch (TREE_CODE (_q30))
    3956              :           {
    3957       587144 :           case ADDR_EXPR:
    3958       587144 :             {
    3959       587144 :               {
    3960       587144 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
    3961       587144 :                 if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3962       587144 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3963              : )
    3964              :                   {
    3965       587144 :                     {
    3966       587144 :  poly_int64 diff;
    3967       587144 :                         if (ptr_difference_const (captures[1], captures[3], &diff)
    3968              : )
    3969              :                           {
    3970       355219 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1362;
    3971       355219 :                             {
    3972       355219 :                               tree _r;
    3973       355219 :                               _r =  build_int_cst_type (type, diff);
    3974       355219 :                               if (TREE_SIDE_EFFECTS (captures[0]))
    3975            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3976       355219 :                               if (TREE_SIDE_EFFECTS (captures[3]))
    3977            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3978       355219 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 933, __FILE__, __LINE__, true);
    3979       355219 :                               return _r;
    3980              :                             }
    3981            0 : next_after_fail1362:;
    3982              :                           }
    3983              :                     }
    3984              :                   }
    3985              :               }
    3986       231925 :               break;
    3987              :             }
    3988              :           default:;
    3989              :           }
    3990              :         break;
    3991              :       }
    3992         7929 :     case ADDR_EXPR:
    3993         7929 :       {
    3994         7929 :         {
    3995         7929 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
    3996         7929 :           if (tree_nop_conversion_p (TREE_TYPE(captures[0]), TREE_TYPE (captures[1]))
    3997         7929 :  && tree_nop_conversion_p (TREE_TYPE(captures[2]), TREE_TYPE (captures[3]))
    3998              : )
    3999              :             {
    4000         7929 :               {
    4001         7929 :  poly_int64 diff;
    4002         7929 :                   if (ptr_difference_const (captures[1], captures[3], &diff)
    4003              : )
    4004              :                     {
    4005           76 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1363;
    4006           76 :                       {
    4007           76 :                         tree _r;
    4008           76 :                         _r =  build_int_cst_type (type, diff);
    4009           76 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    4010            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4011           76 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    4012            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4013           76 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 933, __FILE__, __LINE__, true);
    4014           76 :                         return _r;
    4015              :                       }
    4016            0 : next_after_fail1363:;
    4017              :                     }
    4018              :               }
    4019              :             }
    4020              :         }
    4021         7853 :         break;
    4022              :       }
    4023      3647536 :     default:;
    4024              :     }
    4025      3647536 :   switch (TREE_CODE (_p0))
    4026              :     {
    4027         5707 :     case POINTER_PLUS_EXPR:
    4028         5707 :       {
    4029         5707 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4030         5707 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4031         5707 :         switch (TREE_CODE (_q20))
    4032              :           {
    4033           65 :           case ADDR_EXPR:
    4034           65 :             {
    4035           65 :               switch (TREE_CODE (_p1))
    4036              :                 {
    4037            0 :                 case POINTER_PLUS_EXPR:
    4038            0 :                   {
    4039            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4040            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4041            0 :                     switch (TREE_CODE (_q50))
    4042              :                       {
    4043            0 :                       case ADDR_EXPR:
    4044            0 :                         {
    4045            0 :                           {
    4046            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    4047            0 :                             {
    4048            0 :  poly_int64 diff;
    4049            0 :                                 if (ptr_difference_const (captures[0], captures[2], &diff)
    4050              : )
    4051              :                                   {
    4052            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1364;
    4053            0 :                                     {
    4054            0 :                                       tree res_op0;
    4055            0 :                                       res_op0 =  build_int_cst_type (type, diff);
    4056            0 :                                       tree res_op1;
    4057            0 :                                       {
    4058            0 :                                         tree _o1[1], _r1;
    4059            0 :                                         {
    4060            0 :                                           tree _o2[2], _r2;
    4061            0 :                                           _o2[0] = captures[1];
    4062            0 :                                           _o2[1] = captures[3];
    4063            0 :                                           _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4064            0 :                                           _o1[0] = _r2;
    4065              :                                         }
    4066            0 :                                         if (TREE_TYPE (_o1[0]) != type)
    4067              :                                           {
    4068            0 :                                             _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4069              :                                           }
    4070              :                                         else
    4071              :                                           _r1 = _o1[0];
    4072            0 :                                         res_op1 = _r1;
    4073              :                                       }
    4074            0 :                                       tree _r;
    4075            0 :                                       _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    4076            0 :                                       if (TREE_SIDE_EFFECTS (captures[0]))
    4077            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4078            0 :                                       if (TREE_SIDE_EFFECTS (captures[2]))
    4079            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4080            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 934, __FILE__, __LINE__, true);
    4081            0 :                                       return _r;
    4082              :                                     }
    4083            0 : next_after_fail1364:;
    4084              :                                   }
    4085              :                             }
    4086              :                           }
    4087            0 :                           break;
    4088              :                         }
    4089              :                       default:;
    4090              :                       }
    4091              :                     break;
    4092              :                   }
    4093              :                 default:;
    4094              :                 }
    4095              :               break;
    4096              :             }
    4097         5707 :           default:;
    4098              :           }
    4099         5707 :         switch (TREE_CODE (_p1))
    4100              :           {
    4101          112 :           case ADDR_EXPR:
    4102          112 :             {
    4103          112 :               {
    4104          112 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4105          112 :                 {
    4106          112 :  poly_int64 diff;
    4107          112 :                     if (ptr_difference_const (captures[0], captures[2], &diff)
    4108              : )
    4109              :                       {
    4110           98 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1365;
    4111           98 :                         {
    4112           98 :                           tree res_op0;
    4113           98 :                           res_op0 =  build_int_cst_type (type, diff);
    4114           98 :                           tree res_op1;
    4115           98 :                           {
    4116           98 :                             tree _o1[1], _r1;
    4117           98 :                             _o1[0] = captures[1];
    4118           98 :                             if (TREE_TYPE (_o1[0]) != type)
    4119              :                               {
    4120           98 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4121              :                               }
    4122              :                             else
    4123              :                               _r1 = _o1[0];
    4124           98 :                             res_op1 = _r1;
    4125              :                           }
    4126           98 :                           tree _r;
    4127           98 :                           _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    4128           98 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    4129            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4130           98 :                           if (TREE_SIDE_EFFECTS (captures[2]))
    4131            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4132           98 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 935, __FILE__, __LINE__, true);
    4133           98 :                           return _r;
    4134              :                         }
    4135            0 : next_after_fail1365:;
    4136              :                       }
    4137              :                 }
    4138              :               }
    4139           14 :               break;
    4140              :             }
    4141         5609 :           default:;
    4142              :           }
    4143         5609 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
    4144              :           {
    4145         1652 :             {
    4146         1652 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
    4147         1652 :               if (!TYPE_SATURATING (type)
    4148              : )
    4149              :                 {
    4150         1652 :                   if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    4151         3304 :  && !FIXED_POINT_TYPE_P (type)
    4152              : )
    4153              :                     {
    4154         1652 :                       {
    4155         1652 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    4156         1652 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1366;
    4157         1652 :                           {
    4158         1652 :                             tree res_op0;
    4159         1652 :                             {
    4160         1652 :                               tree _o1[1], _r1;
    4161         1652 :                               _o1[0] = captures[1];
    4162         1652 :                               if (TREE_TYPE (_o1[0]) != stype)
    4163              :                                 {
    4164         1652 :                                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o1[0]);
    4165              :                                 }
    4166              :                               else
    4167              :                                 _r1 = _o1[0];
    4168         1652 :                               res_op0 = _r1;
    4169              :                             }
    4170         1652 :                             tree _r;
    4171         1652 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4172         1652 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    4173            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4174         1652 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 936, __FILE__, __LINE__, true);
    4175         1652 :                             return _r;
    4176              :                           }
    4177            0 : next_after_fail1366:;
    4178              :                       }
    4179              :                     }
    4180              :                 }
    4181              :             }
    4182              :           }
    4183              :         break;
    4184              :       }
    4185         1280 :     case ADDR_EXPR:
    4186         1280 :       {
    4187         1280 :         switch (TREE_CODE (_p1))
    4188              :           {
    4189            9 :           case POINTER_PLUS_EXPR:
    4190            9 :             {
    4191            9 :               tree _q30 = TREE_OPERAND (_p1, 0);
    4192            9 :               tree _q31 = TREE_OPERAND (_p1, 1);
    4193            9 :               {
    4194            9 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    4195            9 :                 {
    4196            9 :  poly_int64 diff;
    4197            9 :                     if (ptr_difference_const (captures[0], captures[1], &diff)
    4198              : )
    4199              :                       {
    4200            9 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1367;
    4201            9 :                         {
    4202            9 :                           tree res_op0;
    4203            9 :                           res_op0 =  build_int_cst_type (type, diff);
    4204            9 :                           tree res_op1;
    4205            9 :                           {
    4206            9 :                             tree _o1[1], _r1;
    4207            9 :                             _o1[0] = captures[2];
    4208            9 :                             if (TREE_TYPE (_o1[0]) != type)
    4209              :                               {
    4210            9 :                                 _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4211              :                               }
    4212              :                             else
    4213              :                               _r1 = _o1[0];
    4214            9 :                             res_op1 = _r1;
    4215              :                           }
    4216            9 :                           tree _r;
    4217            9 :                           _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    4218            9 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    4219            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4220            9 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4221            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4222            9 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 937, __FILE__, __LINE__, true);
    4223            9 :                           return _r;
    4224              :                         }
    4225            0 : next_after_fail1367:;
    4226              :                       }
    4227              :                 }
    4228              :               }
    4229            0 :               break;
    4230              :             }
    4231              :           default:;
    4232              :           }
    4233              :         break;
    4234              :       }
    4235      3645777 :     default:;
    4236              :     }
    4237      3645777 :   switch (TREE_CODE (_p1))
    4238              :     {
    4239          209 :     case POINTER_PLUS_EXPR:
    4240          209 :       {
    4241          209 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4242          209 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4243          209 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
    4244              :           {
    4245          124 :             {
    4246          124 :               tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    4247          124 :               if (!TYPE_SATURATING (type)
    4248              : )
    4249              :                 {
    4250          124 :                   if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    4251          248 :  && !FIXED_POINT_TYPE_P (type)
    4252              : )
    4253              :                     {
    4254          124 :                       {
    4255          124 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    4256          124 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1368;
    4257          124 :                           {
    4258          124 :                             tree res_op0;
    4259          124 :                             {
    4260          124 :                               tree _o1[1], _r1;
    4261          124 :                               {
    4262          124 :                                 tree _o2[1], _r2;
    4263          124 :                                 _o2[0] = captures[1];
    4264          124 :                                 if (TREE_TYPE (_o2[0]) != stype)
    4265              :                                   {
    4266          124 :                                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
    4267              :                                   }
    4268              :                                 else
    4269              :                                   _r2 = _o2[0];
    4270          124 :                                 _o1[0] = _r2;
    4271              :                               }
    4272          124 :                               if (TREE_TYPE (_o1[0]) != type)
    4273              :                                 {
    4274          124 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4275              :                                 }
    4276              :                               else
    4277              :                                 _r1 = _o1[0];
    4278          124 :                               res_op0 = _r1;
    4279              :                             }
    4280          124 :                             tree _r;
    4281          124 :                             _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4282          124 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    4283            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4284          124 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    4285          124 :                             return _r;
    4286              :                           }
    4287            0 : next_after_fail1368:;
    4288              :                       }
    4289              :                     }
    4290              :                 }
    4291              :             }
    4292              :           }
    4293              :         break;
    4294              :       }
    4295      3645653 :     default:;
    4296              :     }
    4297      3645653 :   switch (TREE_CODE (_p0))
    4298              :     {
    4299         3957 :     case POINTER_PLUS_EXPR:
    4300         3957 :       {
    4301         3957 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4302         3957 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4303         3957 :         switch (TREE_CODE (_p1))
    4304              :           {
    4305           30 :           case POINTER_PLUS_EXPR:
    4306           30 :             {
    4307           30 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4308           30 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4309           30 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
    4310              :                 {
    4311            2 :                   {
    4312            2 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
    4313            2 :                     if (!TYPE_SATURATING (type)
    4314              : )
    4315              :                       {
    4316            2 :                         if ((!FLOAT_TYPE_P (type) || flag_associative_math)
    4317            4 :  && !FIXED_POINT_TYPE_P (type)
    4318              : )
    4319              :                           {
    4320            2 :                             {
    4321            2 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    4322            2 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1369;
    4323            2 :                                 {
    4324            2 :                                   tree res_op0;
    4325            2 :                                   {
    4326            2 :                                     tree _o1[1], _r1;
    4327            2 :                                     {
    4328            2 :                                       tree _o2[1], _r2;
    4329            2 :                                       _o2[0] = captures[1];
    4330            2 :                                       if (TREE_TYPE (_o2[0]) != stype)
    4331              :                                         {
    4332            2 :                                           _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
    4333              :                                         }
    4334              :                                       else
    4335              :                                         _r2 = _o2[0];
    4336            2 :                                       _o1[0] = _r2;
    4337              :                                     }
    4338            2 :                                     if (TREE_TYPE (_o1[0]) != type)
    4339              :                                       {
    4340            2 :                                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4341              :                                       }
    4342              :                                     else
    4343              :                                       _r1 = _o1[0];
    4344            2 :                                     res_op0 = _r1;
    4345              :                                   }
    4346            2 :                                   tree res_op1;
    4347            2 :                                   {
    4348            2 :                                     tree _o1[1], _r1;
    4349            2 :                                     {
    4350            2 :                                       tree _o2[1], _r2;
    4351            2 :                                       _o2[0] = captures[2];
    4352            2 :                                       if (TREE_TYPE (_o2[0]) != stype)
    4353              :                                         {
    4354            2 :                                           _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, stype, _o2[0]);
    4355              :                                         }
    4356              :                                       else
    4357              :                                         _r2 = _o2[0];
    4358            2 :                                       _o1[0] = _r2;
    4359              :                                     }
    4360            2 :                                     if (TREE_TYPE (_o1[0]) != type)
    4361              :                                       {
    4362            2 :                                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4363              :                                       }
    4364              :                                     else
    4365              :                                       _r1 = _o1[0];
    4366            2 :                                     res_op1 = _r1;
    4367              :                                   }
    4368            2 :                                   tree _r;
    4369            2 :                                   _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    4370            2 :                                   if (TREE_SIDE_EFFECTS (captures[3]))
    4371            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    4372            2 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 939, __FILE__, __LINE__, true);
    4373            2 :                                   return _r;
    4374              :                                 }
    4375            0 : next_after_fail1369:;
    4376              :                             }
    4377              :                           }
    4378              :                       }
    4379              :                   }
    4380              :                 }
    4381              :               break;
    4382              :             }
    4383              :           default:;
    4384              :           }
    4385              :         break;
    4386              :       }
    4387      3645651 :     default:;
    4388              :     }
    4389      3645651 : if (integer_zerop (_p0))
    4390              :   {
    4391            0 :     {
    4392            0 :       tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
    4393            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1370;
    4394            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1370;
    4395            0 :       {
    4396            0 :         tree res_op0;
    4397            0 :         {
    4398            0 :           tree _o1[1], _r1;
    4399            0 :           _o1[0] = captures[0];
    4400            0 :           if (TREE_TYPE (_o1[0]) != type)
    4401              :             {
    4402            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    4403              :             }
    4404              :           else
    4405              :             _r1 = _o1[0];
    4406            0 :           res_op0 = _r1;
    4407              :         }
    4408            0 :         tree _r;
    4409            0 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    4410            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    4411            0 :         return _r;
    4412              :       }
    4413              : next_after_fail1370:;
    4414              :     }
    4415              :   }
    4416              :   return NULL_TREE;
    4417              : }
    4418              : 
    4419              : tree
    4420      2252885 : generic_simplify_FLOOR_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4421              : {
    4422      2252885 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4423      2252885 :   if (integer_onep (_p1))
    4424              :     {
    4425       775391 :       {
    4426       775391 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4427       775391 :         tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4428       775391 :         if (res) return res;
    4429              :       }
    4430              :     }
    4431      1477494 :   if (integer_zerop (_p0))
    4432              :     {
    4433            4 :       {
    4434            4 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4435            4 :         tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4436            4 :         if (res) return res;
    4437              :       }
    4438              :     }
    4439      1477490 :   switch (TREE_CODE (_p1))
    4440              :     {
    4441         1015 :     case SSA_NAME:
    4442         1015 :       {
    4443         1015 :         {
    4444         1015 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4445         1015 :           tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4446         1015 :           if (res) return res;
    4447              :         }
    4448         1015 :         break;
    4449              :       }
    4450      1477490 :     default:;
    4451              :     }
    4452      1477490 : if (integer_minus_onep (_p1))
    4453              :   {
    4454          229 :     {
    4455          229 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4456          229 :       tree res = generic_simplify_310 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4457          229 :       if (res) return res;
    4458              :     }
    4459              :   }
    4460      1477429 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4461              :     {
    4462            0 :       {
    4463            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4464            0 :         tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4465            0 :         if (res) return res;
    4466              :       }
    4467              :     }
    4468      1477429 :   switch (TREE_CODE (_p1))
    4469              :     {
    4470            0 :     case ABS_EXPR:
    4471            0 :       {
    4472            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4473            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4474              :           {
    4475            0 :             {
    4476            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4477            0 :               tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4478            0 :               if (res) return res;
    4479              :             }
    4480              :           }
    4481              :         break;
    4482              :       }
    4483      1477429 :     default:;
    4484              :     }
    4485      1477429 :   switch (TREE_CODE (_p0))
    4486              :     {
    4487            0 :     case ABS_EXPR:
    4488            0 :       {
    4489            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4490            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4491              :           {
    4492            0 :             {
    4493            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4494            0 :               tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4495            0 :               if (res) return res;
    4496              :             }
    4497              :           }
    4498              :         break;
    4499              :       }
    4500      1477429 :     default:;
    4501              :     }
    4502      1477429 :   switch (TREE_CODE (_p1))
    4503              :     {
    4504            0 :     case NEGATE_EXPR:
    4505            0 :       {
    4506            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4507            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4508              :           {
    4509            0 :             {
    4510            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4511            0 :               tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4512            0 :               if (res) return res;
    4513              :             }
    4514              :           }
    4515              :         break;
    4516              :       }
    4517      1477429 :     default:;
    4518              :     }
    4519      1477429 :   switch (TREE_CODE (_p0))
    4520              :     {
    4521          310 :     case NEGATE_EXPR:
    4522          310 :       {
    4523          310 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4524          310 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4525              :           {
    4526            0 :             {
    4527            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4528            0 :               tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4529            0 :               if (res) return res;
    4530              :             }
    4531              :           }
    4532              :         break;
    4533              :       }
    4534      1477429 :     default:;
    4535              :     }
    4536      1477429 :   {
    4537      1477429 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4538      1477429 :     tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, TRUNC_DIV_EXPR);
    4539      1477429 :     if (res) return res;
    4540              :   }
    4541         5602 :   switch (TREE_CODE (_p0))
    4542              :     {
    4543          388 :     CASE_CONVERT:
    4544          388 :       {
    4545          388 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4546          388 :         switch (TREE_CODE (_q20))
    4547              :           {
    4548            0 :           case BIT_AND_EXPR:
    4549            0 :             {
    4550            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4551            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4552            0 :               switch (TREE_CODE (_q31))
    4553              :                 {
    4554            0 :                 case INTEGER_CST:
    4555            0 :                   {
    4556            0 :                     switch (TREE_CODE (_p1))
    4557              :                       {
    4558            0 :                       case INTEGER_CST:
    4559            0 :                         {
    4560            0 :                           {
    4561            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4562            0 :                             tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4563            0 :                             if (res) return res;
    4564              :                           }
    4565            0 :                           break;
    4566              :                         }
    4567              :                       default:;
    4568              :                       }
    4569              :                     break;
    4570              :                   }
    4571              :                 default:;
    4572              :                 }
    4573              :               break;
    4574              :             }
    4575              :           default:;
    4576              :           }
    4577              :         break;
    4578              :       }
    4579            0 :     case BIT_AND_EXPR:
    4580            0 :       {
    4581            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4582            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4583            0 :         switch (TREE_CODE (_q21))
    4584              :           {
    4585            0 :           case INTEGER_CST:
    4586            0 :             {
    4587            0 :               switch (TREE_CODE (_p1))
    4588              :                 {
    4589            0 :                 case INTEGER_CST:
    4590            0 :                   {
    4591            0 :                     {
    4592            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4593            0 :                       tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4594            0 :                       if (res) return res;
    4595              :                     }
    4596            0 :                     break;
    4597              :                   }
    4598              :                 default:;
    4599              :                 }
    4600              :               break;
    4601              :             }
    4602              :           default:;
    4603              :           }
    4604              :         break;
    4605              :       }
    4606            0 :     case MULT_EXPR:
    4607            0 :       {
    4608            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4609            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4610            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4611              :           {
    4612            0 :             {
    4613            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4614            0 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4615            0 :               if (res) return res;
    4616              :             }
    4617              :           }
    4618            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4619              :           {
    4620            0 :             {
    4621            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4622            0 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4623            0 :               if (res) return res;
    4624              :             }
    4625              :           }
    4626            0 :         switch (TREE_CODE (_q21))
    4627              :           {
    4628            0 :           case INTEGER_CST:
    4629            0 :             {
    4630            0 :               switch (TREE_CODE (_p1))
    4631              :                 {
    4632            0 :                 case MULT_EXPR:
    4633            0 :                   {
    4634            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4635            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4636            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4637              :                       {
    4638            0 :                         switch (TREE_CODE (_q51))
    4639              :                           {
    4640            0 :                           case INTEGER_CST:
    4641            0 :                             {
    4642            0 :                               {
    4643            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4644            0 :                                 tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR);
    4645            0 :                                 if (res) return res;
    4646              :                               }
    4647            0 :                               break;
    4648              :                             }
    4649              :                           default:;
    4650              :                           }
    4651              :                       }
    4652              :                     break;
    4653              :                   }
    4654              :                 default:;
    4655              :                 }
    4656              :               break;
    4657              :             }
    4658              :           default:;
    4659              :           }
    4660              :         break;
    4661              :       }
    4662            0 :     case VEC_COND_EXPR:
    4663            0 :       {
    4664            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4665            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4666            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4667            0 :         switch (TREE_CODE (_p1))
    4668              :           {
    4669            0 :           case VEC_COND_EXPR:
    4670            0 :             {
    4671            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4672            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4673            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4674            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4675              :                 {
    4676            0 :                   {
    4677            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4678            0 :                     if (VECTOR_TYPE_P (type)
    4679            0 :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4680              :  || types_match (type, TREE_TYPE (captures[2]))
    4681              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4682              :  || (optimize_vectors_before_lowering_p ()
    4683              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4684              : )
    4685              :                       {
    4686            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1562;
    4687            0 :                         {
    4688            0 :                           tree res_op0;
    4689            0 :                           res_op0 = captures[1];
    4690            0 :                           tree res_op1;
    4691            0 :                           {
    4692            0 :                             tree _o1[2], _r1;
    4693            0 :                             _o1[0] = captures[2];
    4694            0 :                             _o1[1] = captures[5];
    4695            0 :                             _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4696            0 :                             if (EXPR_P (_r1))
    4697            0 :                               goto next_after_fail1562;
    4698            0 :                             res_op1 = _r1;
    4699              :                           }
    4700            0 :                           tree res_op2;
    4701            0 :                           {
    4702            0 :                             tree _o1[2], _r1;
    4703            0 :                             _o1[0] = captures[3];
    4704            0 :                             _o1[1] = captures[6];
    4705            0 :                             _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4706            0 :                             if (EXPR_P (_r1))
    4707            0 :                               goto next_after_fail1562;
    4708            0 :                             res_op2 = _r1;
    4709              :                           }
    4710            0 :                           tree _r;
    4711            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4712            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    4713            0 :                           return _r;
    4714              :                         }
    4715            0 : next_after_fail1562:;
    4716              :                       }
    4717              :                   }
    4718              :                 }
    4719              :               break;
    4720              :             }
    4721            0 :           default:;
    4722              :           }
    4723            0 :         {
    4724            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    4725            0 :           if (VECTOR_TYPE_P (type)
    4726            0 :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4727              :  || types_match (type, TREE_TYPE (captures[2]))
    4728              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4729              :  || (optimize_vectors_before_lowering_p ()
    4730              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4731              : )
    4732              :             {
    4733            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1563;
    4734            0 :               {
    4735            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1563;
    4736            0 :                 tree res_op0;
    4737            0 :                 res_op0 = captures[1];
    4738            0 :                 tree res_op1;
    4739            0 :                 {
    4740            0 :                   tree _o1[2], _r1;
    4741            0 :                   _o1[0] = captures[2];
    4742            0 :                   _o1[1] = unshare_expr (captures[4]);
    4743            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4744            0 :                   if (EXPR_P (_r1))
    4745            0 :                     goto next_after_fail1563;
    4746            0 :                   res_op1 = _r1;
    4747              :                 }
    4748            0 :                 tree res_op2;
    4749            0 :                 {
    4750            0 :                   tree _o1[2], _r1;
    4751            0 :                   _o1[0] = captures[3];
    4752            0 :                   _o1[1] = captures[4];
    4753            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4754            0 :                   if (EXPR_P (_r1))
    4755            0 :                     goto next_after_fail1563;
    4756            0 :                   res_op2 = _r1;
    4757              :                 }
    4758            0 :                 tree _r;
    4759            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4760            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    4761            0 :                 return _r;
    4762              :               }
    4763            0 : next_after_fail1563:;
    4764              :             }
    4765              :         }
    4766            0 :         break;
    4767              :       }
    4768         5602 :     default:;
    4769              :     }
    4770         5602 :   switch (TREE_CODE (_p1))
    4771              :     {
    4772            0 :     case VEC_COND_EXPR:
    4773            0 :       {
    4774            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4775            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4776            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4777            0 :         {
    4778            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    4779            0 :           if (VECTOR_TYPE_P (type)
    4780            0 :  && (TREE_CODE_CLASS (FLOOR_DIV_EXPR) != tcc_comparison
    4781              :  || types_match (type, TREE_TYPE (captures[3]))
    4782              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    4783              :  || (optimize_vectors_before_lowering_p ()
    4784              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    4785              : )
    4786              :             {
    4787            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1564;
    4788            0 :               {
    4789            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1564;
    4790            0 :                 tree res_op0;
    4791            0 :                 res_op0 = captures[2];
    4792            0 :                 tree res_op1;
    4793            0 :                 {
    4794            0 :                   tree _o1[2], _r1;
    4795            0 :                   _o1[0] = unshare_expr (captures[0]);
    4796            0 :                   _o1[1] = captures[3];
    4797            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4798            0 :                   if (EXPR_P (_r1))
    4799            0 :                     goto next_after_fail1564;
    4800            0 :                   res_op1 = _r1;
    4801              :                 }
    4802            0 :                 tree res_op2;
    4803            0 :                 {
    4804            0 :                   tree _o1[2], _r1;
    4805            0 :                   _o1[0] = captures[0];
    4806            0 :                   _o1[1] = captures[4];
    4807            0 :                   _r1 = fold_build2_loc (loc, FLOOR_DIV_EXPR, type, _o1[0], _o1[1]);
    4808            0 :                   if (EXPR_P (_r1))
    4809            0 :                     goto next_after_fail1564;
    4810            0 :                   res_op2 = _r1;
    4811              :                 }
    4812            0 :                 tree _r;
    4813            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4814            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    4815            0 :                 return _r;
    4816              :               }
    4817            0 : next_after_fail1564:;
    4818              :             }
    4819              :         }
    4820            0 :         break;
    4821              :       }
    4822              :     default:;
    4823              :     }
    4824              :   return NULL_TREE;
    4825              : }
    4826              : 
    4827              : tree
    4828       882907 : generic_simplify_FLOOR_MOD_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4829              : {
    4830       882907 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4831       882907 :   {
    4832       882907 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4833       882907 :     tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR, TRUNC_MOD_EXPR);
    4834       882907 :     if (res) return res;
    4835              :   }
    4836         3559 :   if (integer_zerop (_p0))
    4837              :     {
    4838            0 :       {
    4839            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4840            0 :         tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4841            0 :         if (res) return res;
    4842              :       }
    4843              :     }
    4844         3559 :   if (integer_onep (_p1))
    4845              :     {
    4846            0 :       {
    4847            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4848            0 :         tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4849            0 :         if (res) return res;
    4850              :       }
    4851              :     }
    4852         3559 :   if (integer_minus_onep (_p1))
    4853              :     {
    4854            0 :       {
    4855            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4856            0 :         tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4857            0 :         if (res) return res;
    4858              :       }
    4859              :     }
    4860         3559 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4861              :     {
    4862            0 :       {
    4863            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4864            0 :         tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4865            0 :         if (res) return res;
    4866              :       }
    4867              :     }
    4868         3559 :   switch (TREE_CODE (_p0))
    4869              :     {
    4870            0 :     case FLOOR_MOD_EXPR:
    4871            0 :       {
    4872            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4873            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4874            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4875              :           {
    4876            0 :             {
    4877            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4878            0 :               tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4879            0 :               if (res) return res;
    4880              :             }
    4881              :           }
    4882              :         break;
    4883              :       }
    4884            4 :     case MULT_EXPR:
    4885            4 :       {
    4886            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4887            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4888            4 :         switch (TREE_CODE (_q21))
    4889              :           {
    4890            4 :           case INTEGER_CST:
    4891            4 :             {
    4892            4 :               switch (TREE_CODE (_p1))
    4893              :                 {
    4894            4 :                 case INTEGER_CST:
    4895            4 :                   {
    4896            4 :                     {
    4897            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4898            4 :                       tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4899            4 :                       if (res) return res;
    4900              :                     }
    4901            4 :                     break;
    4902              :                   }
    4903              :                 default:;
    4904              :                 }
    4905              :               break;
    4906              :             }
    4907              :           default:;
    4908              :           }
    4909              :         break;
    4910              :       }
    4911         3559 :     default:;
    4912              :     }
    4913         3559 :   switch (TREE_CODE (_p1))
    4914              :     {
    4915            1 :     CASE_CONVERT:
    4916            1 :       {
    4917            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4918            1 :         {
    4919            1 :           tree _q30_pops[1];
    4920            1 :           if (tree_power_of_two_cand (_q30, _q30_pops))
    4921              :             {
    4922            0 :               tree _q40 = _q30_pops[0];
    4923            0 :               {
    4924            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
    4925            0 :                 tree res = generic_simplify_327 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4926            0 :                 if (res) return res;
    4927              :               }
    4928              :             }
    4929              :         }
    4930            1 :         break;
    4931              :       }
    4932         3559 :     default:;
    4933              :     }
    4934         3559 : {
    4935         3559 :   tree _p1_pops[1];
    4936         3559 :   if (tree_power_of_two_cand (_p1, _p1_pops))
    4937              :     {
    4938         1778 :       tree _q30 = _p1_pops[0];
    4939         1778 :       {
    4940         1778 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    4941         1778 :         tree res = generic_simplify_327 (loc, type, _p0, _p1, captures, FLOOR_MOD_EXPR);
    4942         1778 :         if (res) return res;
    4943              :       }
    4944              :     }
    4945              : }
    4946         3519 :   switch (TREE_CODE (_p0))
    4947              :     {
    4948            0 :     case VEC_COND_EXPR:
    4949            0 :       {
    4950            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4951            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4952            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4953            0 :         switch (TREE_CODE (_p1))
    4954              :           {
    4955            0 :           case VEC_COND_EXPR:
    4956            0 :             {
    4957            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4958            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4959            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4960            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4961              :                 {
    4962            0 :                   {
    4963            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4964            0 :                     if (VECTOR_TYPE_P (type)
    4965            0 :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    4966              :  || types_match (type, TREE_TYPE (captures[2]))
    4967              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4968              :  || (optimize_vectors_before_lowering_p ()
    4969              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4970              : )
    4971              :                       {
    4972            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1571;
    4973            0 :                         {
    4974            0 :                           tree res_op0;
    4975            0 :                           res_op0 = captures[1];
    4976            0 :                           tree res_op1;
    4977            0 :                           {
    4978            0 :                             tree _o1[2], _r1;
    4979            0 :                             _o1[0] = captures[2];
    4980            0 :                             _o1[1] = captures[5];
    4981            0 :                             _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    4982            0 :                             if (EXPR_P (_r1))
    4983            0 :                               goto next_after_fail1571;
    4984            0 :                             res_op1 = _r1;
    4985              :                           }
    4986            0 :                           tree res_op2;
    4987            0 :                           {
    4988            0 :                             tree _o1[2], _r1;
    4989            0 :                             _o1[0] = captures[3];
    4990            0 :                             _o1[1] = captures[6];
    4991            0 :                             _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    4992            0 :                             if (EXPR_P (_r1))
    4993            0 :                               goto next_after_fail1571;
    4994            0 :                             res_op2 = _r1;
    4995              :                           }
    4996            0 :                           tree _r;
    4997            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4998            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    4999            0 :                           return _r;
    5000              :                         }
    5001            0 : next_after_fail1571:;
    5002              :                       }
    5003              :                   }
    5004              :                 }
    5005              :               break;
    5006              :             }
    5007            0 :           default:;
    5008              :           }
    5009            0 :         {
    5010            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5011            0 :           if (VECTOR_TYPE_P (type)
    5012            0 :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5013              :  || types_match (type, TREE_TYPE (captures[2]))
    5014              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5015              :  || (optimize_vectors_before_lowering_p ()
    5016              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5017              : )
    5018              :             {
    5019            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1572;
    5020            0 :               {
    5021            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1572;
    5022            0 :                 tree res_op0;
    5023            0 :                 res_op0 = captures[1];
    5024            0 :                 tree res_op1;
    5025            0 :                 {
    5026            0 :                   tree _o1[2], _r1;
    5027            0 :                   _o1[0] = captures[2];
    5028            0 :                   _o1[1] = unshare_expr (captures[4]);
    5029            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5030            0 :                   if (EXPR_P (_r1))
    5031            0 :                     goto next_after_fail1572;
    5032            0 :                   res_op1 = _r1;
    5033              :                 }
    5034            0 :                 tree res_op2;
    5035            0 :                 {
    5036            0 :                   tree _o1[2], _r1;
    5037            0 :                   _o1[0] = captures[3];
    5038            0 :                   _o1[1] = captures[4];
    5039            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5040            0 :                   if (EXPR_P (_r1))
    5041            0 :                     goto next_after_fail1572;
    5042            0 :                   res_op2 = _r1;
    5043              :                 }
    5044            0 :                 tree _r;
    5045            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5046            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    5047            0 :                 return _r;
    5048              :               }
    5049            0 : next_after_fail1572:;
    5050              :             }
    5051              :         }
    5052            0 :         break;
    5053              :       }
    5054         3519 :     default:;
    5055              :     }
    5056         3519 :   switch (TREE_CODE (_p1))
    5057              :     {
    5058            0 :     case VEC_COND_EXPR:
    5059            0 :       {
    5060            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5061            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5062            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5063            0 :         {
    5064            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5065            0 :           if (VECTOR_TYPE_P (type)
    5066            0 :  && (TREE_CODE_CLASS (FLOOR_MOD_EXPR) != tcc_comparison
    5067              :  || types_match (type, TREE_TYPE (captures[3]))
    5068              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5069              :  || (optimize_vectors_before_lowering_p ()
    5070              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5071              : )
    5072              :             {
    5073            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1573;
    5074            0 :               {
    5075            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1573;
    5076            0 :                 tree res_op0;
    5077            0 :                 res_op0 = captures[2];
    5078            0 :                 tree res_op1;
    5079            0 :                 {
    5080            0 :                   tree _o1[2], _r1;
    5081            0 :                   _o1[0] = unshare_expr (captures[0]);
    5082            0 :                   _o1[1] = captures[3];
    5083            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5084            0 :                   if (EXPR_P (_r1))
    5085            0 :                     goto next_after_fail1573;
    5086            0 :                   res_op1 = _r1;
    5087              :                 }
    5088            0 :                 tree res_op2;
    5089            0 :                 {
    5090            0 :                   tree _o1[2], _r1;
    5091            0 :                   _o1[0] = captures[0];
    5092            0 :                   _o1[1] = captures[4];
    5093            0 :                   _r1 = fold_build2_loc (loc, FLOOR_MOD_EXPR, type, _o1[0], _o1[1]);
    5094            0 :                   if (EXPR_P (_r1))
    5095            0 :                     goto next_after_fail1573;
    5096            0 :                   res_op2 = _r1;
    5097              :                 }
    5098            0 :                 tree _r;
    5099            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5100            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    5101            0 :                 return _r;
    5102              :               }
    5103            0 : next_after_fail1573:;
    5104              :             }
    5105              :         }
    5106            0 :         break;
    5107              :       }
    5108              :     default:;
    5109              :     }
    5110              :   return NULL_TREE;
    5111              : }
    5112              : 
    5113              : tree
    5114     18463820 : generic_simplify_LT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5115              : {
    5116     18463820 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5117     18463820 :   switch (TREE_CODE (_p0))
    5118              :     {
    5119         2166 :     case RDIV_EXPR:
    5120         2166 :       {
    5121         2166 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5122         2166 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5123         2166 :         switch (TREE_CODE (_q20))
    5124              :           {
    5125          677 :           case REAL_CST:
    5126          677 :             {
    5127          677 :               if (real_zerop (_p1))
    5128              :                 {
    5129          392 :                   {
    5130          392 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5131          392 :                     tree res = generic_simplify_370 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    5132          392 :                     if (res) return res;
    5133              :                   }
    5134              :                 }
    5135              :               break;
    5136              :             }
    5137              :           default:;
    5138              :           }
    5139              :         break;
    5140              :       }
    5141         2942 :     case TRUNC_MOD_EXPR:
    5142         2942 :       {
    5143         2942 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5144         2942 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5145         2942 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5146              :           {
    5147           76 :             {
    5148           76 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5149           76 :               tree res = generic_simplify_371 (loc, type, _p0, _p1, captures, LT_EXPR);
    5150           76 :               if (res) return res;
    5151              :             }
    5152              :           }
    5153              :         break;
    5154              :       }
    5155       143277 :     case MULT_EXPR:
    5156       143277 :       {
    5157       143277 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5158       143277 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5159       143277 :         switch (TREE_CODE (_p1))
    5160              :           {
    5161        50493 :           case MULT_EXPR:
    5162        50493 :             {
    5163        50493 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5164        50493 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5165        50493 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5166              :                 {
    5167        10247 :                   {
    5168        10247 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5169        10247 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, LT_EXPR);
    5170        10247 :                     if (res) return res;
    5171              :                   }
    5172              :                 }
    5173        42301 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5174              :                 {
    5175            0 :                   {
    5176            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5177            0 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, LT_EXPR);
    5178            0 :                     if (res) return res;
    5179              :                   }
    5180              :                 }
    5181        42301 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5182              :                 {
    5183            0 :                   {
    5184            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5185            0 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, LT_EXPR);
    5186            0 :                     if (res) return res;
    5187              :                   }
    5188              :                 }
    5189        42301 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5190              :                 {
    5191         1370 :                   {
    5192         1370 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5193         1370 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, LT_EXPR);
    5194         1370 :                     if (res) return res;
    5195              :                   }
    5196              :                 }
    5197              :               break;
    5198              :             }
    5199              :           default:;
    5200              :           }
    5201              :         break;
    5202              :       }
    5203      3316655 :     CASE_CONVERT:
    5204      3316655 :       {
    5205      3316655 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5206      3316655 :         switch (TREE_CODE (_q20))
    5207              :           {
    5208          107 :           case EXACT_DIV_EXPR:
    5209          107 :             {
    5210          107 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5211          107 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5212          107 :               switch (TREE_CODE (_q31))
    5213              :                 {
    5214          107 :                 case INTEGER_CST:
    5215          107 :                   {
    5216          107 :                     switch (TREE_CODE (_p1))
    5217              :                       {
    5218           37 :                       CASE_CONVERT:
    5219           37 :                         {
    5220           37 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    5221           37 :                           switch (TREE_CODE (_q60))
    5222              :                             {
    5223            0 :                             case EXACT_DIV_EXPR:
    5224            0 :                               {
    5225            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    5226            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    5227            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    5228              :                                   {
    5229            0 :                                     {
    5230            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    5231            0 :                                       tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, LT_EXPR);
    5232            0 :                                       if (res) return res;
    5233              :                                     }
    5234              :                                   }
    5235              :                                 break;
    5236              :                               }
    5237              :                             default:;
    5238              :                             }
    5239              :                           break;
    5240              :                         }
    5241              :                       default:;
    5242              :                       }
    5243              :                     break;
    5244              :                   }
    5245              :                 default:;
    5246              :                 }
    5247              :               break;
    5248              :             }
    5249              :           default:;
    5250              :           }
    5251              :         break;
    5252              :       }
    5253         1032 :     case EXACT_DIV_EXPR:
    5254         1032 :       {
    5255         1032 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5256         1032 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5257         1032 :         switch (TREE_CODE (_q21))
    5258              :           {
    5259         1032 :           case INTEGER_CST:
    5260         1032 :             {
    5261         1032 :               switch (TREE_CODE (_p1))
    5262              :                 {
    5263            2 :                 case EXACT_DIV_EXPR:
    5264            2 :                   {
    5265            2 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5266            2 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5267            2 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5268              :                       {
    5269            0 :                         {
    5270            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5271            0 :                           tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, LT_EXPR);
    5272            0 :                           if (res) return res;
    5273              :                         }
    5274              :                       }
    5275              :                     break;
    5276              :                   }
    5277              :                 default:;
    5278              :                 }
    5279              :               break;
    5280              :             }
    5281              :           default:;
    5282              :           }
    5283              :         break;
    5284              :       }
    5285        12431 :     case TRUNC_DIV_EXPR:
    5286        12431 :       {
    5287        12431 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5288        12431 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5289        12431 :         switch (TREE_CODE (_q21))
    5290              :           {
    5291         3489 :           case INTEGER_CST:
    5292         3489 :             {
    5293         3489 :               switch (TREE_CODE (_p1))
    5294              :                 {
    5295         1464 :                 case INTEGER_CST:
    5296         1464 :                   {
    5297         1464 :                     {
    5298         1464 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5299         1464 :                       tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, LT_EXPR);
    5300         1464 :                       if (res) return res;
    5301              :                     }
    5302          698 :                     break;
    5303              :                   }
    5304              :                 default:;
    5305              :                 }
    5306              :               break;
    5307              :             }
    5308              :           default:;
    5309              :           }
    5310              :         break;
    5311              :       }
    5312      2360209 :     case PLUS_EXPR:
    5313      2360209 :       {
    5314      2360209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5315      2360209 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5316      2360209 :         switch (TREE_CODE (_p1))
    5317              :           {
    5318       344175 :           case PLUS_EXPR:
    5319       344175 :             {
    5320       344175 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5321       344175 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5322       344175 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5323              :                 {
    5324       136991 :                   {
    5325       136991 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5326       136991 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, LT_EXPR);
    5327       136991 :                     if (res) return res;
    5328              :                   }
    5329              :                 }
    5330       285247 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5331              :                 {
    5332           24 :                   {
    5333           24 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5334           24 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, LT_EXPR);
    5335           24 :                     if (res) return res;
    5336              :                   }
    5337              :                 }
    5338       285231 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5339              :                 {
    5340           48 :                   {
    5341           48 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5342           48 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, LT_EXPR);
    5343           48 :                     if (res) return res;
    5344              :                   }
    5345              :                 }
    5346       285215 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5347              :                 {
    5348         1739 :                   {
    5349         1739 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5350         1739 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, LT_EXPR);
    5351         1739 :                     if (res) return res;
    5352              :                   }
    5353              :                 }
    5354              :               break;
    5355              :             }
    5356      2300899 :           default:;
    5357              :           }
    5358      2300899 :         switch (TREE_CODE (_q21))
    5359              :           {
    5360      1788020 :           case INTEGER_CST:
    5361      1788020 :             {
    5362      1788020 :               switch (TREE_CODE (_p1))
    5363              :                 {
    5364       279900 :                 case PLUS_EXPR:
    5365       279900 :                   {
    5366       279900 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5367       279900 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5368       279900 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5369              :                       {
    5370        78063 :                         {
    5371        78063 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5372        78063 :                           tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, LT_EXPR);
    5373        78063 :                           if (res) return res;
    5374              :                         }
    5375              :                       }
    5376              :                     break;
    5377              :                   }
    5378              :                 default:;
    5379              :                 }
    5380              :               break;
    5381              :             }
    5382      2300894 :           default:;
    5383              :           }
    5384      2300894 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5385              :           {
    5386       206650 :             {
    5387       206650 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5388       206650 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, LT_EXPR);
    5389       206650 :               if (res) return res;
    5390              :             }
    5391              :           }
    5392      2121397 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5393              :           {
    5394        56014 :             {
    5395        56014 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5396        56014 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, LT_EXPR);
    5397        56014 :               if (res) return res;
    5398              :             }
    5399              :           }
    5400              :         break;
    5401              :       }
    5402       193380 :     case MINUS_EXPR:
    5403       193380 :       {
    5404       193380 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5405       193380 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5406       193380 :         switch (TREE_CODE (_p1))
    5407              :           {
    5408         5192 :           case MINUS_EXPR:
    5409         5192 :             {
    5410         5192 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5411         5192 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5412         5192 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5413              :                 {
    5414           24 :                   {
    5415           24 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5416           24 :                     tree res = generic_simplify_376 (loc, type, _p0, _p1, captures, LT_EXPR);
    5417           24 :                     if (res) return res;
    5418              :                   }
    5419              :                 }
    5420         5192 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5421              :                 {
    5422          215 :                   {
    5423          215 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5424          215 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, LT_EXPR);
    5425          215 :                     if (res) return res;
    5426              :                   }
    5427              :                 }
    5428              :               break;
    5429              :             }
    5430              :           default:;
    5431              :           }
    5432              :         break;
    5433              :       }
    5434       110740 :     case POINTER_DIFF_EXPR:
    5435       110740 :       {
    5436       110740 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5437       110740 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5438       110740 :         switch (TREE_CODE (_p1))
    5439              :           {
    5440          385 :           case POINTER_DIFF_EXPR:
    5441          385 :             {
    5442          385 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5443          385 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5444          385 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5445              :                 {
    5446            0 :                   {
    5447            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5448            0 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, LT_EXPR);
    5449            0 :                     if (res) return res;
    5450              :                   }
    5451              :                 }
    5452          385 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5453              :                 {
    5454            0 :                   {
    5455            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5456            0 :                     tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, LT_EXPR);
    5457            0 :                     if (res) return res;
    5458              :                   }
    5459              :                 }
    5460              :               break;
    5461              :             }
    5462              :           default:;
    5463              :           }
    5464              :         break;
    5465              :       }
    5466     18215445 :     default:;
    5467              :     }
    5468     18215445 :   switch (TREE_CODE (_p1))
    5469              :     {
    5470       351614 :     case PLUS_EXPR:
    5471       351614 :       {
    5472       351614 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5473       351614 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5474       351614 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5475              :           {
    5476          120 :             {
    5477          120 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5478          120 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, GT_EXPR);
    5479          120 :               if (res) return res;
    5480              :             }
    5481              :           }
    5482       351494 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5483              :           {
    5484           80 :             {
    5485           80 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    5486           80 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, GT_EXPR);
    5487           80 :               if (res) return res;
    5488              :             }
    5489              :           }
    5490              :         break;
    5491              :       }
    5492        23668 :     case MINUS_EXPR:
    5493        23668 :       {
    5494        23668 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5495        23668 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5496        23668 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5497              :           {
    5498            0 :             {
    5499            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5500            0 :               tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, LT_EXPR);
    5501            0 :               if (res) return res;
    5502              :             }
    5503              :           }
    5504              :         break;
    5505              :       }
    5506     18215325 :     default:;
    5507              :     }
    5508     18215325 :   switch (TREE_CODE (_p0))
    5509              :     {
    5510       193380 :     case MINUS_EXPR:
    5511       193380 :       {
    5512       193380 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5513       193380 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5514       193380 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5515              :           {
    5516         3337 :             {
    5517         3337 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5518         3337 :               tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, GT_EXPR);
    5519         3337 :               if (res) return res;
    5520              :             }
    5521              :           }
    5522              :         break;
    5523              :       }
    5524         1470 :     case BIT_IOR_EXPR:
    5525         1470 :       {
    5526         1470 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5527         1470 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5528         1470 :         if (tree_expr_nonnegative_p (_q20))
    5529              :           {
    5530          555 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5531              :               {
    5532            0 :                 {
    5533            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5534            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    5535            0 :                   if (res) return res;
    5536              :                 }
    5537              :               }
    5538              :           }
    5539         1470 :         if (tree_expr_nonnegative_p (_q21))
    5540              :           {
    5541          813 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5542              :               {
    5543            0 :                 {
    5544            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5545            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    5546            0 :                   if (res) return res;
    5547              :                 }
    5548              :               }
    5549              :           }
    5550              :         break;
    5551              :       }
    5552     18212901 :     default:;
    5553              :     }
    5554     18212901 :   switch (TREE_CODE (_p1))
    5555              :     {
    5556          449 :     case BIT_AND_EXPR:
    5557          449 :       {
    5558          449 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5559          449 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5560          449 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5561              :           {
    5562            0 :             if (tree_expr_nonnegative_p (_q30))
    5563              :               {
    5564            0 :                 {
    5565            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5566            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    5567            0 :                   if (res) return res;
    5568              :                 }
    5569              :               }
    5570              :           }
    5571          449 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5572              :           {
    5573            0 :             if (tree_expr_nonnegative_p (_q31))
    5574              :               {
    5575            0 :                 {
    5576            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5577            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    5578            0 :                   if (res) return res;
    5579              :                 }
    5580              :               }
    5581              :           }
    5582              :         break;
    5583              :       }
    5584     18212901 :     default:;
    5585              :     }
    5586     18212901 :   switch (TREE_CODE (_p0))
    5587              :     {
    5588         9818 :     case MIN_EXPR:
    5589         9818 :       {
    5590         9818 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5591         9818 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5592         9818 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5593              :           {
    5594            1 :             {
    5595            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5596            1 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    5597            1 :               if (res) return res;
    5598              :             }
    5599              :           }
    5600         9817 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5601              :           {
    5602            5 :             {
    5603            5 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5604            5 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    5605            5 :               if (res) return res;
    5606              :             }
    5607              :           }
    5608         9815 :         switch (TREE_CODE (_q21))
    5609              :           {
    5610          774 :           case INTEGER_CST:
    5611          774 :             {
    5612          774 :               switch (TREE_CODE (_p1))
    5613              :                 {
    5614            2 :                 case INTEGER_CST:
    5615            2 :                   {
    5616            2 :                     {
    5617            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5618            2 :                       tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, BIT_IOR_EXPR);
    5619            2 :                       if (res) return res;
    5620              :                     }
    5621            0 :                     break;
    5622              :                   }
    5623              :                 default:;
    5624              :                 }
    5625              :               break;
    5626              :             }
    5627              :           default:;
    5628              :           }
    5629              :         break;
    5630              :       }
    5631     18212896 :     default:;
    5632              :     }
    5633     18212896 :   switch (TREE_CODE (_p1))
    5634              :     {
    5635         1204 :     case MAX_EXPR:
    5636         1204 :       {
    5637         1204 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5638         1204 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5639         1204 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5640              :           {
    5641            0 :             {
    5642            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5643            0 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    5644            0 :               if (res) return res;
    5645              :             }
    5646              :           }
    5647         1204 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5648              :           {
    5649            0 :             {
    5650            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5651            0 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    5652            0 :               if (res) return res;
    5653              :             }
    5654              :           }
    5655              :         break;
    5656              :       }
    5657          915 :     case MIN_EXPR:
    5658          915 :       {
    5659          915 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5660          915 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5661          915 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5662              :           {
    5663            0 :             {
    5664            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    5665            0 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    5666            0 :               if (res) return res;
    5667              :             }
    5668              :           }
    5669          915 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5670              :           {
    5671            0 :             {
    5672            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5673            0 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    5674            0 :               if (res) return res;
    5675              :             }
    5676              :           }
    5677              :         break;
    5678              :       }
    5679     18212896 :     default:;
    5680              :     }
    5681     18212896 :   switch (TREE_CODE (_p0))
    5682              :     {
    5683         6616 :     case MAX_EXPR:
    5684         6616 :       {
    5685         6616 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5686         6616 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5687         6616 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5688              :           {
    5689            1 :             {
    5690            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5691            1 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    5692            1 :               if (res) return res;
    5693              :             }
    5694              :           }
    5695         6615 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5696              :           {
    5697            1 :             {
    5698            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    5699            1 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    5700            1 :               if (res) return res;
    5701              :             }
    5702              :           }
    5703         6614 :         switch (TREE_CODE (_q21))
    5704              :           {
    5705         6089 :           case INTEGER_CST:
    5706         6089 :             {
    5707         6089 :               switch (TREE_CODE (_p1))
    5708              :                 {
    5709            1 :                 case INTEGER_CST:
    5710            1 :                   {
    5711            1 :                     {
    5712            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5713            1 :                       tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, MAX_EXPR, LT_EXPR, BIT_AND_EXPR);
    5714            1 :                       if (res) return res;
    5715              :                     }
    5716            0 :                     break;
    5717              :                   }
    5718              :                 default:;
    5719              :                 }
    5720              :               break;
    5721              :             }
    5722              :           default:;
    5723              :           }
    5724              :         break;
    5725              :       }
    5726          906 :     case VEC_COND_EXPR:
    5727          906 :       {
    5728          906 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5729          906 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5730          906 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5731          906 :         switch (TREE_CODE (_p1))
    5732              :           {
    5733            0 :           case VEC_COND_EXPR:
    5734            0 :             {
    5735            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5736            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5737            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5738            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5739              :                 {
    5740            0 :                   {
    5741            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5742            0 :                     if (VECTOR_TYPE_P (type)
    5743            0 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    5744            0 :  || types_match (type, TREE_TYPE (captures[2]))
    5745            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5746              :  || (optimize_vectors_before_lowering_p ()
    5747            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5748              : )
    5749              :                       {
    5750            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1612;
    5751            0 :                         {
    5752            0 :                           tree res_op0;
    5753            0 :                           res_op0 = captures[1];
    5754            0 :                           tree res_op1;
    5755            0 :                           {
    5756            0 :                             tree _o1[2], _r1;
    5757            0 :                             _o1[0] = captures[2];
    5758            0 :                             _o1[1] = captures[5];
    5759            0 :                             _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    5760            0 :                             if (EXPR_P (_r1))
    5761            0 :                               goto next_after_fail1612;
    5762            0 :                             res_op1 = _r1;
    5763              :                           }
    5764            0 :                           tree res_op2;
    5765            0 :                           {
    5766            0 :                             tree _o1[2], _r1;
    5767            0 :                             _o1[0] = captures[3];
    5768            0 :                             _o1[1] = captures[6];
    5769            0 :                             _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    5770            0 :                             if (EXPR_P (_r1))
    5771            0 :                               goto next_after_fail1612;
    5772            0 :                             res_op2 = _r1;
    5773              :                           }
    5774            0 :                           tree _r;
    5775            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5776            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    5777            0 :                           return _r;
    5778              :                         }
    5779            0 : next_after_fail1612:;
    5780              :                       }
    5781              :                   }
    5782              :                 }
    5783              :               break;
    5784              :             }
    5785          906 :           default:;
    5786              :           }
    5787          906 :         {
    5788          906 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5789          906 :           if (VECTOR_TYPE_P (type)
    5790          906 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    5791          906 :  || types_match (type, TREE_TYPE (captures[2]))
    5792          906 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5793              :  || (optimize_vectors_before_lowering_p ()
    5794            1 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5795              : )
    5796              :             {
    5797          906 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1613;
    5798          906 :               {
    5799          906 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1613;
    5800           36 :                 tree res_op0;
    5801           36 :                 res_op0 = captures[1];
    5802           36 :                 tree res_op1;
    5803           36 :                 {
    5804           36 :                   tree _o1[2], _r1;
    5805           36 :                   _o1[0] = captures[2];
    5806           36 :                   _o1[1] = unshare_expr (captures[4]);
    5807           36 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    5808           36 :                   if (EXPR_P (_r1))
    5809           35 :                     goto next_after_fail1613;
    5810            1 :                   res_op1 = _r1;
    5811              :                 }
    5812            1 :                 tree res_op2;
    5813            1 :                 {
    5814            1 :                   tree _o1[2], _r1;
    5815            1 :                   _o1[0] = captures[3];
    5816            1 :                   _o1[1] = captures[4];
    5817            1 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    5818            1 :                   if (EXPR_P (_r1))
    5819            0 :                     goto next_after_fail1613;
    5820            1 :                   res_op2 = _r1;
    5821              :                 }
    5822            1 :                 tree _r;
    5823            1 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5824            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    5825            1 :                 return _r;
    5826              :               }
    5827          905 : next_after_fail1613:;
    5828              :             }
    5829              :         }
    5830          905 :         break;
    5831              :       }
    5832     18212892 :     default:;
    5833              :     }
    5834     18212892 :   switch (TREE_CODE (_p1))
    5835              :     {
    5836           58 :     case VEC_COND_EXPR:
    5837           58 :       {
    5838           58 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5839           58 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5840           58 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5841           58 :         {
    5842           58 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5843           58 :           if (VECTOR_TYPE_P (type)
    5844           58 :  && (TREE_CODE_CLASS (LT_EXPR) != tcc_comparison
    5845           58 :  || types_match (type, TREE_TYPE (captures[3]))
    5846           58 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5847              :  || (optimize_vectors_before_lowering_p ()
    5848            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5849              : )
    5850              :             {
    5851           58 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1614;
    5852           58 :               {
    5853           58 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1614;
    5854            0 :                 tree res_op0;
    5855            0 :                 res_op0 = captures[2];
    5856            0 :                 tree res_op1;
    5857            0 :                 {
    5858            0 :                   tree _o1[2], _r1;
    5859            0 :                   _o1[0] = unshare_expr (captures[0]);
    5860            0 :                   _o1[1] = captures[3];
    5861            0 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    5862            0 :                   if (EXPR_P (_r1))
    5863            0 :                     goto next_after_fail1614;
    5864            0 :                   res_op1 = _r1;
    5865              :                 }
    5866            0 :                 tree res_op2;
    5867            0 :                 {
    5868            0 :                   tree _o1[2], _r1;
    5869            0 :                   _o1[0] = captures[0];
    5870            0 :                   _o1[1] = captures[4];
    5871            0 :                   _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    5872            0 :                   if (EXPR_P (_r1))
    5873            0 :                     goto next_after_fail1614;
    5874            0 :                   res_op2 = _r1;
    5875              :                 }
    5876            0 :                 tree _r;
    5877            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5878            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    5879            0 :                 return _r;
    5880              :               }
    5881           58 : next_after_fail1614:;
    5882              :             }
    5883              :         }
    5884           58 :         break;
    5885              :       }
    5886     18212892 :     default:;
    5887              :     }
    5888     18212892 : if (uniform_integer_cst_p (_p1))
    5889              :   {
    5890      6563245 :     {
    5891      6563245 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5892      6563245 :       tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
    5893      6563245 :       if (res) return res;
    5894              :     }
    5895              :   }
    5896     15591078 :   switch (TREE_CODE (_p0))
    5897              :     {
    5898       126845 :     case MULT_EXPR:
    5899       126845 :       {
    5900       126845 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5901       126845 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5902       126845 :         switch (TREE_CODE (_q21))
    5903              :           {
    5904        70163 :           case INTEGER_CST:
    5905        70163 :             {
    5906        70163 :               if (integer_zerop (_p1))
    5907              :                 {
    5908         5818 :                   {
    5909         5818 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5910         5818 :                     tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    5911         5818 :                     if (res) return res;
    5912              :                   }
    5913              :                 }
    5914              :               break;
    5915              :             }
    5916              :           default:;
    5917              :           }
    5918              :         break;
    5919              :       }
    5920     15588096 :     default:;
    5921              :     }
    5922     15588096 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5923              :     {
    5924         3910 :       {
    5925         3910 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5926         3910 :         tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, LT_EXPR);
    5927         3910 :         if (res) return res;
    5928              :       }
    5929              :     }
    5930     15584186 :   switch (TREE_CODE (_p0))
    5931              :     {
    5932         2488 :     case BIT_NOT_EXPR:
    5933         2488 :       {
    5934         2488 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5935         2488 :         switch (TREE_CODE (_p1))
    5936              :           {
    5937            7 :           case BIT_NOT_EXPR:
    5938            7 :             {
    5939            7 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5940            7 :               {
    5941            7 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    5942            7 :                 tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, LT_EXPR);
    5943            7 :                 if (res) return res;
    5944              :               }
    5945            0 :               break;
    5946              :             }
    5947         2481 :           default:;
    5948              :           }
    5949         2481 :       {
    5950         2481 :         tree _p1_pops[1];
    5951         2481 :         if (tree_nop_convert (_p1, _p1_pops))
    5952              :           {
    5953           24 :             tree _q40 = _p1_pops[0];
    5954           24 :             switch (TREE_CODE (_q40))
    5955              :               {
    5956            0 :               case BIT_NOT_EXPR:
    5957            0 :                 {
    5958            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5959            0 :                   {
    5960            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    5961            0 :                     tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, LT_EXPR);
    5962            0 :                     if (res) return res;
    5963              :                   }
    5964            0 :                   break;
    5965              :                 }
    5966              :               default:;
    5967              :               }
    5968              :           }
    5969              :       }
    5970         2481 :       if (CONSTANT_CLASS_P (_p1))
    5971              :         {
    5972           20 :           {
    5973           20 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    5974           20 :             tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    5975           20 :             if (res) return res;
    5976              :           }
    5977              :         }
    5978              :         break;
    5979              :       }
    5980     15584159 :     default:;
    5981              :     }
    5982     15584159 : {
    5983     15584159 :   tree _p0_pops[1];
    5984     15584159 :   if (tree_nop_convert (_p0, _p0_pops))
    5985              :     {
    5986      1697477 :       tree _q20 = _p0_pops[0];
    5987      1697477 :       switch (TREE_CODE (_q20))
    5988              :         {
    5989            0 :         case BIT_NOT_EXPR:
    5990            0 :           {
    5991            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5992            0 :             switch (TREE_CODE (_p1))
    5993              :               {
    5994            0 :               case BIT_NOT_EXPR:
    5995            0 :                 {
    5996            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    5997            0 :                   {
    5998            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    5999            0 :                     tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, LT_EXPR);
    6000            0 :                     if (res) return res;
    6001              :                   }
    6002            0 :                   break;
    6003              :                 }
    6004            0 :               default:;
    6005              :               }
    6006            0 :           {
    6007            0 :             tree _p1_pops[1];
    6008            0 :             if (tree_nop_convert (_p1, _p1_pops))
    6009              :               {
    6010            0 :                 tree _q50 = _p1_pops[0];
    6011            0 :                 switch (TREE_CODE (_q50))
    6012              :                   {
    6013            0 :                   case BIT_NOT_EXPR:
    6014            0 :                     {
    6015            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    6016            0 :                       {
    6017            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    6018            0 :                         tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, LT_EXPR);
    6019            0 :                         if (res) return res;
    6020              :                       }
    6021            0 :                       break;
    6022              :                     }
    6023              :                   default:;
    6024              :                   }
    6025              :               }
    6026              :           }
    6027            0 :           if (CONSTANT_CLASS_P (_p1))
    6028              :             {
    6029            0 :               {
    6030            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    6031            0 :                 tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6032            0 :                 if (res) return res;
    6033              :               }
    6034              :             }
    6035              :             break;
    6036              :           }
    6037              :         default:;
    6038              :         }
    6039              :     }
    6040              : }
    6041     15584159 :   switch (TREE_CODE (_p1))
    6042              :     {
    6043      2915355 :     case REAL_CST:
    6044      2915355 :       {
    6045      2915355 :         {
    6046      2915355 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6047      2915355 :           tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, LT_EXPR);
    6048      2915355 :           if (res) return res;
    6049              :         }
    6050      2915262 :         break;
    6051              :       }
    6052     15584066 :     default:;
    6053              :     }
    6054     15584066 :   switch (TREE_CODE (_p0))
    6055              :     {
    6056      1999221 :     case PLUS_EXPR:
    6057      1999221 :       {
    6058      1999221 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6059      1999221 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6060      1999221 :         switch (TREE_CODE (_q21))
    6061              :           {
    6062          567 :           case REAL_CST:
    6063          567 :             {
    6064          567 :               switch (TREE_CODE (_p1))
    6065              :                 {
    6066          217 :                 case REAL_CST:
    6067          217 :                   {
    6068          217 :                     {
    6069          217 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6070          217 :                       tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR);
    6071          217 :                       if (res) return res;
    6072              :                     }
    6073          215 :                     break;
    6074              :                   }
    6075              :                 default:;
    6076              :                 }
    6077              :               break;
    6078              :             }
    6079      1495182 :           case INTEGER_CST:
    6080      1495182 :             {
    6081      1495182 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6082              :                 {
    6083        17977 :                   {
    6084        17977 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    6085        17977 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6086        17977 :                     if (res) return res;
    6087              :                   }
    6088              :                 }
    6089              :               break;
    6090              :             }
    6091              :           default:;
    6092              :           }
    6093              :         break;
    6094              :       }
    6095       183735 :     case MINUS_EXPR:
    6096       183735 :       {
    6097       183735 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6098       183735 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6099       183735 :         switch (TREE_CODE (_q21))
    6100              :           {
    6101          202 :           case REAL_CST:
    6102          202 :             {
    6103          202 :               switch (TREE_CODE (_p1))
    6104              :                 {
    6105          187 :                 case REAL_CST:
    6106          187 :                   {
    6107          187 :                     {
    6108          187 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6109          187 :                       tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, MINUS_EXPR, LT_EXPR);
    6110          187 :                       if (res) return res;
    6111              :                     }
    6112          187 :                     break;
    6113              :                   }
    6114              :                 default:;
    6115              :                 }
    6116              :               break;
    6117              :             }
    6118       183735 :           default:;
    6119              :           }
    6120       183735 :         switch (TREE_CODE (_q20))
    6121              :           {
    6122        18817 :           case REAL_CST:
    6123        18817 :             {
    6124        18817 :               switch (TREE_CODE (_p1))
    6125              :                 {
    6126        18618 :                 case REAL_CST:
    6127        18618 :                   {
    6128        18618 :                     {
    6129        18618 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6130        18618 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, LT_EXPR);
    6131        18618 :                       if (res) return res;
    6132              :                     }
    6133        18608 :                     break;
    6134              :                   }
    6135              :                 default:;
    6136              :                 }
    6137              :               break;
    6138              :             }
    6139              :           default:;
    6140              :           }
    6141              :         break;
    6142              :       }
    6143        48988 :     case FLOAT_EXPR:
    6144        48988 :       {
    6145        48988 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6146        48988 :         switch (TREE_CODE (_p1))
    6147              :           {
    6148          102 :           case FLOAT_EXPR:
    6149          102 :             {
    6150          102 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6151          102 :               {
    6152          102 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    6153          102 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
    6154          102 :                 if (res) return res;
    6155              :               }
    6156           71 :               break;
    6157              :             }
    6158          656 :           case REAL_CST:
    6159          656 :             {
    6160          656 :               {
    6161          656 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6162          656 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
    6163          656 :                 if (res) return res;
    6164              :               }
    6165          552 :               break;
    6166              :             }
    6167              :           default:;
    6168              :           }
    6169              :         break;
    6170              :       }
    6171          694 :     case EXACT_DIV_EXPR:
    6172          694 :       {
    6173          694 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6174          694 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6175          694 :         switch (TREE_CODE (_q21))
    6176              :           {
    6177          694 :           case INTEGER_CST:
    6178          694 :             {
    6179          694 :               switch (TREE_CODE (_p1))
    6180              :                 {
    6181           19 :                 case INTEGER_CST:
    6182           19 :                   {
    6183           19 :                     {
    6184           19 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6185           19 :                       tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, LT_EXPR);
    6186           19 :                       if (res) return res;
    6187              :                     }
    6188            0 :                     break;
    6189              :                   }
    6190              :                 default:;
    6191              :                 }
    6192              :               break;
    6193              :             }
    6194              :           default:;
    6195              :           }
    6196              :         break;
    6197              :       }
    6198      2702862 :     CASE_CONVERT:
    6199      2702862 :       {
    6200      2702862 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6201      2702862 :         switch (TREE_CODE (_q20))
    6202              :           {
    6203          107 :           case EXACT_DIV_EXPR:
    6204          107 :             {
    6205          107 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6206          107 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6207          107 :               switch (TREE_CODE (_q31))
    6208              :                 {
    6209          107 :                 case INTEGER_CST:
    6210          107 :                   {
    6211          107 :                     switch (TREE_CODE (_p1))
    6212              :                       {
    6213            0 :                       case INTEGER_CST:
    6214            0 :                         {
    6215            0 :                           {
    6216            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    6217            0 :                             tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
    6218            0 :                             if (res) return res;
    6219              :                           }
    6220            0 :                           break;
    6221              :                         }
    6222              :                       default:;
    6223              :                       }
    6224              :                     break;
    6225              :                   }
    6226              :                 default:;
    6227              :                 }
    6228              :               break;
    6229              :             }
    6230      2702862 :           default:;
    6231              :           }
    6232      2702862 :         switch (TREE_CODE (_p1))
    6233              :           {
    6234      1487338 :           CASE_CONVERT:
    6235      1487338 :             {
    6236      1487338 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6237      1487338 :               {
    6238      1487338 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    6239      1487338 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, LT_EXPR);
    6240      1487338 :                 if (res) return res;
    6241              :               }
    6242      1153769 :               break;
    6243              :             }
    6244      2369293 :           default:;
    6245              :           }
    6246      2369293 :         {
    6247      2369293 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    6248      2369293 :           tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, LT_EXPR);
    6249      2369293 :           if (res) return res;
    6250              :         }
    6251      1954610 :         switch (TREE_CODE (_q20))
    6252              :           {
    6253        51157 :           case ADDR_EXPR:
    6254        51157 :             {
    6255        51157 :               switch (TREE_CODE (_p1))
    6256              :                 {
    6257        50662 :                 CASE_CONVERT:
    6258        50662 :                   {
    6259        50662 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    6260        50662 :                     switch (TREE_CODE (_q40))
    6261              :                       {
    6262        50662 :                       case ADDR_EXPR:
    6263        50662 :                         {
    6264        50662 :                           {
    6265        50662 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    6266        50662 :                             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, LT_EXPR);
    6267        50662 :                             if (res) return res;
    6268              :                           }
    6269          304 :                           break;
    6270              :                         }
    6271              :                       default:;
    6272              :                       }
    6273              :                     break;
    6274              :                   }
    6275          468 :                 case ADDR_EXPR:
    6276          468 :                   {
    6277          468 :                     {
    6278          468 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6279          468 :                       tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, LT_EXPR);
    6280          468 :                       if (res) return res;
    6281              :                     }
    6282            0 :                     break;
    6283              :                   }
    6284              :                 default:;
    6285              :                 }
    6286              :               break;
    6287              :             }
    6288      1903784 :           default:;
    6289              :           }
    6290      1903784 :         if (uniform_integer_cst_p (_p1))
    6291              :           {
    6292       219841 :             {
    6293       219841 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6294       219841 :               tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LT_EXPR);
    6295       219841 :               if (res) return res;
    6296              :             }
    6297              :           }
    6298              :         break;
    6299              :       }
    6300         2156 :     case NEGATE_EXPR:
    6301         2156 :       {
    6302         2156 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6303         2156 :         switch (TREE_CODE (_p1))
    6304              :           {
    6305            0 :           case NEGATE_EXPR:
    6306            0 :             {
    6307            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6308            0 :               {
    6309            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6310            0 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6311            0 :                 if (res) return res;
    6312              :               }
    6313            0 :               break;
    6314              :             }
    6315         2156 :           default:;
    6316              :           }
    6317         2156 :       if (CONSTANT_CLASS_P (_p1))
    6318              :         {
    6319          301 :           {
    6320          301 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6321          301 :             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6322          301 :             if (res) return res;
    6323              :           }
    6324              :         }
    6325              :         break;
    6326              :       }
    6327        30051 :     case ADDR_EXPR:
    6328        30051 :       {
    6329        30051 :         switch (TREE_CODE (_p1))
    6330              :           {
    6331            0 :           CASE_CONVERT:
    6332            0 :             {
    6333            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    6334            0 :               switch (TREE_CODE (_q30))
    6335              :                 {
    6336            0 :                 case ADDR_EXPR:
    6337            0 :                   {
    6338            0 :                     {
    6339            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    6340            0 :                       tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, LT_EXPR);
    6341            0 :                       if (res) return res;
    6342              :                     }
    6343            0 :                     break;
    6344              :                   }
    6345              :                 default:;
    6346              :                 }
    6347              :               break;
    6348              :             }
    6349        29628 :           case ADDR_EXPR:
    6350        29628 :             {
    6351        29628 :               {
    6352        29628 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    6353        29628 :                 tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, LT_EXPR);
    6354        29628 :                 if (res) return res;
    6355              :               }
    6356          620 :               break;
    6357              :             }
    6358              :           default:;
    6359              :           }
    6360              :         break;
    6361              :       }
    6362      1817754 :     case CALL_EXPR:
    6363      1817754 :       switch (get_call_combined_fn (_p0))
    6364              :         {
    6365            5 :         case CFN_BUILT_IN_SQRTF:
    6366            5 :           if (call_expr_nargs (_p0) == 1)
    6367              :     {
    6368            5 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6369            5 :               switch (TREE_CODE (_p1))
    6370              :                 {
    6371            5 :                 case REAL_CST:
    6372            5 :                   {
    6373            5 :                     {
    6374            5 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6375            5 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LT_EXPR);
    6376            5 :                       if (res) return res;
    6377              :                     }
    6378            0 :                     break;
    6379              :                   }
    6380            0 :                 case CALL_EXPR:
    6381            0 :                   switch (get_call_combined_fn (_p1))
    6382              :                     {
    6383            0 :                     case CFN_BUILT_IN_SQRTF:
    6384            0 :                       if (call_expr_nargs (_p1) == 1)
    6385              :     {
    6386            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6387            0 :                           {
    6388            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6389            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, LT_EXPR);
    6390            0 :                             if (res) return res;
    6391              :                           }
    6392              :                         }
    6393              :                       break;
    6394              :                     default:;
    6395              :                     }
    6396              :                   break;
    6397              :                 default:;
    6398              :                 }
    6399              :             }
    6400              :           break;
    6401            0 :         case CFN_BUILT_IN_SQRTL:
    6402            0 :           if (call_expr_nargs (_p0) == 1)
    6403              :     {
    6404            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6405            0 :               switch (TREE_CODE (_p1))
    6406              :                 {
    6407            0 :                 case REAL_CST:
    6408            0 :                   {
    6409            0 :                     {
    6410            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6411            0 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LT_EXPR);
    6412            0 :                       if (res) return res;
    6413              :                     }
    6414            0 :                     break;
    6415              :                   }
    6416            0 :                 case CALL_EXPR:
    6417            0 :                   switch (get_call_combined_fn (_p1))
    6418              :                     {
    6419            0 :                     case CFN_BUILT_IN_SQRTL:
    6420            0 :                       if (call_expr_nargs (_p1) == 1)
    6421              :     {
    6422            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6423            0 :                           {
    6424            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6425            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, LT_EXPR);
    6426            0 :                             if (res) return res;
    6427              :                           }
    6428              :                         }
    6429              :                       break;
    6430              :                     default:;
    6431              :                     }
    6432              :                   break;
    6433              :                 default:;
    6434              :                 }
    6435              :             }
    6436              :           break;
    6437            4 :         case CFN_BUILT_IN_SQRT:
    6438            4 :           if (call_expr_nargs (_p0) == 1)
    6439              :     {
    6440            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6441            4 :               switch (TREE_CODE (_p1))
    6442              :                 {
    6443            4 :                 case REAL_CST:
    6444            4 :                   {
    6445            4 :                     {
    6446            4 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6447            4 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LT_EXPR);
    6448            4 :                       if (res) return res;
    6449              :                     }
    6450            1 :                     break;
    6451              :                   }
    6452            0 :                 case CALL_EXPR:
    6453            0 :                   switch (get_call_combined_fn (_p1))
    6454              :                     {
    6455            0 :                     case CFN_BUILT_IN_SQRT:
    6456            0 :                       if (call_expr_nargs (_p1) == 1)
    6457              :     {
    6458            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6459            0 :                           {
    6460            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6461            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, LT_EXPR);
    6462            0 :                             if (res) return res;
    6463              :                           }
    6464              :                         }
    6465              :                       break;
    6466              :                     default:;
    6467              :                     }
    6468              :                   break;
    6469              :                 default:;
    6470              :                 }
    6471              :             }
    6472              :           break;
    6473            0 :         case CFN_SQRT:
    6474            0 :           if (call_expr_nargs (_p0) == 1)
    6475              :     {
    6476            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6477            0 :               switch (TREE_CODE (_p1))
    6478              :                 {
    6479            0 :                 case REAL_CST:
    6480            0 :                   {
    6481            0 :                     {
    6482            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    6483            0 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_SQRT, LT_EXPR);
    6484            0 :                       if (res) return res;
    6485              :                     }
    6486            0 :                     break;
    6487              :                   }
    6488            0 :                 case CALL_EXPR:
    6489            0 :                   switch (get_call_combined_fn (_p1))
    6490              :                     {
    6491            0 :                     case CFN_SQRT:
    6492            0 :                       if (call_expr_nargs (_p1) == 1)
    6493              :     {
    6494            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6495            0 :                           {
    6496            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6497            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_SQRT, LT_EXPR);
    6498            0 :                             if (res) return res;
    6499              :                           }
    6500              :                         }
    6501              :                       break;
    6502              :                     default:;
    6503              :                     }
    6504              :                   break;
    6505              :                 default:;
    6506              :                 }
    6507              :             }
    6508              :           break;
    6509              :         default:;
    6510              :         }
    6511              :       break;
    6512     14734522 :     default:;
    6513              :     }
    6514     14734522 :   switch (TREE_CODE (_p1))
    6515              :     {
    6516      2052742 :     CASE_CONVERT:
    6517      2052742 :       {
    6518      2052742 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6519      2052742 :         switch (TREE_CODE (_q30))
    6520              :           {
    6521            0 :           case NE_EXPR:
    6522            0 :             {
    6523            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6524            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6525            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6526              :                 {
    6527            0 :                   if (integer_zerop (_q41))
    6528              :                     {
    6529            0 :                       {
    6530            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6531            0 :                         if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    6532              : )
    6533              :                           {
    6534            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1615;
    6535            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1615;
    6536            0 :                             {
    6537            0 :                               tree _r;
    6538            0 :                               _r =  constant_boolean_node (false, type);
    6539            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
    6540            0 :                               return _r;
    6541              :                             }
    6542              : next_after_fail1615:;
    6543              :                           }
    6544              :                       }
    6545              :                     }
    6546              :                 }
    6547              :               break;
    6548              :             }
    6549              :           default:;
    6550              :           }
    6551              :         break;
    6552              :       }
    6553     14734522 :     default:;
    6554              :     }
    6555     14734522 : if (uniform_integer_cst_p (_p1))
    6556              :   {
    6557      3520897 :     {
    6558      3520897 :       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    6559      3520897 :       tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, LT_EXPR);
    6560      3520897 :       if (res) return res;
    6561              :     }
    6562              :   }
    6563     14154531 :   switch (TREE_CODE (_p0))
    6564              :     {
    6565      1899957 :     CASE_CONVERT:
    6566      1899957 :       {
    6567      1899957 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6568      1899957 :         switch (TREE_CODE (_q20))
    6569              :           {
    6570        88289 :           case PLUS_EXPR:
    6571        88289 :             {
    6572        88289 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6573        88289 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6574        88289 :               switch (TREE_CODE (_q30))
    6575              :                 {
    6576        60728 :                 CASE_CONVERT:
    6577        60728 :                   {
    6578        60728 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6579        60728 :                     switch (TREE_CODE (_q31))
    6580              :                       {
    6581        60691 :                       case INTEGER_CST:
    6582        60691 :                         {
    6583        60691 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6584              :                             {
    6585           27 :                               {
    6586           27 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    6587           27 :                                 tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6588           27 :                                 if (res) return res;
    6589              :                               }
    6590              :                             }
    6591              :                           break;
    6592              :                         }
    6593              :                       default:;
    6594              :                       }
    6595              :                     break;
    6596              :                   }
    6597              :                 default:;
    6598              :                 }
    6599              :               break;
    6600              :             }
    6601              :           default:;
    6602              :           }
    6603              :         break;
    6604              :       }
    6605     14154504 :     default:;
    6606              :     }
    6607     14154504 :   switch (TREE_CODE (_p1))
    6608              :     {
    6609      2052742 :     CASE_CONVERT:
    6610      2052742 :       {
    6611      2052742 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6612      2052742 :         switch (TREE_CODE (_q30))
    6613              :           {
    6614        21567 :           case PLUS_EXPR:
    6615        21567 :             {
    6616        21567 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6617        21567 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6618        21567 :               switch (TREE_CODE (_q40))
    6619              :                 {
    6620        20355 :                 CASE_CONVERT:
    6621        20355 :                   {
    6622        20355 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6623        20355 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6624              :                       {
    6625            0 :                         switch (TREE_CODE (_q41))
    6626              :                           {
    6627            0 :                           case INTEGER_CST:
    6628            0 :                             {
    6629            0 :                               {
    6630            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    6631            0 :                                 tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    6632            0 :                                 if (res) return res;
    6633              :                               }
    6634            0 :                               break;
    6635              :                             }
    6636              :                           default:;
    6637              :                           }
    6638              :                       }
    6639              :                     break;
    6640              :                   }
    6641              :                 default:;
    6642              :                 }
    6643              :               break;
    6644              :             }
    6645              :           default:;
    6646              :           }
    6647              :         break;
    6648              :       }
    6649       351494 :     case PLUS_EXPR:
    6650       351494 :       {
    6651       351494 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6652       351494 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6653       351494 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6654              :           {
    6655           80 :             switch (TREE_CODE (_q31))
    6656              :               {
    6657           64 :               case INTEGER_CST:
    6658           64 :                 {
    6659           64 :                   {
    6660           64 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    6661           64 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    6662           64 :                     if (res) return res;
    6663              :                   }
    6664            0 :                   break;
    6665              :                 }
    6666              :               default:;
    6667              :               }
    6668              :           }
    6669              :         break;
    6670              :       }
    6671        23668 :     case MINUS_EXPR:
    6672        23668 :       {
    6673        23668 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6674        23668 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6675        23668 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6676              :           {
    6677            0 :             {
    6678            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    6679            0 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, GT_EXPR);
    6680            0 :               if (res) return res;
    6681              :             }
    6682              :           }
    6683              :         break;
    6684              :       }
    6685     14154440 :     default:;
    6686              :     }
    6687     14154440 :   switch (TREE_CODE (_p0))
    6688              :     {
    6689      1964596 :     case PLUS_EXPR:
    6690      1964596 :       {
    6691      1964596 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6692      1964596 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6693      1964596 :         switch (TREE_CODE (_q20))
    6694              :           {
    6695         1343 :           case MINUS_EXPR:
    6696         1343 :             {
    6697         1343 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6698         1343 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6699         1343 :               if (integer_minus_onep (_q21))
    6700              :                 {
    6701           49 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6702              :                     {
    6703            1 :                       {
    6704            1 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6705            1 :                         tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, LT_EXPR);
    6706            1 :                         if (res) return res;
    6707              :                       }
    6708              :                     }
    6709              :                 }
    6710              :               break;
    6711              :             }
    6712              :           default:;
    6713              :           }
    6714              :         break;
    6715              :       }
    6716     14154439 :     default:;
    6717              :     }
    6718     14154439 :   switch (TREE_CODE (_p1))
    6719              :     {
    6720            0 :     case REALPART_EXPR:
    6721            0 :       {
    6722            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6723            0 :         switch (TREE_CODE (_q30))
    6724              :           {
    6725            0 :           case CALL_EXPR:
    6726            0 :             switch (get_call_combined_fn (_q30))
    6727              :               {
    6728            0 :               case CFN_SUB_OVERFLOW:
    6729            0 :                 if (call_expr_nargs (_q30) == 2)
    6730              :     {
    6731            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    6732            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    6733            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    6734              :                       {
    6735            0 :                         {
    6736            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    6737            0 :                           tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    6738            0 :                           if (res) return res;
    6739              :                         }
    6740              :                       }
    6741              :                   }
    6742              :                 break;
    6743              :               default:;
    6744              :               }
    6745              :             break;
    6746              :           default:;
    6747              :           }
    6748              :         break;
    6749              :       }
    6750     14154439 :     default:;
    6751              :     }
    6752     14154439 :   switch (TREE_CODE (_p0))
    6753              :     {
    6754           20 :     case REALPART_EXPR:
    6755           20 :       {
    6756           20 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6757           20 :         switch (TREE_CODE (_q20))
    6758              :           {
    6759            0 :           case CALL_EXPR:
    6760            0 :             switch (get_call_combined_fn (_q20))
    6761              :               {
    6762            0 :               case CFN_ADD_OVERFLOW:
    6763            0 :                 if (call_expr_nargs (_q20) == 2)
    6764              :     {
    6765            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    6766            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    6767            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    6768              :                       {
    6769            0 :                         {
    6770            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    6771            0 :                           tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    6772            0 :                           if (res) return res;
    6773              :                         }
    6774              :                       }
    6775            0 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6776              :                       {
    6777            0 :                         {
    6778            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
    6779            0 :                           tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    6780            0 :                           if (res) return res;
    6781              :                         }
    6782              :                       }
    6783              :                   }
    6784              :                 break;
    6785              :               default:;
    6786              :               }
    6787              :             break;
    6788              :           default:;
    6789              :           }
    6790              :         break;
    6791              :       }
    6792         7241 :     case TRUNC_DIV_EXPR:
    6793         7241 :       {
    6794         7241 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6795         7241 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6796         7241 :         if (integer_all_onesp (_q20))
    6797              :           {
    6798         1074 :             {
    6799         1074 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
    6800         1074 :               tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    6801         1074 :               if (res) return res;
    6802              :             }
    6803              :           }
    6804              :         break;
    6805              :       }
    6806       119142 :     case MULT_EXPR:
    6807       119142 :       {
    6808       119142 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6809       119142 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6810       119142 :         switch (TREE_CODE (_q21))
    6811              :           {
    6812        11613 :           case REAL_CST:
    6813        11613 :             {
    6814        11613 :               switch (TREE_CODE (_p1))
    6815              :                 {
    6816          801 :                 case REAL_CST:
    6817          801 :                   {
    6818          801 :                     {
    6819          801 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6820          801 :                       tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6821          801 :                       if (res) return res;
    6822              :                     }
    6823          801 :                     break;
    6824              :                   }
    6825              :                 default:;
    6826              :                 }
    6827              :               break;
    6828              :             }
    6829              :           default:;
    6830              :           }
    6831              :         break;
    6832              :       }
    6833      1964595 :     case PLUS_EXPR:
    6834      1964595 :       {
    6835      1964595 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6836      1964595 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6837      1964595 :         switch (TREE_CODE (_q21))
    6838              :           {
    6839      1475866 :           case INTEGER_CST:
    6840      1475866 :             {
    6841      1475866 :               switch (TREE_CODE (_p1))
    6842              :                 {
    6843       228436 :                 case INTEGER_CST:
    6844       228436 :                   {
    6845       228436 :                     {
    6846       228436 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6847       228436 :                       tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, LT_EXPR, GT_EXPR);
    6848       228436 :                       if (res) return res;
    6849              :                     }
    6850        15256 :                     break;
    6851              :                   }
    6852              :                 default:;
    6853              :                 }
    6854              :               break;
    6855              :             }
    6856              :           default:;
    6857              :           }
    6858              :         break;
    6859              :       }
    6860       183575 :     case MINUS_EXPR:
    6861       183575 :       {
    6862       183575 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6863       183575 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6864       183575 :         switch (TREE_CODE (_q21))
    6865              :           {
    6866            0 :           case INTEGER_CST:
    6867            0 :             {
    6868            0 :               switch (TREE_CODE (_p1))
    6869              :                 {
    6870            0 :                 case INTEGER_CST:
    6871            0 :                   {
    6872            0 :                     {
    6873            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6874            0 :                       tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, LT_EXPR, GT_EXPR);
    6875            0 :                       if (res) return res;
    6876              :                     }
    6877            0 :                     break;
    6878              :                   }
    6879              :                 default:;
    6880              :                 }
    6881              :               break;
    6882              :             }
    6883       183575 :           default:;
    6884              :           }
    6885       183575 :         switch (TREE_CODE (_q20))
    6886              :           {
    6887        44857 :           case INTEGER_CST:
    6888        44857 :             {
    6889        44857 :               switch (TREE_CODE (_p1))
    6890              :                 {
    6891         1645 :                 case INTEGER_CST:
    6892         1645 :                   {
    6893         1645 :                     {
    6894         1645 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6895         1645 :                       tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    6896         1645 :                       if (res) return res;
    6897              :                     }
    6898            0 :                     break;
    6899              :                   }
    6900              :                 default:;
    6901              :                 }
    6902              :               break;
    6903              :             }
    6904              :           default:;
    6905              :           }
    6906              :         break;
    6907              :       }
    6908      1817731 :     case CALL_EXPR:
    6909      1817731 :       switch (get_call_combined_fn (_p0))
    6910              :         {
    6911            3 :         case CFN_BUILT_IN_CTZ:
    6912            3 :           if (call_expr_nargs (_p0) == 1)
    6913              :     {
    6914            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6915            3 :               switch (TREE_CODE (_p1))
    6916              :                 {
    6917            3 :                 case INTEGER_CST:
    6918            3 :                   {
    6919            3 :                     {
    6920            3 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6921            3 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZ);
    6922            3 :                       if (res) return res;
    6923              :                     }
    6924            0 :                     break;
    6925              :                   }
    6926              :                 default:;
    6927              :                 }
    6928              :             }
    6929              :           break;
    6930            2 :         case CFN_BUILT_IN_CTZL:
    6931            2 :           if (call_expr_nargs (_p0) == 1)
    6932              :     {
    6933            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6934            2 :               switch (TREE_CODE (_p1))
    6935              :                 {
    6936            2 :                 case INTEGER_CST:
    6937            2 :                   {
    6938            2 :                     {
    6939            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6940            2 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZL);
    6941            2 :                       if (res) return res;
    6942              :                     }
    6943            0 :                     break;
    6944              :                   }
    6945              :                 default:;
    6946              :                 }
    6947              :             }
    6948              :           break;
    6949            0 :         case CFN_BUILT_IN_CTZIMAX:
    6950            0 :           if (call_expr_nargs (_p0) == 1)
    6951              :     {
    6952            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6953            0 :               switch (TREE_CODE (_p1))
    6954              :                 {
    6955            0 :                 case INTEGER_CST:
    6956            0 :                   {
    6957            0 :                     {
    6958            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6959            0 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
    6960            0 :                       if (res) return res;
    6961              :                     }
    6962            0 :                     break;
    6963              :                   }
    6964              :                 default:;
    6965              :                 }
    6966              :             }
    6967              :           break;
    6968            0 :         case CFN_CTZ:
    6969            0 :           if (call_expr_nargs (_p0) == 1)
    6970              :     {
    6971            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6972            0 :               switch (TREE_CODE (_p1))
    6973              :                 {
    6974            0 :                 case INTEGER_CST:
    6975            0 :                   {
    6976            0 :                     {
    6977            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6978            0 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_CTZ);
    6979            0 :                       if (res) return res;
    6980              :                     }
    6981            0 :                     break;
    6982              :                   }
    6983              :                 default:;
    6984              :                 }
    6985              :             }
    6986            0 :           if (call_expr_nargs (_p0) == 2)
    6987              :     {
    6988            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6989            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6990            0 :               switch (TREE_CODE (_p1))
    6991              :                 {
    6992            0 :                 case INTEGER_CST:
    6993            0 :                   {
    6994            0 :                     {
    6995            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6996            0 :                       tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    6997            0 :                       if (res) return res;
    6998              :                     }
    6999            0 :                     break;
    7000              :                   }
    7001              :                 default:;
    7002              :                 }
    7003              :             }
    7004              :           break;
    7005            2 :         case CFN_BUILT_IN_CTZLL:
    7006            2 :           if (call_expr_nargs (_p0) == 1)
    7007              :     {
    7008            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7009            2 :               switch (TREE_CODE (_p1))
    7010              :                 {
    7011            2 :                 case INTEGER_CST:
    7012            2 :                   {
    7013            2 :                     {
    7014            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7015            2 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZLL);
    7016            2 :                       if (res) return res;
    7017              :                     }
    7018            0 :                     break;
    7019              :                   }
    7020              :                 default:;
    7021              :                 }
    7022              :             }
    7023              :           break;
    7024              :         default:;
    7025              :         }
    7026              :       break;
    7027              :     default:;
    7028              :     }
    7029              :   return NULL_TREE;
    7030              : }
    7031              : 
    7032              : tree
    7033     20915489 : generic_simplify_GT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    7034              : {
    7035     20915489 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    7036     20915489 :   switch (TREE_CODE (_p0))
    7037              :     {
    7038         1006 :     case RDIV_EXPR:
    7039         1006 :       {
    7040         1006 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7041         1006 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7042         1006 :         switch (TREE_CODE (_q20))
    7043              :           {
    7044           29 :           case REAL_CST:
    7045           29 :             {
    7046           29 :               if (real_zerop (_p1))
    7047              :                 {
    7048            0 :                   {
    7049            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7050            0 :                     tree res = generic_simplify_370 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    7051            0 :                     if (res) return res;
    7052              :                   }
    7053              :                 }
    7054              :               break;
    7055              :             }
    7056              :           default:;
    7057              :           }
    7058              :         break;
    7059              :       }
    7060     20915489 :     default:;
    7061              :     }
    7062     20915489 :   switch (TREE_CODE (_p1))
    7063              :     {
    7064           97 :     case TRUNC_MOD_EXPR:
    7065           97 :       {
    7066           97 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7067           97 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7068           97 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7069              :           {
    7070            0 :             {
    7071            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    7072            0 :               tree res = generic_simplify_371 (loc, type, _p0, _p1, captures, LT_EXPR);
    7073            0 :               if (res) return res;
    7074              :             }
    7075              :           }
    7076              :         break;
    7077              :       }
    7078     20915489 :     default:;
    7079              :     }
    7080     20915489 :   switch (TREE_CODE (_p0))
    7081              :     {
    7082       171519 :     case MULT_EXPR:
    7083       171519 :       {
    7084       171519 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7085       171519 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7086       171519 :         switch (TREE_CODE (_p1))
    7087              :           {
    7088         7612 :           case MULT_EXPR:
    7089         7612 :             {
    7090         7612 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7091         7612 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7092         7612 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7093              :                 {
    7094          589 :                   {
    7095          589 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7096          589 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, GT_EXPR);
    7097          589 :                     if (res) return res;
    7098              :                   }
    7099              :                 }
    7100         7127 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7101              :                 {
    7102            8 :                   {
    7103            8 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7104            8 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, GT_EXPR);
    7105            8 :                     if (res) return res;
    7106              :                   }
    7107              :                 }
    7108         7127 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7109              :                 {
    7110            0 :                   {
    7111            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7112            0 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, GT_EXPR);
    7113            0 :                     if (res) return res;
    7114              :                   }
    7115              :                 }
    7116         7127 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7117              :                 {
    7118          658 :                   {
    7119          658 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7120          658 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, GT_EXPR);
    7121          658 :                     if (res) return res;
    7122              :                   }
    7123              :                 }
    7124              :               break;
    7125              :             }
    7126              :           default:;
    7127              :           }
    7128              :         break;
    7129              :       }
    7130      2163709 :     case PLUS_EXPR:
    7131      2163709 :       {
    7132      2163709 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7133      2163709 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7134      2163709 :         if (integer_minus_onep (_q21))
    7135              :           {
    7136       566736 :             switch (TREE_CODE (_p1))
    7137              :               {
    7138       415143 :               case INTEGER_CST:
    7139       415143 :                 {
    7140       415143 :                   {
    7141       415143 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7142       415143 :                     tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    7143       415143 :                     if (res) return res;
    7144              :                   }
    7145       410064 :                   break;
    7146              :                 }
    7147              :               default:;
    7148              :               }
    7149              :           }
    7150      2158630 :         switch (TREE_CODE (_p1))
    7151              :           {
    7152        60857 :           case PLUS_EXPR:
    7153        60857 :             {
    7154        60857 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7155        60857 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7156        60857 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7157              :                 {
    7158         4261 :                   {
    7159         4261 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7160         4261 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, GT_EXPR);
    7161         4261 :                     if (res) return res;
    7162              :                   }
    7163              :                 }
    7164        57963 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7165              :                 {
    7166          319 :                   {
    7167          319 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7168          319 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, GT_EXPR);
    7169          319 :                     if (res) return res;
    7170              :                   }
    7171              :                 }
    7172        57963 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7173              :                 {
    7174           31 :                   {
    7175           31 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7176           31 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, GT_EXPR);
    7177           31 :                     if (res) return res;
    7178              :                   }
    7179              :                 }
    7180        57963 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7181              :                 {
    7182          302 :                   {
    7183          302 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7184          302 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, GT_EXPR);
    7185          302 :                     if (res) return res;
    7186              :                   }
    7187              :                 }
    7188              :               break;
    7189              :             }
    7190      2155736 :           default:;
    7191              :           }
    7192      2155736 :         switch (TREE_CODE (_q21))
    7193              :           {
    7194      1986293 :           case INTEGER_CST:
    7195      1986293 :             {
    7196      1986293 :               switch (TREE_CODE (_p1))
    7197              :                 {
    7198        34959 :                 case PLUS_EXPR:
    7199        34959 :                   {
    7200        34959 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7201        34959 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7202        34959 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7203              :                       {
    7204         1341 :                         {
    7205         1341 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7206         1341 :                           tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, GT_EXPR);
    7207         1341 :                           if (res) return res;
    7208              :                         }
    7209              :                       }
    7210              :                     break;
    7211              :                   }
    7212              :                 default:;
    7213              :                 }
    7214              :               break;
    7215              :             }
    7216      2155736 :           default:;
    7217              :           }
    7218      2155736 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7219              :           {
    7220        60935 :             {
    7221        60935 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7222        60935 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, GT_EXPR);
    7223        60935 :               if (res) return res;
    7224              :             }
    7225              :           }
    7226      2118166 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7227              :           {
    7228         6368 :             {
    7229         6368 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    7230         6368 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, GT_EXPR);
    7231         6368 :               if (res) return res;
    7232              :             }
    7233              :           }
    7234              :         break;
    7235              :       }
    7236      2555845 :     CASE_CONVERT:
    7237      2555845 :       {
    7238      2555845 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7239      2555845 :         switch (TREE_CODE (_q20))
    7240              :           {
    7241            5 :           case EXACT_DIV_EXPR:
    7242            5 :             {
    7243            5 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7244            5 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7245            5 :               switch (TREE_CODE (_q31))
    7246              :                 {
    7247            5 :                 case INTEGER_CST:
    7248            5 :                   {
    7249            5 :                     switch (TREE_CODE (_p1))
    7250              :                       {
    7251            2 :                       CASE_CONVERT:
    7252            2 :                         {
    7253            2 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    7254            2 :                           switch (TREE_CODE (_q60))
    7255              :                             {
    7256            0 :                             case EXACT_DIV_EXPR:
    7257            0 :                               {
    7258            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    7259            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    7260            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7261              :                                   {
    7262            0 :                                     {
    7263            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    7264            0 :                                       tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, GT_EXPR);
    7265            0 :                                       if (res) return res;
    7266              :                                     }
    7267              :                                   }
    7268              :                                 break;
    7269              :                               }
    7270              :                             default:;
    7271              :                             }
    7272              :                           break;
    7273              :                         }
    7274              :                       default:;
    7275              :                       }
    7276              :                     break;
    7277              :                   }
    7278              :                 default:;
    7279              :                 }
    7280              :               break;
    7281              :             }
    7282              :           default:;
    7283              :           }
    7284              :         break;
    7285              :       }
    7286        20386 :     case EXACT_DIV_EXPR:
    7287        20386 :       {
    7288        20386 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7289        20386 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7290        20386 :         switch (TREE_CODE (_q21))
    7291              :           {
    7292        20386 :           case INTEGER_CST:
    7293        20386 :             {
    7294        20386 :               switch (TREE_CODE (_p1))
    7295              :                 {
    7296            6 :                 case EXACT_DIV_EXPR:
    7297            6 :                   {
    7298            6 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7299            6 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7300            6 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7301              :                       {
    7302            0 :                         {
    7303            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7304            0 :                           tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, GT_EXPR);
    7305            0 :                           if (res) return res;
    7306              :                         }
    7307              :                       }
    7308              :                     break;
    7309              :                   }
    7310              :                 default:;
    7311              :                 }
    7312              :               break;
    7313              :             }
    7314              :           default:;
    7315              :           }
    7316              :         break;
    7317              :       }
    7318      1723968 :     case TRUNC_DIV_EXPR:
    7319      1723968 :       {
    7320      1723968 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7321      1723968 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7322      1723968 :         switch (TREE_CODE (_q21))
    7323              :           {
    7324      1715646 :           case INTEGER_CST:
    7325      1715646 :             {
    7326      1715646 :               switch (TREE_CODE (_p1))
    7327              :                 {
    7328      1702133 :                 case INTEGER_CST:
    7329      1702133 :                   {
    7330      1702133 :                     {
    7331      1702133 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7332      1702133 :                       tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, GT_EXPR);
    7333      1702133 :                       if (res) return res;
    7334              :                     }
    7335           69 :                     break;
    7336              :                   }
    7337              :                 default:;
    7338              :                 }
    7339              :               break;
    7340              :             }
    7341              :           default:;
    7342              :           }
    7343              :         break;
    7344              :       }
    7345       758082 :     case MINUS_EXPR:
    7346       758082 :       {
    7347       758082 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7348       758082 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7349       758082 :         switch (TREE_CODE (_p1))
    7350              :           {
    7351         3608 :           case MINUS_EXPR:
    7352         3608 :             {
    7353         3608 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7354         3608 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7355         3608 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7356              :                 {
    7357          926 :                   {
    7358          926 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7359          926 :                     tree res = generic_simplify_376 (loc, type, _p0, _p1, captures, GT_EXPR);
    7360          926 :                     if (res) return res;
    7361              :                   }
    7362              :                 }
    7363         3608 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7364              :                 {
    7365          172 :                   {
    7366          172 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7367          172 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GT_EXPR);
    7368          172 :                     if (res) return res;
    7369              :                   }
    7370              :                 }
    7371              :               break;
    7372              :             }
    7373              :           default:;
    7374              :           }
    7375              :         break;
    7376              :       }
    7377        66559 :     case POINTER_DIFF_EXPR:
    7378        66559 :       {
    7379        66559 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7380        66559 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7381        66559 :         switch (TREE_CODE (_p1))
    7382              :           {
    7383          309 :           case POINTER_DIFF_EXPR:
    7384          309 :             {
    7385          309 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7386          309 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7387          309 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7388              :                 {
    7389           43 :                   {
    7390           43 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7391           43 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, GT_EXPR);
    7392           43 :                     if (res) return res;
    7393              :                   }
    7394              :                 }
    7395          266 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7396              :                 {
    7397            0 :                   {
    7398            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    7399            0 :                     tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, GT_EXPR);
    7400            0 :                     if (res) return res;
    7401              :                   }
    7402              :                 }
    7403              :               break;
    7404              :             }
    7405              :           default:;
    7406              :           }
    7407              :         break;
    7408              :       }
    7409     19165809 :     default:;
    7410              :     }
    7411     19165809 :   switch (TREE_CODE (_p1))
    7412              :     {
    7413       111724 :     case PLUS_EXPR:
    7414       111724 :       {
    7415       111724 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7416       111724 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7417       111724 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7418              :           {
    7419            0 :             {
    7420            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7421            0 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, LT_EXPR);
    7422            0 :               if (res) return res;
    7423              :             }
    7424              :           }
    7425       111724 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7426              :           {
    7427            4 :             {
    7428            4 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    7429            4 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, LT_EXPR);
    7430            4 :               if (res) return res;
    7431              :             }
    7432              :           }
    7433              :         break;
    7434              :       }
    7435        12032 :     case MINUS_EXPR:
    7436        12032 :       {
    7437        12032 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7438        12032 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7439        12032 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7440              :           {
    7441            0 :             {
    7442            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    7443            0 :               tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, GT_EXPR);
    7444            0 :               if (res) return res;
    7445              :             }
    7446              :           }
    7447              :         break;
    7448              :       }
    7449     19165809 :     default:;
    7450              :     }
    7451     19165809 :   switch (TREE_CODE (_p0))
    7452              :     {
    7453       758082 :     case MINUS_EXPR:
    7454       758082 :       {
    7455       758082 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7456       758082 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7457       758082 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7458              :           {
    7459        15690 :             {
    7460        15690 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    7461        15690 :               tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, LT_EXPR);
    7462        15690 :               if (res) return res;
    7463              :             }
    7464              :           }
    7465              :         break;
    7466              :       }
    7467        20100 :     case BIT_AND_EXPR:
    7468        20100 :       {
    7469        20100 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7470        20100 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7471        20100 :         if (tree_expr_nonnegative_p (_q20))
    7472              :           {
    7473        18132 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7474              :               {
    7475            0 :                 {
    7476            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7477            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    7478            0 :                   if (res) return res;
    7479              :                 }
    7480              :               }
    7481              :           }
    7482        20100 :         if (tree_expr_nonnegative_p (_q21))
    7483              :           {
    7484        19189 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7485              :               {
    7486         3936 :                 {
    7487         3936 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7488         3936 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    7489         3936 :                   if (res) return res;
    7490              :                 }
    7491              :               }
    7492              :           }
    7493              :         break;
    7494              :       }
    7495     19161830 :     default:;
    7496              :     }
    7497     19161830 :   switch (TREE_CODE (_p1))
    7498              :     {
    7499           96 :     case BIT_IOR_EXPR:
    7500           96 :       {
    7501           96 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7502           96 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7503           96 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7504              :           {
    7505            0 :             if (tree_expr_nonnegative_p (_q30))
    7506              :               {
    7507            0 :                 {
    7508            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7509            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    7510            0 :                   if (res) return res;
    7511              :                 }
    7512              :               }
    7513              :           }
    7514           96 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7515              :           {
    7516            0 :             if (tree_expr_nonnegative_p (_q31))
    7517              :               {
    7518            0 :                 {
    7519            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7520            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    7521            0 :                   if (res) return res;
    7522              :                 }
    7523              :               }
    7524              :           }
    7525              :         break;
    7526              :       }
    7527     19161830 :     default:;
    7528              :     }
    7529     19161830 :   switch (TREE_CODE (_p0))
    7530              :     {
    7531        14566 :     case MAX_EXPR:
    7532        14566 :       {
    7533        14566 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7534        14566 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7535        14566 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7536              :           {
    7537            1 :             {
    7538            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7539            1 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    7540            1 :               if (res) return res;
    7541              :             }
    7542              :           }
    7543        14565 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7544              :           {
    7545           12 :             {
    7546           12 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7547           12 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    7548           12 :               if (res) return res;
    7549              :             }
    7550              :           }
    7551        14556 :         switch (TREE_CODE (_q21))
    7552              :           {
    7553        13889 :           case INTEGER_CST:
    7554        13889 :             {
    7555        13889 :               switch (TREE_CODE (_p1))
    7556              :                 {
    7557            0 :                 case INTEGER_CST:
    7558            0 :                   {
    7559            0 :                     {
    7560            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7561            0 :                       tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, BIT_IOR_EXPR);
    7562            0 :                       if (res) return res;
    7563              :                     }
    7564            0 :                     break;
    7565              :                   }
    7566              :                 default:;
    7567              :                 }
    7568              :               break;
    7569              :             }
    7570              :           default:;
    7571              :           }
    7572              :         break;
    7573              :       }
    7574     19161820 :     default:;
    7575              :     }
    7576     19161820 :   switch (TREE_CODE (_p1))
    7577              :     {
    7578          152 :     case MIN_EXPR:
    7579          152 :       {
    7580          152 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7581          152 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7582          152 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7583              :           {
    7584            0 :             {
    7585            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7586            0 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    7587            0 :               if (res) return res;
    7588              :             }
    7589              :           }
    7590          152 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7591              :           {
    7592            0 :             {
    7593            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7594            0 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    7595            0 :               if (res) return res;
    7596              :             }
    7597              :           }
    7598              :         break;
    7599              :       }
    7600          696 :     case MAX_EXPR:
    7601          696 :       {
    7602          696 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7603          696 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7604          696 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7605              :           {
    7606            0 :             {
    7607            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7608            0 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    7609            0 :               if (res) return res;
    7610              :             }
    7611              :           }
    7612          696 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7613              :           {
    7614            0 :             {
    7615            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7616            0 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    7617            0 :               if (res) return res;
    7618              :             }
    7619              :           }
    7620              :         break;
    7621              :       }
    7622     19161820 :     default:;
    7623              :     }
    7624     19161820 :   switch (TREE_CODE (_p0))
    7625              :     {
    7626        33059 :     case MIN_EXPR:
    7627        33059 :       {
    7628        33059 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7629        33059 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7630        33059 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7631              :           {
    7632            1 :             {
    7633            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7634            1 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    7635            1 :               if (res) return res;
    7636              :             }
    7637              :           }
    7638        33058 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7639              :           {
    7640            1 :             {
    7641            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7642            1 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    7643            1 :               if (res) return res;
    7644              :             }
    7645              :           }
    7646        33057 :         switch (TREE_CODE (_q21))
    7647              :           {
    7648        19756 :           case INTEGER_CST:
    7649        19756 :             {
    7650        19756 :               switch (TREE_CODE (_p1))
    7651              :                 {
    7652           61 :                 case INTEGER_CST:
    7653           61 :                   {
    7654           61 :                     {
    7655           61 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7656           61 :                       tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, MIN_EXPR, GT_EXPR, BIT_AND_EXPR);
    7657           61 :                       if (res) return res;
    7658              :                     }
    7659            0 :                     break;
    7660              :                   }
    7661              :                 default:;
    7662              :                 }
    7663              :               break;
    7664              :             }
    7665              :           default:;
    7666              :           }
    7667              :         break;
    7668              :       }
    7669          858 :     case VEC_COND_EXPR:
    7670          858 :       {
    7671          858 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7672          858 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7673          858 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7674          858 :         switch (TREE_CODE (_p1))
    7675              :           {
    7676           14 :           case VEC_COND_EXPR:
    7677           14 :             {
    7678           14 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7679           14 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7680           14 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7681           14 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7682              :                 {
    7683            0 :                   {
    7684            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7685            0 :                     if (VECTOR_TYPE_P (type)
    7686            0 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    7687            0 :  || types_match (type, TREE_TYPE (captures[2]))
    7688            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7689              :  || (optimize_vectors_before_lowering_p ()
    7690            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7691              : )
    7692              :                       {
    7693            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1619;
    7694            0 :                         {
    7695            0 :                           tree res_op0;
    7696            0 :                           res_op0 = captures[1];
    7697            0 :                           tree res_op1;
    7698            0 :                           {
    7699            0 :                             tree _o1[2], _r1;
    7700            0 :                             _o1[0] = captures[2];
    7701            0 :                             _o1[1] = captures[5];
    7702            0 :                             _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    7703            0 :                             if (EXPR_P (_r1))
    7704            0 :                               goto next_after_fail1619;
    7705            0 :                             res_op1 = _r1;
    7706              :                           }
    7707            0 :                           tree res_op2;
    7708            0 :                           {
    7709            0 :                             tree _o1[2], _r1;
    7710            0 :                             _o1[0] = captures[3];
    7711            0 :                             _o1[1] = captures[6];
    7712            0 :                             _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    7713            0 :                             if (EXPR_P (_r1))
    7714            0 :                               goto next_after_fail1619;
    7715            0 :                             res_op2 = _r1;
    7716              :                           }
    7717            0 :                           tree _r;
    7718            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7719            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    7720            0 :                           return _r;
    7721              :                         }
    7722            0 : next_after_fail1619:;
    7723              :                       }
    7724              :                   }
    7725              :                 }
    7726              :               break;
    7727              :             }
    7728          858 :           default:;
    7729              :           }
    7730          858 :         {
    7731          858 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7732          858 :           if (VECTOR_TYPE_P (type)
    7733          858 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    7734          858 :  || types_match (type, TREE_TYPE (captures[2]))
    7735          858 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7736              :  || (optimize_vectors_before_lowering_p ()
    7737           10 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7738              : )
    7739              :             {
    7740          858 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1620;
    7741          858 :               {
    7742          858 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1620;
    7743            9 :                 tree res_op0;
    7744            9 :                 res_op0 = captures[1];
    7745            9 :                 tree res_op1;
    7746            9 :                 {
    7747            9 :                   tree _o1[2], _r1;
    7748            9 :                   _o1[0] = captures[2];
    7749            9 :                   _o1[1] = unshare_expr (captures[4]);
    7750            9 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    7751            9 :                   if (EXPR_P (_r1))
    7752            6 :                     goto next_after_fail1620;
    7753            3 :                   res_op1 = _r1;
    7754              :                 }
    7755            3 :                 tree res_op2;
    7756            3 :                 {
    7757            3 :                   tree _o1[2], _r1;
    7758            3 :                   _o1[0] = captures[3];
    7759            3 :                   _o1[1] = captures[4];
    7760            3 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    7761            3 :                   if (EXPR_P (_r1))
    7762            3 :                     goto next_after_fail1620;
    7763            0 :                   res_op2 = _r1;
    7764              :                 }
    7765            0 :                 tree _r;
    7766            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7767            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    7768            0 :                 return _r;
    7769              :               }
    7770          858 : next_after_fail1620:;
    7771              :             }
    7772              :         }
    7773          858 :         break;
    7774              :       }
    7775     19161757 :     default:;
    7776              :     }
    7777     19161757 :   switch (TREE_CODE (_p1))
    7778              :     {
    7779           74 :     case VEC_COND_EXPR:
    7780           74 :       {
    7781           74 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7782           74 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7783           74 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7784           74 :         {
    7785           74 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7786           74 :           if (VECTOR_TYPE_P (type)
    7787           74 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    7788           74 :  || types_match (type, TREE_TYPE (captures[3]))
    7789           74 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    7790              :  || (optimize_vectors_before_lowering_p ()
    7791            7 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    7792              : )
    7793              :             {
    7794           74 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1621;
    7795           74 :               {
    7796           74 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1621;
    7797            0 :                 tree res_op0;
    7798            0 :                 res_op0 = captures[2];
    7799            0 :                 tree res_op1;
    7800            0 :                 {
    7801            0 :                   tree _o1[2], _r1;
    7802            0 :                   _o1[0] = unshare_expr (captures[0]);
    7803            0 :                   _o1[1] = captures[3];
    7804            0 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    7805            0 :                   if (EXPR_P (_r1))
    7806            0 :                     goto next_after_fail1621;
    7807            0 :                   res_op1 = _r1;
    7808              :                 }
    7809            0 :                 tree res_op2;
    7810            0 :                 {
    7811            0 :                   tree _o1[2], _r1;
    7812            0 :                   _o1[0] = captures[0];
    7813            0 :                   _o1[1] = captures[4];
    7814            0 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    7815            0 :                   if (EXPR_P (_r1))
    7816            0 :                     goto next_after_fail1621;
    7817            0 :                   res_op2 = _r1;
    7818              :                 }
    7819            0 :                 tree _r;
    7820            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7821            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    7822            0 :                 return _r;
    7823              :               }
    7824           74 : next_after_fail1621:;
    7825              :             }
    7826              :         }
    7827           74 :         break;
    7828              :       }
    7829     19161757 :     default:;
    7830              :     }
    7831     19161757 : if (uniform_integer_cst_p (_p1))
    7832              :   {
    7833     13318387 :     {
    7834     13318387 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7835     13318387 :       tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
    7836     13318387 :       if (res) return res;
    7837              :     }
    7838              :   }
    7839     19083626 :   switch (TREE_CODE (_p0))
    7840              :     {
    7841       170726 :     case MULT_EXPR:
    7842       170726 :       {
    7843       170726 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7844       170726 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7845       170726 :         switch (TREE_CODE (_q21))
    7846              :           {
    7847       132302 :           case INTEGER_CST:
    7848       132302 :             {
    7849       132302 :               if (integer_zerop (_p1))
    7850              :                 {
    7851         7377 :                   {
    7852         7377 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7853         7377 :                     tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    7854         7377 :                     if (res) return res;
    7855              :                   }
    7856              :                 }
    7857              :               break;
    7858              :             }
    7859              :           default:;
    7860              :           }
    7861              :         break;
    7862              :       }
    7863     19081208 :     default:;
    7864              :     }
    7865     19081208 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    7866              :     {
    7867         1310 :       {
    7868         1310 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7869         1310 :         tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, GT_EXPR);
    7870         1310 :         if (res) return res;
    7871              :       }
    7872              :     }
    7873     19079898 :   switch (TREE_CODE (_p0))
    7874              :     {
    7875       913345 :     case BIT_NOT_EXPR:
    7876       913345 :       {
    7877       913345 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7878       913345 :         switch (TREE_CODE (_p1))
    7879              :           {
    7880           10 :           case BIT_NOT_EXPR:
    7881           10 :             {
    7882           10 :               tree _q40 = TREE_OPERAND (_p1, 0);
    7883           10 :               {
    7884           10 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    7885           10 :                 tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, GT_EXPR);
    7886           10 :                 if (res) return res;
    7887              :               }
    7888            0 :               break;
    7889              :             }
    7890       913335 :           default:;
    7891              :           }
    7892       913335 :       {
    7893       913335 :         tree _p1_pops[1];
    7894       913335 :         if (tree_nop_convert (_p1, _p1_pops))
    7895              :           {
    7896            2 :             tree _q40 = _p1_pops[0];
    7897            2 :             switch (TREE_CODE (_q40))
    7898              :               {
    7899            0 :               case BIT_NOT_EXPR:
    7900            0 :                 {
    7901            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    7902            0 :                   {
    7903            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    7904            0 :                     tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, GT_EXPR);
    7905            0 :                     if (res) return res;
    7906              :                   }
    7907            0 :                   break;
    7908              :                 }
    7909              :               default:;
    7910              :               }
    7911              :           }
    7912              :       }
    7913       913335 :       if (CONSTANT_CLASS_P (_p1))
    7914              :         {
    7915       911064 :           {
    7916       911064 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7917       911064 :             tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    7918       911064 :             if (res) return res;
    7919              :           }
    7920              :         }
    7921              :         break;
    7922              :       }
    7923     18168824 :     default:;
    7924              :     }
    7925     18168824 : {
    7926     18168824 :   tree _p0_pops[1];
    7927     18168824 :   if (tree_nop_convert (_p0, _p0_pops))
    7928              :     {
    7929       976669 :       tree _q20 = _p0_pops[0];
    7930       976669 :       switch (TREE_CODE (_q20))
    7931              :         {
    7932            0 :         case BIT_NOT_EXPR:
    7933            0 :           {
    7934            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    7935            0 :             switch (TREE_CODE (_p1))
    7936              :               {
    7937            0 :               case BIT_NOT_EXPR:
    7938            0 :                 {
    7939            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    7940            0 :                   {
    7941            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    7942            0 :                     tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, GT_EXPR);
    7943            0 :                     if (res) return res;
    7944              :                   }
    7945            0 :                   break;
    7946              :                 }
    7947            0 :               default:;
    7948              :               }
    7949            0 :           {
    7950            0 :             tree _p1_pops[1];
    7951            0 :             if (tree_nop_convert (_p1, _p1_pops))
    7952              :               {
    7953            0 :                 tree _q50 = _p1_pops[0];
    7954            0 :                 switch (TREE_CODE (_q50))
    7955              :                   {
    7956            0 :                   case BIT_NOT_EXPR:
    7957            0 :                     {
    7958            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    7959            0 :                       {
    7960            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    7961            0 :                         tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, GT_EXPR);
    7962            0 :                         if (res) return res;
    7963              :                       }
    7964            0 :                       break;
    7965              :                     }
    7966              :                   default:;
    7967              :                   }
    7968              :               }
    7969              :           }
    7970            0 :           if (CONSTANT_CLASS_P (_p1))
    7971              :             {
    7972            0 :               {
    7973            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    7974            0 :                 tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    7975            0 :                 if (res) return res;
    7976              :               }
    7977              :             }
    7978              :             break;
    7979              :           }
    7980              :         default:;
    7981              :         }
    7982              :     }
    7983              : }
    7984     18168824 :   switch (TREE_CODE (_p1))
    7985              :     {
    7986       813223 :     case REAL_CST:
    7987       813223 :       {
    7988       813223 :         {
    7989       813223 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7990       813223 :           tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, GT_EXPR);
    7991       813223 :           if (res) return res;
    7992              :         }
    7993       813167 :         break;
    7994              :       }
    7995     18168768 :     default:;
    7996              :     }
    7997     18168768 :   switch (TREE_CODE (_p0))
    7998              :     {
    7999      2115831 :     case PLUS_EXPR:
    8000      2115831 :       {
    8001      2115831 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8002      2115831 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8003      2115831 :         switch (TREE_CODE (_q21))
    8004              :           {
    8005          478 :           case REAL_CST:
    8006          478 :             {
    8007          478 :               switch (TREE_CODE (_p1))
    8008              :                 {
    8009          199 :                 case REAL_CST:
    8010          199 :                   {
    8011          199 :                     {
    8012          199 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8013          199 :                       tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR);
    8014          199 :                       if (res) return res;
    8015              :                     }
    8016          199 :                     break;
    8017              :                   }
    8018              :                 default:;
    8019              :                 }
    8020              :               break;
    8021              :             }
    8022      1947702 :           case INTEGER_CST:
    8023      1947702 :             {
    8024      1947702 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8025              :                 {
    8026         1332 :                   {
    8027         1332 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    8028         1332 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    8029         1332 :                     if (res) return res;
    8030              :                   }
    8031              :                 }
    8032              :               break;
    8033              :             }
    8034              :           default:;
    8035              :           }
    8036              :         break;
    8037              :       }
    8038       747823 :     case MINUS_EXPR:
    8039       747823 :       {
    8040       747823 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8041       747823 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8042       747823 :         switch (TREE_CODE (_q21))
    8043              :           {
    8044          743 :           case REAL_CST:
    8045          743 :             {
    8046          743 :               switch (TREE_CODE (_p1))
    8047              :                 {
    8048          529 :                 case REAL_CST:
    8049          529 :                   {
    8050          529 :                     {
    8051          529 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8052          529 :                       tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, MINUS_EXPR, GT_EXPR);
    8053          529 :                       if (res) return res;
    8054              :                     }
    8055          527 :                     break;
    8056              :                   }
    8057              :                 default:;
    8058              :                 }
    8059              :               break;
    8060              :             }
    8061       747821 :           default:;
    8062              :           }
    8063       747821 :         switch (TREE_CODE (_q20))
    8064              :           {
    8065           43 :           case REAL_CST:
    8066           43 :             {
    8067           43 :               switch (TREE_CODE (_p1))
    8068              :                 {
    8069           37 :                 case REAL_CST:
    8070           37 :                   {
    8071           37 :                     {
    8072           37 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8073           37 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, GT_EXPR);
    8074           37 :                       if (res) return res;
    8075              :                     }
    8076           35 :                     break;
    8077              :                   }
    8078              :                 default:;
    8079              :                 }
    8080              :               break;
    8081              :             }
    8082              :           default:;
    8083              :           }
    8084              :         break;
    8085              :       }
    8086        39605 :     case FLOAT_EXPR:
    8087        39605 :       {
    8088        39605 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8089        39605 :         switch (TREE_CODE (_p1))
    8090              :           {
    8091           30 :           case FLOAT_EXPR:
    8092           30 :             {
    8093           30 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8094           30 :               {
    8095           30 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8096           30 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
    8097           30 :                 if (res) return res;
    8098              :               }
    8099           30 :               break;
    8100              :             }
    8101        37890 :           case REAL_CST:
    8102        37890 :             {
    8103        37890 :               {
    8104        37890 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8105        37890 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
    8106        37890 :                 if (res) return res;
    8107              :               }
    8108        19121 :               break;
    8109              :             }
    8110              :           default:;
    8111              :           }
    8112              :         break;
    8113              :       }
    8114        20386 :     case EXACT_DIV_EXPR:
    8115        20386 :       {
    8116        20386 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8117        20386 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8118        20386 :         switch (TREE_CODE (_q21))
    8119              :           {
    8120        20386 :           case INTEGER_CST:
    8121        20386 :             {
    8122        20386 :               switch (TREE_CODE (_p1))
    8123              :                 {
    8124          181 :                 case INTEGER_CST:
    8125          181 :                   {
    8126          181 :                     {
    8127          181 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8128          181 :                       tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GT_EXPR);
    8129          181 :                       if (res) return res;
    8130              :                     }
    8131            0 :                     break;
    8132              :                   }
    8133              :                 default:;
    8134              :                 }
    8135              :               break;
    8136              :             }
    8137              :           default:;
    8138              :           }
    8139              :         break;
    8140              :       }
    8141      2552418 :     CASE_CONVERT:
    8142      2552418 :       {
    8143      2552418 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8144      2552418 :         switch (TREE_CODE (_q20))
    8145              :           {
    8146            5 :           case EXACT_DIV_EXPR:
    8147            5 :             {
    8148            5 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8149            5 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8150            5 :               switch (TREE_CODE (_q31))
    8151              :                 {
    8152            5 :                 case INTEGER_CST:
    8153            5 :                   {
    8154            5 :                     switch (TREE_CODE (_p1))
    8155              :                       {
    8156            0 :                       case INTEGER_CST:
    8157            0 :                         {
    8158            0 :                           {
    8159            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8160            0 :                             tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8161            0 :                             if (res) return res;
    8162              :                           }
    8163            0 :                           break;
    8164              :                         }
    8165              :                       default:;
    8166              :                       }
    8167              :                     break;
    8168              :                   }
    8169              :                 default:;
    8170              :                 }
    8171              :               break;
    8172              :             }
    8173      2552418 :           default:;
    8174              :           }
    8175      2552418 :         switch (TREE_CODE (_p1))
    8176              :           {
    8177       197828 :           CASE_CONVERT:
    8178       197828 :             {
    8179       197828 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8180       197828 :               {
    8181       197828 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8182       197828 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, GT_EXPR);
    8183       197828 :                 if (res) return res;
    8184              :               }
    8185       145810 :               break;
    8186              :             }
    8187      2500400 :           default:;
    8188              :           }
    8189      2500400 :         {
    8190      2500400 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    8191      2500400 :           tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, GT_EXPR);
    8192      2500400 :           if (res) return res;
    8193              :         }
    8194      1215494 :         switch (TREE_CODE (_q20))
    8195              :           {
    8196          849 :           case ADDR_EXPR:
    8197          849 :             {
    8198          849 :               switch (TREE_CODE (_p1))
    8199              :                 {
    8200          724 :                 CASE_CONVERT:
    8201          724 :                   {
    8202          724 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    8203          724 :                     switch (TREE_CODE (_q40))
    8204              :                       {
    8205          724 :                       case ADDR_EXPR:
    8206          724 :                         {
    8207          724 :                           {
    8208          724 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8209          724 :                             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, GT_EXPR);
    8210          724 :                             if (res) return res;
    8211              :                           }
    8212          231 :                           break;
    8213              :                         }
    8214              :                       default:;
    8215              :                       }
    8216              :                     break;
    8217              :                   }
    8218            0 :                 case ADDR_EXPR:
    8219            0 :                   {
    8220            0 :                     {
    8221            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8222            0 :                       tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, GT_EXPR);
    8223            0 :                       if (res) return res;
    8224              :                     }
    8225            0 :                     break;
    8226              :                   }
    8227              :                 default:;
    8228              :                 }
    8229              :               break;
    8230              :             }
    8231      1215001 :           default:;
    8232              :           }
    8233      1215001 :         if (uniform_integer_cst_p (_p1))
    8234              :           {
    8235       308097 :             {
    8236       308097 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8237       308097 :               tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GT_EXPR);
    8238       308097 :               if (res) return res;
    8239              :             }
    8240              :           }
    8241              :         break;
    8242              :       }
    8243        16161 :     case BIT_AND_EXPR:
    8244        16161 :       {
    8245        16161 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8246        16161 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8247        16161 :         switch (TREE_CODE (_q21))
    8248              :           {
    8249        15138 :           case INTEGER_CST:
    8250        15138 :             {
    8251        15138 :               switch (TREE_CODE (_p1))
    8252              :                 {
    8253         9278 :                 case INTEGER_CST:
    8254         9278 :                   {
    8255         9278 :                     {
    8256         9278 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8257         9278 :                       tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    8258         9278 :                       if (res) return res;
    8259              :                     }
    8260         8765 :                     break;
    8261              :                   }
    8262              :                 default:;
    8263              :                 }
    8264              :               break;
    8265              :             }
    8266              :           default:;
    8267              :           }
    8268              :         break;
    8269              :       }
    8270        10808 :     case NEGATE_EXPR:
    8271        10808 :       {
    8272        10808 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8273        10808 :         switch (TREE_CODE (_p1))
    8274              :           {
    8275            4 :           case NEGATE_EXPR:
    8276            4 :             {
    8277            4 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8278            4 :               {
    8279            4 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8280            4 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8281            4 :                 if (res) return res;
    8282              :               }
    8283            4 :               break;
    8284              :             }
    8285        10808 :           default:;
    8286              :           }
    8287        10808 :       if (CONSTANT_CLASS_P (_p1))
    8288              :         {
    8289          699 :           {
    8290          699 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8291          699 :             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8292          699 :             if (res) return res;
    8293              :           }
    8294              :         }
    8295              :         break;
    8296              :       }
    8297         4573 :     case ADDR_EXPR:
    8298         4573 :       {
    8299         4573 :         switch (TREE_CODE (_p1))
    8300              :           {
    8301            0 :           CASE_CONVERT:
    8302            0 :             {
    8303            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    8304            0 :               switch (TREE_CODE (_q30))
    8305              :                 {
    8306            0 :                 case ADDR_EXPR:
    8307            0 :                   {
    8308            0 :                     {
    8309            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    8310            0 :                       tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, GT_EXPR);
    8311            0 :                       if (res) return res;
    8312              :                     }
    8313            0 :                     break;
    8314              :                   }
    8315              :                 default:;
    8316              :                 }
    8317              :               break;
    8318              :             }
    8319         4268 :           case ADDR_EXPR:
    8320         4268 :             {
    8321         4268 :               {
    8322         4268 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    8323         4268 :                 tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, GT_EXPR);
    8324         4268 :                 if (res) return res;
    8325              :               }
    8326          702 :               break;
    8327              :             }
    8328              :           default:;
    8329              :           }
    8330              :         break;
    8331              :       }
    8332       316476 :     case CALL_EXPR:
    8333       316476 :       switch (get_call_combined_fn (_p0))
    8334              :         {
    8335            1 :         case CFN_BUILT_IN_SQRTF:
    8336            1 :           if (call_expr_nargs (_p0) == 1)
    8337              :     {
    8338            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8339            1 :               switch (TREE_CODE (_p1))
    8340              :                 {
    8341            1 :                 case REAL_CST:
    8342            1 :                   {
    8343            1 :                     {
    8344            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8345            1 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GT_EXPR);
    8346            1 :                       if (res) return res;
    8347              :                     }
    8348            0 :                     break;
    8349              :                   }
    8350            0 :                 case CALL_EXPR:
    8351            0 :                   switch (get_call_combined_fn (_p1))
    8352              :                     {
    8353            0 :                     case CFN_BUILT_IN_SQRTF:
    8354            0 :                       if (call_expr_nargs (_p1) == 1)
    8355              :     {
    8356            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8357            0 :                           {
    8358            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8359            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GT_EXPR);
    8360            0 :                             if (res) return res;
    8361              :                           }
    8362              :                         }
    8363              :                       break;
    8364              :                     default:;
    8365              :                     }
    8366              :                   break;
    8367              :                 default:;
    8368              :                 }
    8369              :             }
    8370              :           break;
    8371            0 :         case CFN_BUILT_IN_SQRTL:
    8372            0 :           if (call_expr_nargs (_p0) == 1)
    8373              :     {
    8374            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8375            0 :               switch (TREE_CODE (_p1))
    8376              :                 {
    8377            0 :                 case REAL_CST:
    8378            0 :                   {
    8379            0 :                     {
    8380            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8381            0 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GT_EXPR);
    8382            0 :                       if (res) return res;
    8383              :                     }
    8384            0 :                     break;
    8385              :                   }
    8386            0 :                 case CALL_EXPR:
    8387            0 :                   switch (get_call_combined_fn (_p1))
    8388              :                     {
    8389            0 :                     case CFN_BUILT_IN_SQRTL:
    8390            0 :                       if (call_expr_nargs (_p1) == 1)
    8391              :     {
    8392            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8393            0 :                           {
    8394            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8395            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GT_EXPR);
    8396            0 :                             if (res) return res;
    8397              :                           }
    8398              :                         }
    8399              :                       break;
    8400              :                     default:;
    8401              :                     }
    8402              :                   break;
    8403              :                 default:;
    8404              :                 }
    8405              :             }
    8406              :           break;
    8407            3 :         case CFN_BUILT_IN_SQRT:
    8408            3 :           if (call_expr_nargs (_p0) == 1)
    8409              :     {
    8410            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8411            3 :               switch (TREE_CODE (_p1))
    8412              :                 {
    8413            3 :                 case REAL_CST:
    8414            3 :                   {
    8415            3 :                     {
    8416            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8417            3 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GT_EXPR);
    8418            3 :                       if (res) return res;
    8419              :                     }
    8420            0 :                     break;
    8421              :                   }
    8422            0 :                 case CALL_EXPR:
    8423            0 :                   switch (get_call_combined_fn (_p1))
    8424              :                     {
    8425            0 :                     case CFN_BUILT_IN_SQRT:
    8426            0 :                       if (call_expr_nargs (_p1) == 1)
    8427              :     {
    8428            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8429            0 :                           {
    8430            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8431            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GT_EXPR);
    8432            0 :                             if (res) return res;
    8433              :                           }
    8434              :                         }
    8435              :                       break;
    8436              :                     default:;
    8437              :                     }
    8438              :                   break;
    8439              :                 default:;
    8440              :                 }
    8441              :             }
    8442              :           break;
    8443            0 :         case CFN_SQRT:
    8444            0 :           if (call_expr_nargs (_p0) == 1)
    8445              :     {
    8446            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8447            0 :               switch (TREE_CODE (_p1))
    8448              :                 {
    8449            0 :                 case REAL_CST:
    8450            0 :                   {
    8451            0 :                     {
    8452            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8453            0 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_SQRT, GT_EXPR);
    8454            0 :                       if (res) return res;
    8455              :                     }
    8456            0 :                     break;
    8457              :                   }
    8458            0 :                 case CALL_EXPR:
    8459            0 :                   switch (get_call_combined_fn (_p1))
    8460              :                     {
    8461            0 :                     case CFN_SQRT:
    8462            0 :                       if (call_expr_nargs (_p1) == 1)
    8463              :     {
    8464            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8465            0 :                           {
    8466            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8467            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_SQRT, GT_EXPR);
    8468            0 :                             if (res) return res;
    8469              :                           }
    8470              :                         }
    8471              :                       break;
    8472              :                     default:;
    8473              :                     }
    8474              :                   break;
    8475              :                 default:;
    8476              :                 }
    8477              :             }
    8478              :           break;
    8479              :         default:;
    8480              :         }
    8481              :       break;
    8482     16779376 :     default:;
    8483              :     }
    8484     16779376 :   if (uniform_integer_cst_p (_p1))
    8485              :     {
    8486     11014012 :       {
    8487     11014012 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    8488     11014012 :         tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, GT_EXPR);
    8489     11014012 :         if (res) return res;
    8490              :       }
    8491              :     }
    8492     15860939 :   switch (TREE_CODE (_p0))
    8493              :     {
    8494      1144675 :     CASE_CONVERT:
    8495      1144675 :       {
    8496      1144675 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8497      1144675 :         switch (TREE_CODE (_q20))
    8498              :           {
    8499            1 :           case NE_EXPR:
    8500            1 :             {
    8501            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8502            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8503            1 :               if (integer_zerop (_q31))
    8504              :                 {
    8505            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    8506              :                     {
    8507            1 :                       {
    8508            1 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    8509            1 :                         if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    8510              : )
    8511              :                           {
    8512            1 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1622;
    8513            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1622;
    8514            1 :                             {
    8515            1 :                               tree _r;
    8516            1 :                               _r =  constant_boolean_node (false, type);
    8517            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
    8518            1 :                               return _r;
    8519              :                             }
    8520              : next_after_fail1622:;
    8521              :                           }
    8522              :                       }
    8523              :                     }
    8524              :                 }
    8525              :               break;
    8526              :             }
    8527        50625 :           case PLUS_EXPR:
    8528        50625 :             {
    8529        50625 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8530        50625 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8531        50625 :               switch (TREE_CODE (_q30))
    8532              :                 {
    8533        34208 :                 CASE_CONVERT:
    8534        34208 :                   {
    8535        34208 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8536        34208 :                     switch (TREE_CODE (_q31))
    8537              :                       {
    8538        34204 :                       case INTEGER_CST:
    8539        34204 :                         {
    8540        34204 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    8541              :                             {
    8542            2 :                               {
    8543            2 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    8544            2 :                                 tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    8545            2 :                                 if (res) return res;
    8546              :                               }
    8547              :                             }
    8548              :                           break;
    8549              :                         }
    8550              :                       default:;
    8551              :                       }
    8552              :                     break;
    8553              :                   }
    8554              :                 default:;
    8555              :                 }
    8556              :               break;
    8557              :             }
    8558              :           default:;
    8559              :           }
    8560              :         break;
    8561              :       }
    8562     15860936 :     default:;
    8563              :     }
    8564     15860936 :   switch (TREE_CODE (_p1))
    8565              :     {
    8566       749921 :     CASE_CONVERT:
    8567       749921 :       {
    8568       749921 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8569       749921 :         switch (TREE_CODE (_q30))
    8570              :           {
    8571         3340 :           case PLUS_EXPR:
    8572         3340 :             {
    8573         3340 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8574         3340 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8575         3340 :               switch (TREE_CODE (_q40))
    8576              :                 {
    8577         3286 :                 CASE_CONVERT:
    8578         3286 :                   {
    8579         3286 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    8580         3286 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    8581              :                       {
    8582            0 :                         switch (TREE_CODE (_q41))
    8583              :                           {
    8584            0 :                           case INTEGER_CST:
    8585            0 :                             {
    8586            0 :                               {
    8587            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    8588            0 :                                 tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    8589            0 :                                 if (res) return res;
    8590              :                               }
    8591            0 :                               break;
    8592              :                             }
    8593              :                           default:;
    8594              :                           }
    8595              :                       }
    8596              :                     break;
    8597              :                   }
    8598              :                 default:;
    8599              :                 }
    8600              :               break;
    8601              :             }
    8602              :           default:;
    8603              :           }
    8604              :         break;
    8605              :       }
    8606       111724 :     case PLUS_EXPR:
    8607       111724 :       {
    8608       111724 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8609       111724 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8610       111724 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8611              :           {
    8612            4 :             switch (TREE_CODE (_q31))
    8613              :               {
    8614            4 :               case INTEGER_CST:
    8615            4 :                 {
    8616            4 :                   {
    8617            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    8618            4 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    8619            4 :                     if (res) return res;
    8620              :                   }
    8621            0 :                   break;
    8622              :                 }
    8623              :               default:;
    8624              :               }
    8625              :           }
    8626              :         break;
    8627              :       }
    8628     15860932 :     default:;
    8629              :     }
    8630     15860932 :   switch (TREE_CODE (_p0))
    8631              :     {
    8632       656829 :     case MINUS_EXPR:
    8633       656829 :       {
    8634       656829 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8635       656829 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8636       656829 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8637              :           {
    8638         7602 :             {
    8639         7602 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8640         7602 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, GT_EXPR);
    8641         7602 :               if (res) return res;
    8642              :             }
    8643              :           }
    8644              :         break;
    8645              :       }
    8646     15853342 :     default:;
    8647              :     }
    8648     15853342 :   switch (TREE_CODE (_p1))
    8649              :     {
    8650       111720 :     case PLUS_EXPR:
    8651       111720 :       {
    8652       111720 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8653       111720 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8654       111720 :         switch (TREE_CODE (_q30))
    8655              :           {
    8656            3 :           case MINUS_EXPR:
    8657            3 :             {
    8658            3 :               tree _q40 = TREE_OPERAND (_q30, 0);
    8659            3 :               tree _q41 = TREE_OPERAND (_q30, 1);
    8660            3 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    8661              :                 {
    8662            0 :                   if (integer_minus_onep (_q31))
    8663              :                     {
    8664            0 :                       {
    8665            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    8666            0 :                         tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, LT_EXPR);
    8667            0 :                         if (res) return res;
    8668              :                       }
    8669              :                     }
    8670              :                 }
    8671              :               break;
    8672              :             }
    8673              :           default:;
    8674              :           }
    8675              :         break;
    8676              :       }
    8677     15853342 :     default:;
    8678              :     }
    8679     15853342 :   switch (TREE_CODE (_p0))
    8680              :     {
    8681           83 :     case REALPART_EXPR:
    8682           83 :       {
    8683           83 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8684           83 :         switch (TREE_CODE (_q20))
    8685              :           {
    8686            0 :           case CALL_EXPR:
    8687            0 :             switch (get_call_combined_fn (_q20))
    8688              :               {
    8689            0 :               case CFN_SUB_OVERFLOW:
    8690            0 :                 if (call_expr_nargs (_q20) == 2)
    8691              :     {
    8692            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8693            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    8694            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    8695              :                       {
    8696            0 :                         {
    8697            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    8698            0 :                           tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    8699            0 :                           if (res) return res;
    8700              :                         }
    8701              :                       }
    8702              :                   }
    8703              :                 break;
    8704              :               default:;
    8705              :               }
    8706              :             break;
    8707              :           default:;
    8708              :           }
    8709              :         break;
    8710              :       }
    8711     15853342 :     default:;
    8712              :     }
    8713     15853342 :   switch (TREE_CODE (_p1))
    8714              :     {
    8715           20 :     case REALPART_EXPR:
    8716           20 :       {
    8717           20 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8718           20 :         switch (TREE_CODE (_q30))
    8719              :           {
    8720            0 :           case CALL_EXPR:
    8721            0 :             switch (get_call_combined_fn (_q30))
    8722              :               {
    8723            0 :               case CFN_ADD_OVERFLOW:
    8724            0 :                 if (call_expr_nargs (_q30) == 2)
    8725              :     {
    8726            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    8727            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    8728            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    8729              :                       {
    8730            0 :                         {
    8731            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    8732            0 :                           tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    8733            0 :                           if (res) return res;
    8734              :                         }
    8735              :                       }
    8736            0 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    8737              :                       {
    8738            0 :                         {
    8739            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
    8740            0 :                           tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    8741            0 :                           if (res) return res;
    8742              :                         }
    8743              :                       }
    8744              :                   }
    8745              :                 break;
    8746              :               default:;
    8747              :               }
    8748              :             break;
    8749              :           default:;
    8750              :           }
    8751              :         break;
    8752              :       }
    8753         1093 :     case TRUNC_DIV_EXPR:
    8754         1093 :       {
    8755         1093 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8756         1093 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8757         1093 :         if (integer_all_onesp (_q30))
    8758              :           {
    8759            0 :             {
    8760            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    8761            0 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    8762            0 :               if (res) return res;
    8763              :             }
    8764              :           }
    8765              :         break;
    8766              :       }
    8767     15853342 :     default:;
    8768              :     }
    8769     15853342 :   switch (TREE_CODE (_p0))
    8770              :     {
    8771       160954 :     case MULT_EXPR:
    8772       160954 :       {
    8773       160954 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8774       160954 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8775       160954 :         switch (TREE_CODE (_q21))
    8776              :           {
    8777        22120 :           case REAL_CST:
    8778        22120 :             {
    8779        22120 :               switch (TREE_CODE (_p1))
    8780              :                 {
    8781           58 :                 case REAL_CST:
    8782           58 :                   {
    8783           58 :                     {
    8784           58 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8785           58 :                       tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8786           58 :                       if (res) return res;
    8787              :                     }
    8788           57 :                     break;
    8789              :                   }
    8790              :                 default:;
    8791              :                 }
    8792              :               break;
    8793              :             }
    8794              :           default:;
    8795              :           }
    8796              :         break;
    8797              :       }
    8798      2000933 :     case PLUS_EXPR:
    8799      2000933 :       {
    8800      2000933 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8801      2000933 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8802      2000933 :         switch (TREE_CODE (_q21))
    8803              :           {
    8804      1832897 :           case INTEGER_CST:
    8805      1832897 :             {
    8806      1832897 :               switch (TREE_CODE (_p1))
    8807              :                 {
    8808      1266505 :                 case INTEGER_CST:
    8809      1266505 :                   {
    8810      1266505 :                     {
    8811      1266505 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8812      1266505 :                       tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GT_EXPR, LT_EXPR);
    8813      1266505 :                       if (res) return res;
    8814              :                     }
    8815       824972 :                     break;
    8816              :                   }
    8817              :                 default:;
    8818              :                 }
    8819              :               break;
    8820              :             }
    8821              :           default:;
    8822              :           }
    8823              :         break;
    8824              :       }
    8825       649239 :     case MINUS_EXPR:
    8826       649239 :       {
    8827       649239 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8828       649239 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8829       649239 :         switch (TREE_CODE (_q21))
    8830              :           {
    8831         2226 :           case INTEGER_CST:
    8832         2226 :             {
    8833         2226 :               switch (TREE_CODE (_p1))
    8834              :                 {
    8835         2078 :                 case INTEGER_CST:
    8836         2078 :                   {
    8837         2078 :                     {
    8838         2078 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8839         2078 :                       tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GT_EXPR, LT_EXPR);
    8840         2078 :                       if (res) return res;
    8841              :                     }
    8842         1920 :                     break;
    8843              :                   }
    8844              :                 default:;
    8845              :                 }
    8846              :               break;
    8847              :             }
    8848       649081 :           default:;
    8849              :           }
    8850       649081 :         switch (TREE_CODE (_q20))
    8851              :           {
    8852       555853 :           case INTEGER_CST:
    8853       555853 :             {
    8854       555853 :               switch (TREE_CODE (_p1))
    8855              :                 {
    8856       553046 :                 case INTEGER_CST:
    8857       553046 :                   {
    8858       553046 :                     {
    8859       553046 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8860       553046 :                       tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    8861       553046 :                       if (res) return res;
    8862              :                     }
    8863            0 :                     break;
    8864              :                   }
    8865              :                 default:;
    8866              :                 }
    8867              :               break;
    8868              :             }
    8869              :           default:;
    8870              :           }
    8871              :         break;
    8872              :       }
    8873       287925 :     case CALL_EXPR:
    8874       287925 :       switch (get_call_combined_fn (_p0))
    8875              :         {
    8876            4 :         case CFN_BUILT_IN_CTZ:
    8877            4 :           if (call_expr_nargs (_p0) == 1)
    8878              :     {
    8879            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8880            4 :               switch (TREE_CODE (_p1))
    8881              :                 {
    8882            4 :                 case INTEGER_CST:
    8883            4 :                   {
    8884            4 :                     {
    8885            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8886            4 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
    8887            4 :                       if (res) return res;
    8888              :                     }
    8889            0 :                     break;
    8890              :                   }
    8891              :                 default:;
    8892              :                 }
    8893              :             }
    8894              :           break;
    8895           12 :         case CFN_BUILT_IN_FFS:
    8896           12 :           if (call_expr_nargs (_p0) == 1)
    8897              :     {
    8898           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8899           12 :               switch (TREE_CODE (_p1))
    8900              :                 {
    8901           12 :                 case INTEGER_CST:
    8902           12 :                   {
    8903           12 :                     {
    8904           12 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8905           12 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFS);
    8906           12 :                       if (res) return res;
    8907              :                     }
    8908            6 :                     break;
    8909              :                   }
    8910              :                 default:;
    8911              :                 }
    8912              :             }
    8913              :           break;
    8914            0 :         case CFN_BUILT_IN_FFSIMAX:
    8915            0 :           if (call_expr_nargs (_p0) == 1)
    8916              :     {
    8917            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8918            0 :               switch (TREE_CODE (_p1))
    8919              :                 {
    8920            0 :                 case INTEGER_CST:
    8921            0 :                   {
    8922            0 :                     {
    8923            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8924            0 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSIMAX);
    8925            0 :                       if (res) return res;
    8926              :                     }
    8927            0 :                     break;
    8928              :                   }
    8929              :                 default:;
    8930              :                 }
    8931              :             }
    8932              :           break;
    8933           75 :         case CFN_BUILT_IN_POPCOUNT:
    8934           75 :           if (call_expr_nargs (_p0) == 1)
    8935              :     {
    8936           75 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8937           75 :               if (integer_zerop (_p1))
    8938              :                 {
    8939           36 :                   {
    8940           36 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    8941           36 :                     tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT);
    8942           36 :                     if (res) return res;
    8943              :                   }
    8944              :                 }
    8945              :             }
    8946              :           break;
    8947            2 :         case CFN_BUILT_IN_CTZL:
    8948            2 :           if (call_expr_nargs (_p0) == 1)
    8949              :     {
    8950            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8951            2 :               switch (TREE_CODE (_p1))
    8952              :                 {
    8953            2 :                 case INTEGER_CST:
    8954            2 :                   {
    8955            2 :                     {
    8956            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8957            2 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
    8958            2 :                       if (res) return res;
    8959              :                     }
    8960            0 :                     break;
    8961              :                   }
    8962              :                 default:;
    8963              :                 }
    8964              :             }
    8965              :           break;
    8966            8 :         case CFN_BUILT_IN_FFSL:
    8967            8 :           if (call_expr_nargs (_p0) == 1)
    8968              :     {
    8969            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8970            8 :               switch (TREE_CODE (_p1))
    8971              :                 {
    8972            8 :                 case INTEGER_CST:
    8973            8 :                   {
    8974            8 :                     {
    8975            8 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8976            8 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSL);
    8977            8 :                       if (res) return res;
    8978              :                     }
    8979            4 :                     break;
    8980              :                   }
    8981              :                 default:;
    8982              :                 }
    8983              :             }
    8984              :           break;
    8985            3 :         case CFN_BUILT_IN_POPCOUNTLL:
    8986            3 :           if (call_expr_nargs (_p0) == 1)
    8987              :     {
    8988            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8989            3 :               if (integer_zerop (_p1))
    8990              :                 {
    8991            0 :                   {
    8992            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    8993            0 :                     tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8994            0 :                     if (res) return res;
    8995              :                   }
    8996              :                 }
    8997              :             }
    8998              :           break;
    8999            0 :         case CFN_BUILT_IN_CTZIMAX:
    9000            0 :           if (call_expr_nargs (_p0) == 1)
    9001              :     {
    9002            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9003            0 :               switch (TREE_CODE (_p1))
    9004              :                 {
    9005            0 :                 case INTEGER_CST:
    9006            0 :                   {
    9007            0 :                     {
    9008            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9009            0 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
    9010            0 :                       if (res) return res;
    9011              :                     }
    9012            0 :                     break;
    9013              :                   }
    9014              :                 default:;
    9015              :                 }
    9016              :             }
    9017              :           break;
    9018            0 :         case CFN_POPCOUNT:
    9019            0 :           if (call_expr_nargs (_p0) == 1)
    9020              :     {
    9021            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9022            0 :               if (integer_zerop (_p1))
    9023              :                 {
    9024            0 :                   {
    9025            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9026            0 :                     tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_POPCOUNT);
    9027            0 :                     if (res) return res;
    9028              :                   }
    9029              :                 }
    9030              :             }
    9031              :           break;
    9032            0 :         case CFN_CTZ:
    9033            0 :           if (call_expr_nargs (_p0) == 2)
    9034              :     {
    9035            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9036            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9037            0 :               switch (TREE_CODE (_p1))
    9038              :                 {
    9039            0 :                 case INTEGER_CST:
    9040            0 :                   {
    9041            0 :                     {
    9042            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9043            0 :                       tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
    9044            0 :                       if (res) return res;
    9045              :                     }
    9046            0 :                     break;
    9047              :                   }
    9048              :                 default:;
    9049              :                 }
    9050              :             }
    9051            0 :           if (call_expr_nargs (_p0) == 1)
    9052              :     {
    9053            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9054            0 :               switch (TREE_CODE (_p1))
    9055              :                 {
    9056            0 :                 case INTEGER_CST:
    9057            0 :                   {
    9058            0 :                     {
    9059            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9060            0 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_CTZ);
    9061            0 :                       if (res) return res;
    9062              :                     }
    9063            0 :                     break;
    9064              :                   }
    9065              :                 default:;
    9066              :                 }
    9067              :             }
    9068              :           break;
    9069            0 :         case CFN_FFS:
    9070            0 :           if (call_expr_nargs (_p0) == 1)
    9071              :     {
    9072            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9073            0 :               switch (TREE_CODE (_p1))
    9074              :                 {
    9075            0 :                 case INTEGER_CST:
    9076            0 :                   {
    9077            0 :                     {
    9078            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9079            0 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_FFS);
    9080            0 :                       if (res) return res;
    9081              :                     }
    9082            0 :                     break;
    9083              :                   }
    9084              :                 default:;
    9085              :                 }
    9086              :             }
    9087              :           break;
    9088            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
    9089            0 :           if (call_expr_nargs (_p0) == 1)
    9090              :     {
    9091            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9092            0 :               if (integer_zerop (_p1))
    9093              :                 {
    9094            0 :                   {
    9095            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9096            0 :                     tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9097            0 :                     if (res) return res;
    9098              :                   }
    9099              :                 }
    9100              :             }
    9101              :           break;
    9102            3 :         case CFN_BUILT_IN_POPCOUNTL:
    9103            3 :           if (call_expr_nargs (_p0) == 1)
    9104              :     {
    9105            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9106            3 :               if (integer_zerop (_p1))
    9107              :                 {
    9108            0 :                   {
    9109            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9110            0 :                     tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL);
    9111            0 :                     if (res) return res;
    9112              :                   }
    9113              :                 }
    9114              :             }
    9115              :           break;
    9116           18 :         case CFN_BUILT_IN_CTZLL:
    9117           18 :           if (call_expr_nargs (_p0) == 1)
    9118              :     {
    9119           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9120           18 :               switch (TREE_CODE (_p1))
    9121              :                 {
    9122           18 :                 case INTEGER_CST:
    9123           18 :                   {
    9124           18 :                     {
    9125           18 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9126           18 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
    9127           18 :                       if (res) return res;
    9128              :                     }
    9129           16 :                     break;
    9130              :                   }
    9131              :                 default:;
    9132              :                 }
    9133              :             }
    9134              :           break;
    9135            9 :         case CFN_BUILT_IN_FFSLL:
    9136            9 :           if (call_expr_nargs (_p0) == 1)
    9137              :     {
    9138            9 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9139            9 :               switch (TREE_CODE (_p1))
    9140              :                 {
    9141            9 :                 case INTEGER_CST:
    9142            9 :                   {
    9143            9 :                     {
    9144            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9145            9 :                       tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSLL);
    9146            9 :                       if (res) return res;
    9147              :                     }
    9148            4 :                     break;
    9149              :                   }
    9150              :                 default:;
    9151              :                 }
    9152              :             }
    9153              :           break;
    9154              :         default:;
    9155              :         }
    9156              :       break;
    9157              :     default:;
    9158              :     }
    9159              :   return NULL_TREE;
    9160              : }
    9161              : 
    9162              : tree
    9163      9511063 : generic_simplify_BIT_AND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    9164              : {
    9165      9511063 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    9166      9511063 :   switch (TREE_CODE (_p0))
    9167              :     {
    9168        34924 :     case LSHIFT_EXPR:
    9169        34924 :       {
    9170        34924 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9171        34924 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9172        34924 :         switch (TREE_CODE (_p1))
    9173              :           {
    9174            1 :           case LSHIFT_EXPR:
    9175            1 :             {
    9176            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9177            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9178            1 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9179              :                 {
    9180            1 :                   {
    9181            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9182            1 :                     tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
    9183            1 :                     if (res) return res;
    9184              :                   }
    9185              :                 }
    9186              :               break;
    9187              :             }
    9188              :           default:;
    9189              :           }
    9190              :         break;
    9191              :       }
    9192       179284 :     case RSHIFT_EXPR:
    9193       179284 :       {
    9194       179284 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9195       179284 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9196       179284 :         switch (TREE_CODE (_p1))
    9197              :           {
    9198            2 :           case RSHIFT_EXPR:
    9199            2 :             {
    9200            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9201            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9202            2 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9203              :                 {
    9204            2 :                   {
    9205            2 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9206            2 :                     tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
    9207            2 :                     if (res) return res;
    9208              :                   }
    9209              :                 }
    9210              :               break;
    9211              :             }
    9212              :           default:;
    9213              :           }
    9214              :         break;
    9215              :       }
    9216      2723120 :     CASE_CONVERT:
    9217      2723120 :       {
    9218      2723120 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9219      2723120 :         switch (TREE_CODE (_p1))
    9220              :           {
    9221       799574 :           CASE_CONVERT:
    9222       799574 :             {
    9223       799574 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9224       799574 :               {
    9225       799574 :                 tree _q40_pops[1];
    9226       799574 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    9227              :                   {
    9228          250 :                     tree _q50 = _q40_pops[0];
    9229          250 :                     {
    9230          250 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    9231          250 :                       tree res = generic_simplify_441 (loc, type, _p0, _p1, captures);
    9232          250 :                       if (res) return res;
    9233              :                     }
    9234              :                   }
    9235              :               }
    9236       799574 :               break;
    9237              :             }
    9238      2723120 :           default:;
    9239              :           }
    9240      2723120 :         {
    9241      2723120 :           tree _q20_pops[1];
    9242      2723120 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    9243              :             {
    9244          437 :               tree _q30 = _q20_pops[0];
    9245          437 :               switch (TREE_CODE (_p1))
    9246              :                 {
    9247          254 :                 CASE_CONVERT:
    9248          254 :                   {
    9249          254 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    9250          254 :                     {
    9251          254 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    9252          254 :                       tree res = generic_simplify_441 (loc, type, _p0, _p1, captures);
    9253          254 :                       if (res) return res;
    9254              :                     }
    9255          254 :                     break;
    9256              :                   }
    9257              :                 default:;
    9258              :                 }
    9259              :             }
    9260              :         }
    9261      2723120 :         break;
    9262              :       }
    9263      9511060 :     default:;
    9264              :     }
    9265      9511060 :   {
    9266      9511060 :     tree _p1_pops[1];
    9267      9511060 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    9268              :       {
    9269      7579492 :         tree _q30 = _p1_pops[0];
    9270      7579492 :         {
    9271      7579492 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9272      7579492 :           tree res = generic_simplify_441 (loc, type, _p0, _p1, captures);
    9273      7579492 :           if (res) return res;
    9274              :         }
    9275              :       }
    9276              :   }
    9277      9511044 :   {
    9278      9511044 :     tree _p0_pops[1];
    9279      9511044 :     if (tree_maybe_bit_not (_p0, _p0_pops))
    9280              :       {
    9281        70721 :         tree _q20 = _p0_pops[0];
    9282        70721 :         {
    9283        70721 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    9284        70721 :           tree res = generic_simplify_441 (loc, type, _p0, _p1, captures);
    9285        70721 :           if (res) return res;
    9286              :         }
    9287              :       }
    9288              :   }
    9289      9510945 :   switch (TREE_CODE (_p1))
    9290              :     {
    9291        21260 :     case PLUS_EXPR:
    9292        21260 :       {
    9293        21260 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9294        21260 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9295        21260 :         switch (TREE_CODE (_q30))
    9296              :           {
    9297          163 :           case LSHIFT_EXPR:
    9298          163 :             {
    9299          163 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9300          163 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9301          163 :               if (integer_onep (_q40))
    9302              :                 {
    9303          163 :                   if (integer_minus_onep (_q31))
    9304              :                     {
    9305          163 :                       {
    9306          163 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q41 };
    9307          163 :                         if (TYPE_UNSIGNED (type)
    9308              : )
    9309              :                           {
    9310          163 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1655;
    9311          163 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1655;
    9312          163 :                             {
    9313          163 :                               tree res_op0;
    9314          163 :                               res_op0 = captures[0];
    9315          163 :                               tree res_op1;
    9316          163 :                               {
    9317          163 :                                 tree _o1[1], _r1;
    9318          163 :                                 {
    9319          163 :                                   tree _o2[2], _r2;
    9320          163 :                                   _o2[0] =  build_all_ones_cst (type);
    9321          163 :                                   _o2[1] = captures[3];
    9322          163 :                                   _r2 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9323          163 :                                   _o1[0] = _r2;
    9324              :                                 }
    9325          163 :                                 _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    9326          163 :                                 res_op1 = _r1;
    9327              :                               }
    9328          163 :                               tree _r;
    9329          163 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    9330          163 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 996, __FILE__, __LINE__, true);
    9331          163 :                               return _r;
    9332              :                             }
    9333            0 : next_after_fail1655:;
    9334              :                           }
    9335              :                       }
    9336              :                     }
    9337              :                 }
    9338              :               break;
    9339              :             }
    9340              :           default:;
    9341              :           }
    9342              :         break;
    9343              :       }
    9344      9510782 :     default:;
    9345              :     }
    9346      9510782 :   switch (TREE_CODE (_p0))
    9347              :     {
    9348       308711 :     case PLUS_EXPR:
    9349       308711 :       {
    9350       308711 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9351       308711 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9352       308711 :         switch (TREE_CODE (_q20))
    9353              :           {
    9354          169 :           case LSHIFT_EXPR:
    9355          169 :             {
    9356          169 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9357          169 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9358          169 :               if (integer_onep (_q30))
    9359              :                 {
    9360          162 :                   if (integer_minus_onep (_q21))
    9361              :                     {
    9362          162 :                       {
    9363          162 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q31 };
    9364          162 :                         if (TYPE_UNSIGNED (type)
    9365              : )
    9366              :                           {
    9367          134 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1656;
    9368          134 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1656;
    9369          134 :                             {
    9370          134 :                               tree res_op0;
    9371          134 :                               res_op0 = captures[0];
    9372          134 :                               tree res_op1;
    9373          134 :                               {
    9374          134 :                                 tree _o1[1], _r1;
    9375          134 :                                 {
    9376          134 :                                   tree _o2[2], _r2;
    9377          134 :                                   _o2[0] =  build_all_ones_cst (type);
    9378          134 :                                   _o2[1] = captures[3];
    9379          134 :                                   _r2 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    9380          134 :                                   _o1[0] = _r2;
    9381              :                                 }
    9382          134 :                                 _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    9383          134 :                                 res_op1 = _r1;
    9384              :                               }
    9385          134 :                               tree _r;
    9386          134 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    9387          134 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 996, __FILE__, __LINE__, true);
    9388          134 :                               return _r;
    9389              :                             }
    9390           28 : next_after_fail1656:;
    9391              :                           }
    9392              :                       }
    9393              :                     }
    9394              :                 }
    9395              :               break;
    9396              :             }
    9397              :           default:;
    9398              :           }
    9399              :         break;
    9400              :       }
    9401         1871 :     case EQ_EXPR:
    9402         1871 :       {
    9403         1871 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9404         1871 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9405         1871 :         if (integer_zerop (_q21))
    9406              :           {
    9407          753 :             switch (TREE_CODE (_p1))
    9408              :               {
    9409           68 :               case EQ_EXPR:
    9410           68 :                 {
    9411           68 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9412           68 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9413           68 :                   if (integer_zerop (_q51))
    9414              :                     {
    9415           29 :                       {
    9416           29 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9417           29 :                         tree res = generic_simplify_67 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, EQ_EXPR);
    9418           29 :                         if (res) return res;
    9419              :                       }
    9420              :                     }
    9421              :                   break;
    9422              :                 }
    9423              :               default:;
    9424              :               }
    9425              :           }
    9426         1842 :         if (integer_all_onesp (_q21))
    9427              :           {
    9428            0 :             switch (TREE_CODE (_p1))
    9429              :               {
    9430            0 :               case EQ_EXPR:
    9431            0 :                 {
    9432            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9433            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9434            0 :                   if (integer_all_onesp (_q51))
    9435              :                     {
    9436            0 :                       {
    9437            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9438            0 :                         tree res = generic_simplify_68 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, EQ_EXPR);
    9439            0 :                         if (res) return res;
    9440              :                       }
    9441              :                     }
    9442              :                   break;
    9443              :                 }
    9444              :               default:;
    9445              :               }
    9446              :           }
    9447         1842 :         switch (TREE_CODE (_p1))
    9448              :           {
    9449            8 :           case BIT_IOR_EXPR:
    9450            8 :             {
    9451            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9452            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9453            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9454              :                 {
    9455            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9456              :                     {
    9457            0 :                       {
    9458            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9459            0 :                         tree res = generic_simplify_442 (loc, type, _p0, _p1, captures);
    9460            0 :                         if (res) return res;
    9461              :                       }
    9462              :                     }
    9463              :                 }
    9464            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9465              :                 {
    9466            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9467              :                     {
    9468            0 :                       {
    9469            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9470            0 :                         tree res = generic_simplify_442 (loc, type, _p0, _p1, captures);
    9471            0 :                         if (res) return res;
    9472              :                       }
    9473              :                     }
    9474              :                 }
    9475              :               break;
    9476              :             }
    9477         1842 :           default:;
    9478              :           }
    9479         1842 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9480              :           {
    9481           12 :             {
    9482           12 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9483           12 :               tree res = generic_simplify_443 (loc, type, _p0, _p1, captures);
    9484           12 :               if (res) return res;
    9485              :             }
    9486              :           }
    9487         1842 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9488              :           {
    9489            8 :             {
    9490            8 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9491            8 :               tree res = generic_simplify_443 (loc, type, _p0, _p1, captures);
    9492            8 :               if (res) return res;
    9493              :             }
    9494              :           }
    9495              :         break;
    9496              :       }
    9497         1615 :     case BIT_IOR_EXPR:
    9498         1615 :       {
    9499         1615 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9500         1615 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9501         1615 :         switch (TREE_CODE (_p1))
    9502              :           {
    9503          169 :           case BIT_NOT_EXPR:
    9504          169 :             {
    9505          169 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9506          169 :               switch (TREE_CODE (_q50))
    9507              :                 {
    9508            6 :                 case BIT_XOR_EXPR:
    9509            6 :                   {
    9510            6 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    9511            6 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    9512            6 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9513              :                       {
    9514            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    9515              :                           {
    9516            0 :                             {
    9517            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9518            0 :                               tree res = generic_simplify_444 (loc, type, _p0, _p1, captures);
    9519            0 :                               if (res) return res;
    9520              :                             }
    9521              :                           }
    9522              :                       }
    9523            6 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    9524              :                       {
    9525            0 :                         if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    9526              :                           {
    9527            0 :                             {
    9528            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9529            0 :                               tree res = generic_simplify_444 (loc, type, _p0, _p1, captures);
    9530            0 :                               if (res) return res;
    9531              :                             }
    9532              :                           }
    9533              :                       }
    9534              :                     break;
    9535              :                   }
    9536              :                 default:;
    9537              :                 }
    9538              :               break;
    9539              :             }
    9540           24 :           case EQ_EXPR:
    9541           24 :             {
    9542           24 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9543           24 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9544           24 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9545              :                 {
    9546            8 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9547              :                     {
    9548            8 :                       {
    9549            8 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9550            8 :                         tree res = generic_simplify_442 (loc, type, _p0, _p1, captures);
    9551            8 :                         if (res) return res;
    9552              :                       }
    9553              :                     }
    9554              :                 }
    9555           24 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9556              :                 {
    9557            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9558              :                     {
    9559            0 :                       {
    9560            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9561            0 :                         tree res = generic_simplify_442 (loc, type, _p0, _p1, captures);
    9562            0 :                         if (res) return res;
    9563              :                       }
    9564              :                     }
    9565              :                 }
    9566              :               break;
    9567              :             }
    9568         1615 :           default:;
    9569              :           }
    9570         1615 :       {
    9571         1615 :         tree _p1_pops[1];
    9572         1615 :         if (tree_nop_convert (_p1, _p1_pops))
    9573              :           {
    9574          139 :             tree _q50 = _p1_pops[0];
    9575          139 :             switch (TREE_CODE (_q50))
    9576              :               {
    9577            0 :               case EQ_EXPR:
    9578            0 :                 {
    9579            0 :                   tree _q60 = TREE_OPERAND (_q50, 0);
    9580            0 :                   tree _q61 = TREE_OPERAND (_q50, 1);
    9581            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9582              :                     {
    9583            0 :                       if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    9584              :                         {
    9585            0 :                           {
    9586            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9587            0 :                             tree res = generic_simplify_442 (loc, type, _p0, _p1, captures);
    9588            0 :                             if (res) return res;
    9589              :                           }
    9590              :                         }
    9591              :                     }
    9592            0 :                   if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    9593              :                     {
    9594            0 :                       if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
    9595              :                         {
    9596            0 :                           {
    9597            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9598            0 :                             tree res = generic_simplify_442 (loc, type, _p0, _p1, captures);
    9599            0 :                             if (res) return res;
    9600              :                           }
    9601              :                         }
    9602              :                     }
    9603              :                   break;
    9604              :                 }
    9605              :               default:;
    9606              :               }
    9607              :           }
    9608              :       }
    9609         1615 :         break;
    9610              :       }
    9611        66845 :     case BIT_NOT_EXPR:
    9612        66845 :       {
    9613        66845 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9614        66845 :         switch (TREE_CODE (_q20))
    9615              :           {
    9616          140 :           case BIT_XOR_EXPR:
    9617          140 :             {
    9618          140 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9619          140 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9620          140 :               switch (TREE_CODE (_p1))
    9621              :                 {
    9622           48 :                 case BIT_IOR_EXPR:
    9623           48 :                   {
    9624           48 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    9625           48 :                     tree _q61 = TREE_OPERAND (_p1, 1);
    9626           48 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9627              :                       {
    9628            6 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9629              :                           {
    9630            0 :                             {
    9631            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9632            0 :                               tree res = generic_simplify_444 (loc, type, _p0, _p1, captures);
    9633            0 :                               if (res) return res;
    9634              :                             }
    9635              :                           }
    9636              :                       }
    9637           48 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9638              :                       {
    9639            3 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9640              :                           {
    9641            0 :                             {
    9642            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    9643            0 :                               tree res = generic_simplify_444 (loc, type, _p0, _p1, captures);
    9644            0 :                               if (res) return res;
    9645              :                             }
    9646              :                           }
    9647              :                       }
    9648              :                     break;
    9649              :                   }
    9650          140 :                 default:;
    9651              :                 }
    9652          140 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9653              :                 {
    9654            1 :                   {
    9655            1 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9656            1 :                     tree res = generic_simplify_445 (loc, type, _p0, _p1, captures);
    9657            1 :                     if (res) return res;
    9658              :                   }
    9659              :                 }
    9660          139 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    9661              :                 {
    9662            0 :                   {
    9663            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    9664            0 :                     tree res = generic_simplify_445 (loc, type, _p0, _p1, captures);
    9665            0 :                     if (res) return res;
    9666              :                   }
    9667              :                 }
    9668              :               break;
    9669              :             }
    9670              :           default:;
    9671              :           }
    9672              :         break;
    9673              :       }
    9674      9510618 :     default:;
    9675              :     }
    9676      9510618 : {
    9677      9510618 :   tree _p0_pops[1];
    9678      9510618 :   if (tree_nop_convert (_p0, _p0_pops))
    9679              :     {
    9680      1533868 :       tree _q20 = _p0_pops[0];
    9681      1533868 :       switch (TREE_CODE (_q20))
    9682              :         {
    9683            0 :         case EQ_EXPR:
    9684            0 :           {
    9685            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    9686            0 :             tree _q31 = TREE_OPERAND (_q20, 1);
    9687            0 :             switch (TREE_CODE (_p1))
    9688              :               {
    9689            0 :               case BIT_IOR_EXPR:
    9690            0 :                 {
    9691            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    9692            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    9693            0 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9694              :                     {
    9695            0 :                       if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9696              :                         {
    9697            0 :                           {
    9698            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9699            0 :                             tree res = generic_simplify_442 (loc, type, _p0, _p1, captures);
    9700            0 :                             if (res) return res;
    9701              :                           }
    9702              :                         }
    9703              :                     }
    9704            0 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9705              :                     {
    9706            0 :                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9707              :                         {
    9708            0 :                           {
    9709            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    9710            0 :                             tree res = generic_simplify_442 (loc, type, _p0, _p1, captures);
    9711            0 :                             if (res) return res;
    9712              :                           }
    9713              :                         }
    9714              :                     }
    9715              :                   break;
    9716              :                 }
    9717            0 :               default:;
    9718              :               }
    9719            0 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9720              :               {
    9721            0 :                 {
    9722            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9723            0 :                   tree res = generic_simplify_443 (loc, type, _p0, _p1, captures);
    9724            0 :                   if (res) return res;
    9725              :                 }
    9726              :               }
    9727            0 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    9728              :               {
    9729            0 :                 {
    9730            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    9731            0 :                   tree res = generic_simplify_443 (loc, type, _p0, _p1, captures);
    9732            0 :                   if (res) return res;
    9733              :                 }
    9734              :               }
    9735              :             break;
    9736              :           }
    9737              :         default:;
    9738              :         }
    9739              :     }
    9740              : }
    9741      9510618 :   switch (TREE_CODE (_p1))
    9742              :     {
    9743        52152 :     case BIT_NOT_EXPR:
    9744        52152 :       {
    9745        52152 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9746        52152 :         switch (TREE_CODE (_q30))
    9747              :           {
    9748            6 :           case BIT_XOR_EXPR:
    9749            6 :             {
    9750            6 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9751            6 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9752            6 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9753              :                 {
    9754            0 :                   {
    9755            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    9756            0 :                     tree res = generic_simplify_445 (loc, type, _p0, _p1, captures);
    9757            0 :                     if (res) return res;
    9758              :                   }
    9759              :                 }
    9760            6 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    9761              :                 {
    9762            0 :                   {
    9763            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    9764            0 :                     tree res = generic_simplify_445 (loc, type, _p0, _p1, captures);
    9765            0 :                     if (res) return res;
    9766              :                   }
    9767              :                 }
    9768              :               break;
    9769              :             }
    9770              :           default:;
    9771              :           }
    9772              :         break;
    9773              :       }
    9774      9510618 :     default:;
    9775              :     }
    9776      9510618 :   switch (TREE_CODE (_p0))
    9777              :     {
    9778       308577 :     case PLUS_EXPR:
    9779       308577 :       {
    9780       308577 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9781       308577 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9782       308577 :         if (integer_minus_onep (_q21))
    9783              :           {
    9784       116735 :             switch (TREE_CODE (_p1))
    9785              :               {
    9786        10440 :               case NEGATE_EXPR:
    9787        10440 :                 {
    9788        10440 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9789        10440 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9790              :                     {
    9791            9 :                       {
    9792            9 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9793            9 :                         tree res = generic_simplify_75 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
    9794            9 :                         if (res) return res;
    9795              :                       }
    9796              :                     }
    9797              :                   break;
    9798              :                 }
    9799              :               default:;
    9800              :               }
    9801              :           }
    9802              :         break;
    9803              :       }
    9804        47727 :     case NEGATE_EXPR:
    9805        47727 :       {
    9806        47727 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9807        47727 :         switch (TREE_CODE (_p1))
    9808              :           {
    9809           26 :           case PLUS_EXPR:
    9810           26 :             {
    9811           26 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9812           26 :               tree _q41 = TREE_OPERAND (_p1, 1);
    9813           26 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    9814              :                 {
    9815            0 :                   if (integer_minus_onep (_q41))
    9816              :                     {
    9817            0 :                       {
    9818            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9819            0 :                         tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
    9820            0 :                         if (res) return res;
    9821              :                       }
    9822              :                     }
    9823              :                 }
    9824              :               break;
    9825              :             }
    9826            0 :           case MINUS_EXPR:
    9827            0 :             {
    9828            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9829            0 :               tree _q41 = TREE_OPERAND (_p1, 1);
    9830            0 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    9831              :                 {
    9832            0 :                   if (integer_onep (_q41))
    9833              :                     {
    9834            0 :                       {
    9835            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9836            0 :                         tree res = generic_simplify_77 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
    9837            0 :                         if (res) return res;
    9838              :                       }
    9839              :                     }
    9840              :                 }
    9841              :               break;
    9842              :             }
    9843              :           default:;
    9844              :           }
    9845              :         break;
    9846              :       }
    9847       699285 :     case MINUS_EXPR:
    9848       699285 :       {
    9849       699285 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9850       699285 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9851       699285 :         if (integer_onep (_q21))
    9852              :           {
    9853         2002 :             switch (TREE_CODE (_p1))
    9854              :               {
    9855            0 :               case NEGATE_EXPR:
    9856            0 :                 {
    9857            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9858            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9859              :                     {
    9860            0 :                       {
    9861            0 :                         tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9862            0 :                         tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
    9863            0 :                         if (res) return res;
    9864              :                       }
    9865              :                     }
    9866              :                   break;
    9867              :                 }
    9868              :               default:;
    9869              :               }
    9870              :           }
    9871              :         break;
    9872              :       }
    9873      9510609 :     default:;
    9874              :     }
    9875      9510609 :   switch (TREE_CODE (_p1))
    9876              :     {
    9877         1773 :     case EQ_EXPR:
    9878         1773 :       {
    9879         1773 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9880         1773 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9881         1773 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9882              :           {
    9883            1 :             {
    9884            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9885            1 :               tree res = generic_simplify_443 (loc, type, _p0, _p1, captures);
    9886            1 :               if (res) return res;
    9887              :             }
    9888              :           }
    9889         1773 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9890              :           {
    9891            0 :             {
    9892            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9893            0 :               tree res = generic_simplify_443 (loc, type, _p0, _p1, captures);
    9894            0 :               if (res) return res;
    9895              :             }
    9896              :           }
    9897              :         break;
    9898              :       }
    9899          257 :     case BIT_XOR_EXPR:
    9900          257 :       {
    9901          257 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9902          257 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9903          257 :         {
    9904          257 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    9905          257 :           tree res = generic_simplify_446 (loc, type, _p0, _p1, captures);
    9906          257 :           if (res) return res;
    9907              :         }
    9908          256 :         {
    9909          256 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    9910          256 :           tree res = generic_simplify_446 (loc, type, _p0, _p1, captures);
    9911          256 :           if (res) return res;
    9912              :         }
    9913          256 :         break;
    9914              :       }
    9915      9510608 :     default:;
    9916              :     }
    9917      9510608 : {
    9918      9510608 :   tree _p1_pops[1];
    9919      9510608 :   if (tree_nop_convert (_p1, _p1_pops))
    9920              :     {
    9921       953710 :       tree _q30 = _p1_pops[0];
    9922       953710 :       switch (TREE_CODE (_q30))
    9923              :         {
    9924            0 :         case EQ_EXPR:
    9925            0 :           {
    9926            0 :             tree _q40 = TREE_OPERAND (_q30, 0);
    9927            0 :             tree _q41 = TREE_OPERAND (_q30, 1);
    9928            0 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9929              :               {
    9930            0 :                 {
    9931            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    9932            0 :                   tree res = generic_simplify_443 (loc, type, _p0, _p1, captures);
    9933            0 :                   if (res) return res;
    9934              :                 }
    9935              :               }
    9936            0 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    9937              :               {
    9938            0 :                 {
    9939            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    9940            0 :                   tree res = generic_simplify_443 (loc, type, _p0, _p1, captures);
    9941            0 :                   if (res) return res;
    9942              :                 }
    9943              :               }
    9944              :             break;
    9945              :           }
    9946              :         default:;
    9947              :         }
    9948              :     }
    9949              : }
    9950      9510608 :   switch (TREE_CODE (_p0))
    9951              :     {
    9952        61673 :     case BIT_XOR_EXPR:
    9953        61673 :       {
    9954        61673 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9955        61673 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9956        61673 :         {
    9957        61673 :           tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
    9958        61673 :           tree res = generic_simplify_446 (loc, type, _p0, _p1, captures);
    9959        61673 :           if (res) return res;
    9960              :         }
    9961        61673 :         {
    9962        61673 :           tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
    9963        61673 :           tree res = generic_simplify_446 (loc, type, _p0, _p1, captures);
    9964        61673 :           if (res) return res;
    9965              :         }
    9966        61673 :         switch (TREE_CODE (_p1))
    9967              :           {
    9968          152 :           case BIT_XOR_EXPR:
    9969          152 :             {
    9970          152 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9971          152 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9972          152 :               switch (TREE_CODE (_q50))
    9973              :                 {
    9974            3 :                 case BIT_XOR_EXPR:
    9975            3 :                   {
    9976            3 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    9977            3 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    9978            3 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
    9979              :                       {
    9980            2 :                         if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9981              :                           {
    9982            1 :                             {
    9983            1 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q61 };
    9984            1 :                               tree res = generic_simplify_447 (loc, type, _p0, _p1, captures);
    9985            1 :                               if (res) return res;
    9986              :                             }
    9987              :                           }
    9988              :                       }
    9989            2 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    9990              :                       {
    9991            0 :                         if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9992              :                           {
    9993            0 :                             {
    9994            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q60 };
    9995            0 :                               tree res = generic_simplify_447 (loc, type, _p0, _p1, captures);
    9996            0 :                               if (res) return res;
    9997              :                             }
    9998              :                           }
    9999              :                       }
   10000            2 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10001              :                       {
   10002            1 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10003              :                           {
   10004            1 :                             {
   10005            1 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q61 };
   10006            1 :                               tree res = generic_simplify_447 (loc, type, _p0, _p1, captures);
   10007            1 :                               if (res) return res;
   10008              :                             }
   10009              :                           }
   10010              :                       }
   10011            1 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   10012              :                       {
   10013            1 :                         if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10014              :                           {
   10015            0 :                             {
   10016            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q60 };
   10017            0 :                               tree res = generic_simplify_447 (loc, type, _p0, _p1, captures);
   10018            0 :                               if (res) return res;
   10019              :                             }
   10020              :                           }
   10021              :                       }
   10022              :                     break;
   10023              :                   }
   10024          150 :                 default:;
   10025              :                 }
   10026          150 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10027              :                 {
   10028           47 :                   switch (TREE_CODE (_q51))
   10029              :                     {
   10030            0 :                     case BIT_XOR_EXPR:
   10031            0 :                       {
   10032            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
   10033            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
   10034            0 :                         if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   10035              :                           {
   10036            0 :                             {
   10037            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q71 };
   10038            0 :                               tree res = generic_simplify_447 (loc, type, _p0, _p1, captures);
   10039            0 :                               if (res) return res;
   10040              :                             }
   10041              :                           }
   10042            0 :                         if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
   10043              :                           {
   10044            0 :                             {
   10045            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q70 };
   10046            0 :                               tree res = generic_simplify_447 (loc, type, _p0, _p1, captures);
   10047            0 :                               if (res) return res;
   10048              :                             }
   10049              :                           }
   10050              :                         break;
   10051              :                       }
   10052              :                     default:;
   10053              :                     }
   10054              :                 }
   10055          150 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10056              :                 {
   10057            0 :                   switch (TREE_CODE (_q51))
   10058              :                     {
   10059            0 :                     case BIT_XOR_EXPR:
   10060            0 :                       {
   10061            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
   10062            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
   10063            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   10064              :                           {
   10065            0 :                             {
   10066            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q71 };
   10067            0 :                               tree res = generic_simplify_447 (loc, type, _p0, _p1, captures);
   10068            0 :                               if (res) return res;
   10069              :                             }
   10070              :                           }
   10071            0 :                         if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   10072              :                           {
   10073            0 :                             {
   10074            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q70 };
   10075            0 :                               tree res = generic_simplify_447 (loc, type, _p0, _p1, captures);
   10076            0 :                               if (res) return res;
   10077              :                             }
   10078              :                           }
   10079              :                         break;
   10080              :                       }
   10081              :                     default:;
   10082              :                     }
   10083              :                 }
   10084              :               break;
   10085              :             }
   10086        61671 :           default:;
   10087              :           }
   10088        61671 :         switch (TREE_CODE (_q20))
   10089              :           {
   10090           11 :           case BIT_XOR_EXPR:
   10091           11 :             {
   10092           11 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10093           11 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10094           11 :               switch (TREE_CODE (_p1))
   10095              :                 {
   10096            0 :                 case BIT_XOR_EXPR:
   10097            0 :                   {
   10098            0 :                     tree _q70 = TREE_OPERAND (_p1, 0);
   10099            0 :                     tree _q71 = TREE_OPERAND (_p1, 1);
   10100            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   10101              :                       {
   10102            0 :                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10103              :                           {
   10104            0 :                             {
   10105            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
   10106            0 :                               tree res = generic_simplify_448 (loc, type, _p0, _p1, captures);
   10107            0 :                               if (res) return res;
   10108              :                             }
   10109              :                           }
   10110            0 :                         if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10111              :                           {
   10112            0 :                             {
   10113            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
   10114            0 :                               tree res = generic_simplify_448 (loc, type, _p0, _p1, captures);
   10115            0 :                               if (res) return res;
   10116              :                             }
   10117              :                           }
   10118              :                       }
   10119            0 :                     if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10120              :                       {
   10121            0 :                         if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
   10122              :                           {
   10123            0 :                             {
   10124            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
   10125            0 :                               tree res = generic_simplify_448 (loc, type, _p0, _p1, captures);
   10126            0 :                               if (res) return res;
   10127              :                             }
   10128              :                           }
   10129              :                       }
   10130            0 :                     if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10131              :                       {
   10132            0 :                         if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
   10133              :                           {
   10134            0 :                             {
   10135            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
   10136            0 :                               tree res = generic_simplify_448 (loc, type, _p0, _p1, captures);
   10137            0 :                               if (res) return res;
   10138              :                             }
   10139              :                           }
   10140              :                       }
   10141              :                     break;
   10142              :                   }
   10143              :                 default:;
   10144              :                 }
   10145              :               break;
   10146              :             }
   10147        61671 :           default:;
   10148              :           }
   10149        61671 :         switch (TREE_CODE (_q21))
   10150              :           {
   10151            0 :           case BIT_XOR_EXPR:
   10152            0 :             {
   10153            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10154            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10155            0 :               switch (TREE_CODE (_p1))
   10156              :                 {
   10157            0 :                 case BIT_XOR_EXPR:
   10158            0 :                   {
   10159            0 :                     tree _q70 = TREE_OPERAND (_p1, 0);
   10160            0 :                     tree _q71 = TREE_OPERAND (_p1, 1);
   10161            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   10162              :                       {
   10163            0 :                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   10164              :                           {
   10165            0 :                             {
   10166            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
   10167            0 :                               tree res = generic_simplify_448 (loc, type, _p0, _p1, captures);
   10168            0 :                               if (res) return res;
   10169              :                             }
   10170              :                           }
   10171            0 :                         if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
   10172              :                           {
   10173            0 :                             {
   10174            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
   10175            0 :                               tree res = generic_simplify_448 (loc, type, _p0, _p1, captures);
   10176            0 :                               if (res) return res;
   10177              :                             }
   10178              :                           }
   10179              :                       }
   10180            0 :                     if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   10181              :                       {
   10182            0 :                         if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   10183              :                           {
   10184            0 :                             {
   10185            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
   10186            0 :                               tree res = generic_simplify_448 (loc, type, _p0, _p1, captures);
   10187            0 :                               if (res) return res;
   10188              :                             }
   10189              :                           }
   10190              :                       }
   10191            0 :                     if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
   10192              :                       {
   10193            0 :                         if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
   10194              :                           {
   10195            0 :                             {
   10196            0 :                               tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
   10197            0 :                               tree res = generic_simplify_448 (loc, type, _p0, _p1, captures);
   10198            0 :                               if (res) return res;
   10199              :                             }
   10200              :                           }
   10201              :                       }
   10202              :                     break;
   10203              :                   }
   10204              :                 default:;
   10205              :                 }
   10206              :               break;
   10207              :             }
   10208              :           default:;
   10209              :           }
   10210              :         break;
   10211              :       }
   10212        66843 :     case BIT_NOT_EXPR:
   10213        66843 :       {
   10214        66843 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10215        66843 :         switch (TREE_CODE (_q20))
   10216              :           {
   10217          217 :           case SSA_NAME:
   10218          217 :             {
   10219          217 :               switch (TREE_CODE (_p1))
   10220              :                 {
   10221          217 :                 case INTEGER_CST:
   10222          217 :                   {
   10223          217 :                     {
   10224          217 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10225          434 :                       if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
   10226          651 :  && wi::bit_and_not (get_nonzero_bits (captures[0]), wi::to_wide (captures[1])) == 0
   10227              : )
   10228              :                         {
   10229           14 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1657;
   10230           14 :                           {
   10231           14 :                             tree res_op0;
   10232           14 :                             res_op0 = captures[0];
   10233           14 :                             tree res_op1;
   10234           14 :                             res_op1 = captures[1];
   10235           14 :                             tree _r;
   10236           14 :                             _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
   10237           14 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 997, __FILE__, __LINE__, true);
   10238           14 :                             return _r;
   10239              :                           }
   10240            0 : next_after_fail1657:;
   10241              :                         }
   10242              :                     }
   10243          203 :                     break;
   10244              :                   }
   10245              :                 default:;
   10246              :                 }
   10247              :               break;
   10248              :             }
   10249              :           default:;
   10250              :           }
   10251              :         break;
   10252              :       }
   10253       308568 :     case PLUS_EXPR:
   10254       308568 :       {
   10255       308568 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10256       308568 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10257       308568 :         switch (TREE_CODE (_q20))
   10258              :           {
   10259           24 :           case BIT_AND_EXPR:
   10260           24 :             {
   10261           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10262           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10263           24 :               switch (TREE_CODE (_q31))
   10264              :                 {
   10265           20 :                 case INTEGER_CST:
   10266           20 :                   {
   10267           20 :                     switch (TREE_CODE (_p1))
   10268              :                       {
   10269           20 :                       case INTEGER_CST:
   10270           20 :                         {
   10271           20 :                           {
   10272           20 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10273           20 :                             tree res = generic_simplify_449 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, PLUS_EXPR);
   10274           20 :                             if (res) return res;
   10275              :                           }
   10276           12 :                           break;
   10277              :                         }
   10278              :                       default:;
   10279              :                       }
   10280              :                     break;
   10281              :                   }
   10282              :                 default:;
   10283              :                 }
   10284              :               break;
   10285              :             }
   10286           64 :           case BIT_IOR_EXPR:
   10287           64 :             {
   10288           64 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10289           64 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10290           64 :               switch (TREE_CODE (_q31))
   10291              :                 {
   10292           52 :                 case INTEGER_CST:
   10293           52 :                   {
   10294           52 :                     switch (TREE_CODE (_p1))
   10295              :                       {
   10296           52 :                       case INTEGER_CST:
   10297           52 :                         {
   10298           52 :                           {
   10299           52 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10300           52 :                             tree res = generic_simplify_449 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, PLUS_EXPR);
   10301           52 :                             if (res) return res;
   10302              :                           }
   10303           48 :                           break;
   10304              :                         }
   10305              :                       default:;
   10306              :                       }
   10307              :                     break;
   10308              :                   }
   10309              :                 default:;
   10310              :                 }
   10311              :               break;
   10312              :             }
   10313           24 :           case BIT_XOR_EXPR:
   10314           24 :             {
   10315           24 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10316           24 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10317           24 :               switch (TREE_CODE (_q31))
   10318              :                 {
   10319            4 :                 case INTEGER_CST:
   10320            4 :                   {
   10321            4 :                     switch (TREE_CODE (_p1))
   10322              :                       {
   10323            4 :                       case INTEGER_CST:
   10324            4 :                         {
   10325            4 :                           {
   10326            4 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10327            4 :                             tree res = generic_simplify_449 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, PLUS_EXPR);
   10328            4 :                             if (res) return res;
   10329              :                           }
   10330            0 :                           break;
   10331              :                         }
   10332              :                       default:;
   10333              :                       }
   10334              :                     break;
   10335              :                   }
   10336              :                 default:;
   10337              :                 }
   10338              :               break;
   10339              :             }
   10340       308552 :           default:;
   10341              :           }
   10342       308552 :         switch (TREE_CODE (_q21))
   10343              :           {
   10344            0 :           case BIT_AND_EXPR:
   10345            0 :             {
   10346            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10347            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10348            0 :               switch (TREE_CODE (_q41))
   10349              :                 {
   10350            0 :                 case INTEGER_CST:
   10351            0 :                   {
   10352            0 :                     switch (TREE_CODE (_p1))
   10353              :                       {
   10354            0 :                       case INTEGER_CST:
   10355            0 :                         {
   10356            0 :                           {
   10357            0 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10358            0 :                             tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, PLUS_EXPR);
   10359            0 :                             if (res) return res;
   10360              :                           }
   10361            0 :                           break;
   10362              :                         }
   10363              :                       default:;
   10364              :                       }
   10365              :                     break;
   10366              :                   }
   10367              :                 default:;
   10368              :                 }
   10369              :               break;
   10370              :             }
   10371            0 :           case BIT_IOR_EXPR:
   10372            0 :             {
   10373            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10374            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10375            0 :               switch (TREE_CODE (_q41))
   10376              :                 {
   10377            0 :                 case INTEGER_CST:
   10378            0 :                   {
   10379            0 :                     switch (TREE_CODE (_p1))
   10380              :                       {
   10381            0 :                       case INTEGER_CST:
   10382            0 :                         {
   10383            0 :                           {
   10384            0 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10385            0 :                             tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, PLUS_EXPR);
   10386            0 :                             if (res) return res;
   10387              :                           }
   10388            0 :                           break;
   10389              :                         }
   10390              :                       default:;
   10391              :                       }
   10392              :                     break;
   10393              :                   }
   10394              :                 default:;
   10395              :                 }
   10396              :               break;
   10397              :             }
   10398            0 :           case BIT_XOR_EXPR:
   10399            0 :             {
   10400            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10401            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10402            0 :               switch (TREE_CODE (_q41))
   10403              :                 {
   10404            0 :                 case INTEGER_CST:
   10405            0 :                   {
   10406            0 :                     switch (TREE_CODE (_p1))
   10407              :                       {
   10408            0 :                       case INTEGER_CST:
   10409            0 :                         {
   10410            0 :                           {
   10411            0 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10412            0 :                             tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, PLUS_EXPR);
   10413            0 :                             if (res) return res;
   10414              :                           }
   10415            0 :                           break;
   10416              :                         }
   10417              :                       default:;
   10418              :                       }
   10419              :                     break;
   10420              :                   }
   10421              :                 default:;
   10422              :                 }
   10423              :               break;
   10424              :             }
   10425       308552 :           default:;
   10426              :           }
   10427       308552 :         switch (TREE_CODE (_p1))
   10428              :           {
   10429       224454 :           case INTEGER_CST:
   10430       224454 :             {
   10431       224454 :               {
   10432       224454 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10433       224454 :                 tree res = generic_simplify_451 (loc, type, _p0, _p1, captures, PLUS_EXPR);
   10434       224454 :                 if (res) return res;
   10435              :               }
   10436        91825 :               break;
   10437              :             }
   10438              :           default:;
   10439              :           }
   10440              :         break;
   10441              :       }
   10442       699285 :     case MINUS_EXPR:
   10443       699285 :       {
   10444       699285 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10445       699285 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10446       699285 :         switch (TREE_CODE (_q20))
   10447              :           {
   10448            4 :           case BIT_AND_EXPR:
   10449            4 :             {
   10450            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10451            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10452            4 :               switch (TREE_CODE (_q31))
   10453              :                 {
   10454            2 :                 case INTEGER_CST:
   10455            2 :                   {
   10456            2 :                     switch (TREE_CODE (_p1))
   10457              :                       {
   10458            2 :                       case INTEGER_CST:
   10459            2 :                         {
   10460            2 :                           {
   10461            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10462            2 :                             tree res = generic_simplify_449 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MINUS_EXPR);
   10463            2 :                             if (res) return res;
   10464              :                           }
   10465            0 :                           break;
   10466              :                         }
   10467              :                       default:;
   10468              :                       }
   10469              :                     break;
   10470              :                   }
   10471              :                 default:;
   10472              :                 }
   10473              :               break;
   10474              :             }
   10475            4 :           case BIT_IOR_EXPR:
   10476            4 :             {
   10477            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10478            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10479            4 :               switch (TREE_CODE (_q31))
   10480              :                 {
   10481            2 :                 case INTEGER_CST:
   10482            2 :                   {
   10483            2 :                     switch (TREE_CODE (_p1))
   10484              :                       {
   10485            2 :                       case INTEGER_CST:
   10486            2 :                         {
   10487            2 :                           {
   10488            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10489            2 :                             tree res = generic_simplify_449 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MINUS_EXPR);
   10490            2 :                             if (res) return res;
   10491              :                           }
   10492            0 :                           break;
   10493              :                         }
   10494              :                       default:;
   10495              :                       }
   10496              :                     break;
   10497              :                   }
   10498              :                 default:;
   10499              :                 }
   10500              :               break;
   10501              :             }
   10502            4 :           case BIT_XOR_EXPR:
   10503            4 :             {
   10504            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10505            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10506            4 :               switch (TREE_CODE (_q31))
   10507              :                 {
   10508            2 :                 case INTEGER_CST:
   10509            2 :                   {
   10510            2 :                     switch (TREE_CODE (_p1))
   10511              :                       {
   10512            2 :                       case INTEGER_CST:
   10513            2 :                         {
   10514            2 :                           {
   10515            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
   10516            2 :                             tree res = generic_simplify_449 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, MINUS_EXPR);
   10517            2 :                             if (res) return res;
   10518              :                           }
   10519            0 :                           break;
   10520              :                         }
   10521              :                       default:;
   10522              :                       }
   10523              :                     break;
   10524              :                   }
   10525              :                 default:;
   10526              :                 }
   10527              :               break;
   10528              :             }
   10529       699279 :           default:;
   10530              :           }
   10531       699279 :         switch (TREE_CODE (_q21))
   10532              :           {
   10533          360 :           case BIT_AND_EXPR:
   10534          360 :             {
   10535          360 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10536          360 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10537          360 :               switch (TREE_CODE (_q41))
   10538              :                 {
   10539          358 :                 case INTEGER_CST:
   10540          358 :                   {
   10541          358 :                     switch (TREE_CODE (_p1))
   10542              :                       {
   10543          358 :                       case INTEGER_CST:
   10544          358 :                         {
   10545          358 :                           {
   10546          358 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10547          358 :                             tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, MINUS_EXPR);
   10548          358 :                             if (res) return res;
   10549              :                           }
   10550            1 :                           break;
   10551              :                         }
   10552              :                       default:;
   10553              :                       }
   10554              :                     break;
   10555              :                   }
   10556              :                 default:;
   10557              :                 }
   10558              :               break;
   10559              :             }
   10560            4 :           case BIT_IOR_EXPR:
   10561            4 :             {
   10562            4 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10563            4 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10564            4 :               switch (TREE_CODE (_q41))
   10565              :                 {
   10566            2 :                 case INTEGER_CST:
   10567            2 :                   {
   10568            2 :                     switch (TREE_CODE (_p1))
   10569              :                       {
   10570            2 :                       case INTEGER_CST:
   10571            2 :                         {
   10572            2 :                           {
   10573            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10574            2 :                             tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MINUS_EXPR);
   10575            2 :                             if (res) return res;
   10576              :                           }
   10577            0 :                           break;
   10578              :                         }
   10579              :                       default:;
   10580              :                       }
   10581              :                     break;
   10582              :                   }
   10583              :                 default:;
   10584              :                 }
   10585              :               break;
   10586              :             }
   10587            4 :           case BIT_XOR_EXPR:
   10588            4 :             {
   10589            4 :               tree _q40 = TREE_OPERAND (_q21, 0);
   10590            4 :               tree _q41 = TREE_OPERAND (_q21, 1);
   10591            4 :               switch (TREE_CODE (_q41))
   10592              :                 {
   10593            2 :                 case INTEGER_CST:
   10594            2 :                   {
   10595            2 :                     switch (TREE_CODE (_p1))
   10596              :                       {
   10597            2 :                       case INTEGER_CST:
   10598            2 :                         {
   10599            2 :                           {
   10600            2 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
   10601            2 :                             tree res = generic_simplify_450 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, MINUS_EXPR);
   10602            2 :                             if (res) return res;
   10603              :                           }
   10604            0 :                           break;
   10605              :                         }
   10606              :                       default:;
   10607              :                       }
   10608              :                     break;
   10609              :                   }
   10610              :                 default:;
   10611              :                 }
   10612              :               break;
   10613              :             }
   10614       698918 :           default:;
   10615              :           }
   10616       698918 :         switch (TREE_CODE (_p1))
   10617              :           {
   10618       698716 :           case INTEGER_CST:
   10619       698716 :             {
   10620       698716 :               {
   10621       698716 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10622       698716 :                 tree res = generic_simplify_451 (loc, type, _p0, _p1, captures, MINUS_EXPR);
   10623       698716 :                 if (res) return res;
   10624              :               }
   10625       501393 :               break;
   10626              :             }
   10627              :           default:;
   10628              :           }
   10629              :         break;
   10630              :       }
   10631        47727 :     case NEGATE_EXPR:
   10632        47727 :       {
   10633        47727 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10634        47727 :         switch (TREE_CODE (_q20))
   10635              :           {
   10636           25 :           case BIT_AND_EXPR:
   10637           25 :             {
   10638           25 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10639           25 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10640           25 :               switch (TREE_CODE (_q31))
   10641              :                 {
   10642           21 :                 case INTEGER_CST:
   10643           21 :                   {
   10644           21 :                     switch (TREE_CODE (_p1))
   10645              :                       {
   10646           11 :                       case INTEGER_CST:
   10647           11 :                         {
   10648           11 :                           {
   10649           11 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
   10650           11 :                             tree res = generic_simplify_452 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10651           11 :                             if (res) return res;
   10652              :                           }
   10653            8 :                           break;
   10654              :                         }
   10655              :                       default:;
   10656              :                       }
   10657              :                     break;
   10658              :                   }
   10659              :                 default:;
   10660              :                 }
   10661              :               break;
   10662              :             }
   10663           44 :           case BIT_IOR_EXPR:
   10664           44 :             {
   10665           44 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10666           44 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10667           44 :               switch (TREE_CODE (_q31))
   10668              :                 {
   10669            2 :                 case INTEGER_CST:
   10670            2 :                   {
   10671            2 :                     switch (TREE_CODE (_p1))
   10672              :                       {
   10673            2 :                       case INTEGER_CST:
   10674            2 :                         {
   10675            2 :                           {
   10676            2 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
   10677            2 :                             tree res = generic_simplify_452 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
   10678            2 :                             if (res) return res;
   10679              :                           }
   10680            0 :                           break;
   10681              :                         }
   10682              :                       default:;
   10683              :                       }
   10684              :                     break;
   10685              :                   }
   10686              :                 default:;
   10687              :                 }
   10688              :               break;
   10689              :             }
   10690            4 :           case BIT_XOR_EXPR:
   10691            4 :             {
   10692            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10693            4 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10694            4 :               switch (TREE_CODE (_q31))
   10695              :                 {
   10696            2 :                 case INTEGER_CST:
   10697            2 :                   {
   10698            2 :                     switch (TREE_CODE (_p1))
   10699              :                       {
   10700            2 :                       case INTEGER_CST:
   10701            2 :                         {
   10702            2 :                           {
   10703            2 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
   10704            2 :                             tree res = generic_simplify_452 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
   10705            2 :                             if (res) return res;
   10706              :                           }
   10707            0 :                           break;
   10708              :                         }
   10709              :                       default:;
   10710              :                       }
   10711              :                     break;
   10712              :                   }
   10713              :                 default:;
   10714              :                 }
   10715              :               break;
   10716              :             }
   10717        47720 :           default:;
   10718              :           }
   10719        47720 :       if (tree_zero_one_valued_p (_q20))
   10720              :         {
   10721           21 :           {
   10722           21 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10723           21 :             tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
   10724           21 :             if (res) return res;
   10725              :           }
   10726              :         }
   10727              :         break;
   10728              :       }
   10729      9180229 :     default:;
   10730              :     }
   10731      9180229 :   if (integer_zerop (_p1))
   10732              :     {
   10733         3886 :       {
   10734         3886 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10735         3886 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1658;
   10736         3886 :         {
   10737         3886 :           tree _r;
   10738         3886 :           _r = captures[1];
   10739         3886 :           if (TREE_SIDE_EFFECTS (captures[0]))
   10740           51 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10741         3886 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 998, __FILE__, __LINE__, true);
   10742         3886 :           return _r;
   10743              :         }
   10744            0 : next_after_fail1658:;
   10745              :       }
   10746              :     }
   10747      9176343 :   if (integer_all_onesp (_p1))
   10748              :     {
   10749        44988 :       {
   10750        44988 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10751        44988 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1659;
   10752        44988 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1659;
   10753        44988 :         {
   10754        44988 :           tree res_op0;
   10755        44988 :           res_op0 = captures[0];
   10756        44988 :           tree _r;
   10757        44988 :           _r = non_lvalue_loc (loc, res_op0);
   10758        44988 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 999, __FILE__, __LINE__, true);
   10759        44988 :           return _r;
   10760              :         }
   10761              : next_after_fail1659:;
   10762              :       }
   10763              :     }
   10764      9131355 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10765              :     {
   10766          131 :       {
   10767          131 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10768          131 :         tree res = generic_simplify_89 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10769          131 :         if (res) return res;
   10770              :       }
   10771              :     }
   10772      9131224 :   switch (TREE_CODE (_p1))
   10773              :     {
   10774        52152 :     case BIT_NOT_EXPR:
   10775        52152 :       {
   10776        52152 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10777        52152 :         switch (TREE_CODE (_q30))
   10778              :           {
   10779           13 :           case BIT_AND_EXPR:
   10780           13 :             {
   10781           13 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10782           13 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10783           13 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10784              :                 {
   10785            0 :                   {
   10786            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
   10787            0 :                     tree res = generic_simplify_90 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10788            0 :                     if (res) return res;
   10789              :                   }
   10790              :                 }
   10791           13 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
   10792              :                 {
   10793            0 :                   {
   10794            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
   10795            0 :                     tree res = generic_simplify_90 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10796            0 :                     if (res) return res;
   10797              :                   }
   10798              :                 }
   10799              :               break;
   10800              :             }
   10801              :           default:;
   10802              :           }
   10803              :         break;
   10804              :       }
   10805      9131224 :     default:;
   10806              :     }
   10807      9131224 :   switch (TREE_CODE (_p0))
   10808              :     {
   10809        66813 :     case BIT_NOT_EXPR:
   10810        66813 :       {
   10811        66813 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10812        66813 :         switch (TREE_CODE (_q20))
   10813              :           {
   10814           28 :           case BIT_AND_EXPR:
   10815           28 :             {
   10816           28 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10817           28 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10818           28 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10819              :                 {
   10820            4 :                   {
   10821            4 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
   10822            4 :                     tree res = generic_simplify_90 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10823            4 :                     if (res) return res;
   10824              :                   }
   10825              :                 }
   10826           24 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
   10827              :                 {
   10828            3 :                   {
   10829            3 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
   10830            3 :                     tree res = generic_simplify_90 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   10831            3 :                     if (res) return res;
   10832              :                   }
   10833              :                 }
   10834           21 :               switch (TREE_CODE (_p1))
   10835              :                 {
   10836            0 :                 case BIT_IOR_EXPR:
   10837            0 :                   {
   10838            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   10839            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   10840            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   10841              :                       {
   10842            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
   10843              :                           {
   10844            0 :                             {
   10845            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10846            0 :                               tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
   10847            0 :                               if (res) return res;
   10848              :                             }
   10849              :                           }
   10850              :                       }
   10851              :                     break;
   10852              :                   }
   10853              :                 default:;
   10854              :                 }
   10855              :               break;
   10856              :             }
   10857        66806 :           default:;
   10858              :           }
   10859        66806 :         switch (TREE_CODE (_p1))
   10860              :           {
   10861        27418 :           CASE_CONVERT:
   10862        27418 :             {
   10863        27418 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10864        27418 :               switch (TREE_CODE (_q40))
   10865              :                 {
   10866            0 :                 case BIT_NOT_EXPR:
   10867            0 :                   {
   10868            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   10869            0 :                     {
   10870            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   10871            0 :                       tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   10872            0 :                       if (res) return res;
   10873              :                     }
   10874            0 :                     break;
   10875              :                   }
   10876              :                 default:;
   10877              :                 }
   10878              :               break;
   10879              :             }
   10880           44 :           case BIT_NOT_EXPR:
   10881           44 :             {
   10882           44 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10883           44 :               {
   10884           44 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10885           44 :                 tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   10886           44 :                 if (res) return res;
   10887              :               }
   10888            0 :               break;
   10889              :             }
   10890              :           default:;
   10891              :           }
   10892              :         break;
   10893              :       }
   10894         1585 :     case BIT_IOR_EXPR:
   10895         1585 :       {
   10896         1585 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10897         1585 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10898         1585 :         switch (TREE_CODE (_p1))
   10899              :           {
   10900          169 :           case BIT_NOT_EXPR:
   10901          169 :             {
   10902          169 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10903          169 :               switch (TREE_CODE (_q50))
   10904              :                 {
   10905            0 :                 case BIT_AND_EXPR:
   10906            0 :                   {
   10907            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   10908            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   10909            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10910              :                       {
   10911            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   10912              :                           {
   10913            0 :                             {
   10914            0 :                               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10915            0 :                               tree res = generic_simplify_454 (loc, type, _p0, _p1, captures);
   10916            0 :                               if (res) return res;
   10917              :                             }
   10918              :                           }
   10919              :                       }
   10920              :                     break;
   10921              :                   }
   10922              :                 default:;
   10923              :                 }
   10924              :               break;
   10925              :             }
   10926            2 :           case BIT_XOR_EXPR:
   10927            2 :             {
   10928            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10929            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10930            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10931              :                 {
   10932            0 :                   {
   10933            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
   10934            0 :                     tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10935            0 :                     if (res) return res;
   10936              :                   }
   10937              :                 }
   10938            2 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10939              :                 {
   10940            2 :                   {
   10941            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
   10942            2 :                     tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10943            2 :                     if (res) return res;
   10944              :                   }
   10945              :                 }
   10946            2 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10947              :                 {
   10948            0 :                   {
   10949            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
   10950            0 :                     tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10951            0 :                     if (res) return res;
   10952              :                   }
   10953              :                 }
   10954            2 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10955              :                 {
   10956            0 :                   {
   10957            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
   10958            0 :                     tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   10959            0 :                     if (res) return res;
   10960              :                   }
   10961              :                 }
   10962              :               break;
   10963              :             }
   10964         1585 :           default:;
   10965              :           }
   10966         1585 :         switch (TREE_CODE (_q20))
   10967              :           {
   10968          127 :           case BIT_NOT_EXPR:
   10969          127 :             {
   10970          127 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10971          127 :               switch (TREE_CODE (_p1))
   10972              :                 {
   10973            2 :                 case BIT_IOR_EXPR:
   10974            2 :                   {
   10975            2 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   10976            2 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   10977            2 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   10978              :                       {
   10979            0 :                         switch (TREE_CODE (_q61))
   10980              :                           {
   10981            0 :                           case BIT_NOT_EXPR:
   10982            0 :                             {
   10983            0 :                               tree _q80 = TREE_OPERAND (_q61, 0);
   10984            0 :                               if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   10985              :                                 {
   10986            0 :                                   {
   10987            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
   10988            0 :                                     tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   10989            0 :                                     if (res) return res;
   10990              :                                   }
   10991              :                                 }
   10992              :                               break;
   10993              :                             }
   10994              :                           default:;
   10995              :                           }
   10996              :                       }
   10997            2 :                     switch (TREE_CODE (_q60))
   10998              :                       {
   10999            2 :                       case BIT_NOT_EXPR:
   11000            2 :                         {
   11001            2 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11002            2 :                           if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   11003              :                             {
   11004            2 :                               if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   11005              :                                 {
   11006            2 :                                   {
   11007            2 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
   11008            2 :                                     tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   11009            2 :                                     if (res) return res;
   11010              :                                   }
   11011              :                                 }
   11012              :                             }
   11013              :                           break;
   11014              :                         }
   11015              :                       default:;
   11016              :                       }
   11017              :                     break;
   11018              :                   }
   11019              :                 default:;
   11020              :                 }
   11021              :               break;
   11022              :             }
   11023         1583 :           default:;
   11024              :           }
   11025         1583 :         switch (TREE_CODE (_q21))
   11026              :           {
   11027            0 :           case BIT_NOT_EXPR:
   11028            0 :             {
   11029            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   11030            0 :               switch (TREE_CODE (_p1))
   11031              :                 {
   11032            0 :                 case BIT_IOR_EXPR:
   11033            0 :                   {
   11034            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11035            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   11036            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   11037              :                       {
   11038            0 :                         switch (TREE_CODE (_q61))
   11039              :                           {
   11040            0 :                           case BIT_NOT_EXPR:
   11041            0 :                             {
   11042            0 :                               tree _q80 = TREE_OPERAND (_q61, 0);
   11043            0 :                               if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11044              :                                 {
   11045            0 :                                   {
   11046            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
   11047            0 :                                     tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   11048            0 :                                     if (res) return res;
   11049              :                                   }
   11050              :                                 }
   11051              :                               break;
   11052              :                             }
   11053              :                           default:;
   11054              :                           }
   11055              :                       }
   11056            0 :                     switch (TREE_CODE (_q60))
   11057              :                       {
   11058            0 :                       case BIT_NOT_EXPR:
   11059            0 :                         {
   11060            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11061            0 :                           if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   11062              :                             {
   11063            0 :                               if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   11064              :                                 {
   11065            0 :                                   {
   11066            0 :                                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
   11067            0 :                                     tree res = generic_simplify_456 (loc, type, _p0, _p1, captures);
   11068            0 :                                     if (res) return res;
   11069              :                                   }
   11070              :                                 }
   11071              :                             }
   11072              :                           break;
   11073              :                         }
   11074              :                       default:;
   11075              :                       }
   11076              :                     break;
   11077              :                   }
   11078              :                 default:;
   11079              :                 }
   11080              :               break;
   11081              :             }
   11082              :           default:;
   11083              :           }
   11084              :         break;
   11085              :       }
   11086        61615 :     case BIT_XOR_EXPR:
   11087        61615 :       {
   11088        61615 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11089        61615 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11090        61615 :         switch (TREE_CODE (_p1))
   11091              :           {
   11092          133 :           case BIT_IOR_EXPR:
   11093          133 :             {
   11094          133 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11095          133 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11096          133 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11097              :                 {
   11098           18 :                   {
   11099           18 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
   11100           18 :                     tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   11101           18 :                     if (res) return res;
   11102              :                   }
   11103              :                 }
   11104          133 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11105              :                 {
   11106           33 :                   {
   11107           33 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q21, _q20 };
   11108           33 :                     tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   11109           33 :                     if (res) return res;
   11110              :                   }
   11111              :                 }
   11112          133 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11113              :                 {
   11114           30 :                   {
   11115           30 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q20, _q21 };
   11116           30 :                     tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   11117           30 :                     if (res) return res;
   11118              :                   }
   11119              :                 }
   11120          133 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11121              :                 {
   11122           21 :                   {
   11123           21 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q21, _q20 };
   11124           21 :                     tree res = generic_simplify_455 (loc, type, _p0, _p1, captures);
   11125           21 :                     if (res) return res;
   11126              :                   }
   11127              :                 }
   11128              :               break;
   11129              :             }
   11130        61615 :           default:;
   11131              :           }
   11132        61615 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   11133              :           {
   11134           31 :             {
   11135           31 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   11136           31 :               tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11137           31 :               if (res) return res;
   11138              :             }
   11139              :           }
   11140        61584 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11141              :           {
   11142            2 :             {
   11143            2 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   11144            2 :               tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11145            2 :               if (res) return res;
   11146              :             }
   11147              :           }
   11148              :         break;
   11149              :       }
   11150      2685520 :     CASE_CONVERT:
   11151      2685520 :       {
   11152      2685520 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11153      2685520 :         switch (TREE_CODE (_q20))
   11154              :           {
   11155          174 :           case BIT_NOT_EXPR:
   11156          174 :             {
   11157          174 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11158          174 :               switch (TREE_CODE (_p1))
   11159              :                 {
   11160           34 :                 CASE_CONVERT:
   11161           34 :                   {
   11162           34 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11163           34 :                     switch (TREE_CODE (_q50))
   11164              :                       {
   11165            0 :                       case BIT_NOT_EXPR:
   11166            0 :                         {
   11167            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
   11168            0 :                           {
   11169            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
   11170            0 :                             tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11171            0 :                             if (res) return res;
   11172              :                           }
   11173            0 :                           break;
   11174              :                         }
   11175              :                       default:;
   11176              :                       }
   11177              :                     break;
   11178              :                   }
   11179            1 :                 case BIT_NOT_EXPR:
   11180            1 :                   {
   11181            1 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   11182            1 :                     {
   11183            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
   11184            1 :                       tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11185            1 :                       if (res) return res;
   11186              :                     }
   11187            0 :                     break;
   11188              :                   }
   11189              :                 default:;
   11190              :                 }
   11191              :               break;
   11192              :             }
   11193              :           default:;
   11194              :           }
   11195              :         break;
   11196              :       }
   11197      9131137 :     default:;
   11198              :     }
   11199      9131137 :   switch (TREE_CODE (_p1))
   11200              :     {
   11201          254 :     case BIT_XOR_EXPR:
   11202          254 :       {
   11203          254 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11204          254 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11205          254 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   11206              :           {
   11207            0 :             {
   11208            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
   11209            0 :               tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11210            0 :               if (res) return res;
   11211              :             }
   11212              :           }
   11213          254 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11214              :           {
   11215            1 :             {
   11216            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
   11217            1 :               tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_XOR_EXPR);
   11218            1 :               if (res) return res;
   11219              :             }
   11220              :           }
   11221              :         break;
   11222              :       }
   11223      9131136 :     default:;
   11224              :     }
   11225      9131136 :   switch (TREE_CODE (_p0))
   11226              :     {
   11227      2685519 :     CASE_CONVERT:
   11228      2685519 :       {
   11229      2685519 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11230      2685519 :         switch (TREE_CODE (_q20))
   11231              :           {
   11232          171 :           case BIT_IOR_EXPR:
   11233          171 :             {
   11234          171 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11235          171 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11236          171 :               switch (TREE_CODE (_p1))
   11237              :                 {
   11238           12 :                 CASE_CONVERT:
   11239           12 :                   {
   11240           12 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11241           12 :                     switch (TREE_CODE (_q60))
   11242              :                       {
   11243            0 :                       case BIT_IOR_EXPR:
   11244            0 :                         {
   11245            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11246            0 :                           tree _q71 = TREE_OPERAND (_q60, 1);
   11247            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
   11248              :                             {
   11249            0 :                               {
   11250            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
   11251            0 :                                 tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11252            0 :                                 if (res) return res;
   11253              :                               }
   11254              :                             }
   11255            0 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
   11256              :                             {
   11257            0 :                               {
   11258            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
   11259            0 :                                 tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11260            0 :                                 if (res) return res;
   11261              :                               }
   11262              :                             }
   11263            0 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
   11264              :                             {
   11265            0 :                               {
   11266            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
   11267            0 :                                 tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11268            0 :                                 if (res) return res;
   11269              :                               }
   11270              :                             }
   11271            0 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
   11272              :                             {
   11273            0 :                               {
   11274            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
   11275            0 :                                 tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11276            0 :                                 if (res) return res;
   11277              :                               }
   11278              :                             }
   11279              :                           break;
   11280              :                         }
   11281              :                       default:;
   11282              :                       }
   11283              :                     break;
   11284              :                   }
   11285              :                 default:;
   11286              :                 }
   11287              :               break;
   11288              :             }
   11289           40 :           case BIT_AND_EXPR:
   11290           40 :             {
   11291           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11292           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11293           40 :               switch (TREE_CODE (_p1))
   11294              :                 {
   11295            0 :                 CASE_CONVERT:
   11296            0 :                   {
   11297            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11298            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
   11299              :                       {
   11300            0 :                         {
   11301            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
   11302            0 :                           tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11303            0 :                           if (res) return res;
   11304              :                         }
   11305              :                       }
   11306            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
   11307              :                       {
   11308            0 :                         {
   11309            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
   11310            0 :                           tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11311            0 :                           if (res) return res;
   11312              :                         }
   11313              :                       }
   11314              :                     break;
   11315              :                   }
   11316           40 :                 default:;
   11317              :                 }
   11318           40 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
   11319              :                 {
   11320            0 :                   {
   11321            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
   11322            0 :                     tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11323            0 :                     if (res) return res;
   11324              :                   }
   11325              :                 }
   11326           40 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
   11327              :                 {
   11328            0 :                   {
   11329            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
   11330            0 :                     tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11331            0 :                     if (res) return res;
   11332              :                   }
   11333              :                 }
   11334              :               break;
   11335              :             }
   11336      2685519 :           default:;
   11337              :           }
   11338      2685519 :         switch (TREE_CODE (_p1))
   11339              :           {
   11340       799574 :           CASE_CONVERT:
   11341       799574 :             {
   11342       799574 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11343       799574 :               switch (TREE_CODE (_q40))
   11344              :                 {
   11345            0 :                 case BIT_AND_EXPR:
   11346            0 :                   {
   11347            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   11348            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   11349            0 :                     if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
   11350              :                       {
   11351            0 :                         {
   11352            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
   11353            0 :                           tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11354            0 :                           if (res) return res;
   11355              :                         }
   11356              :                       }
   11357            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
   11358              :                       {
   11359            0 :                         {
   11360            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
   11361            0 :                           tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11362            0 :                           if (res) return res;
   11363              :                         }
   11364              :                       }
   11365              :                     break;
   11366              :                   }
   11367              :                 default:;
   11368              :                 }
   11369              :               break;
   11370              :             }
   11371           47 :           case BIT_AND_EXPR:
   11372           47 :             {
   11373           47 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11374           47 :               tree _q41 = TREE_OPERAND (_p1, 1);
   11375           47 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
   11376              :                 {
   11377            0 :                   {
   11378            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
   11379            0 :                     tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11380            0 :                     if (res) return res;
   11381              :                   }
   11382              :                 }
   11383           47 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
   11384              :                 {
   11385            0 :                   {
   11386            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
   11387            0 :                     tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11388            0 :                     if (res) return res;
   11389              :                   }
   11390              :                 }
   11391              :               break;
   11392              :             }
   11393              :           default:;
   11394              :           }
   11395              :         break;
   11396              :       }
   11397         1583 :     case BIT_IOR_EXPR:
   11398         1583 :       {
   11399         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11400         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11401         1583 :         switch (TREE_CODE (_p1))
   11402              :           {
   11403            9 :           case BIT_IOR_EXPR:
   11404            9 :             {
   11405            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11406            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11407            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
   11408              :                 {
   11409            0 :                   {
   11410            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
   11411            0 :                     tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11412            0 :                     if (res) return res;
   11413              :                   }
   11414              :                 }
   11415            9 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
   11416              :                 {
   11417            0 :                   {
   11418            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
   11419            0 :                     tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11420            0 :                     if (res) return res;
   11421              :                   }
   11422              :                 }
   11423            9 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
   11424              :                 {
   11425            0 :                   {
   11426            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
   11427            0 :                     tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11428            0 :                     if (res) return res;
   11429              :                   }
   11430              :                 }
   11431            9 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
   11432              :                 {
   11433            0 :                   {
   11434            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
   11435            0 :                     tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11436            0 :                     if (res) return res;
   11437              :                   }
   11438              :                 }
   11439              :               break;
   11440              :             }
   11441              :           default:;
   11442              :           }
   11443              :         break;
   11444              :       }
   11445      9131136 :     default:;
   11446              :     }
   11447      9131136 :   switch (TREE_CODE (_p1))
   11448              :     {
   11449       945509 :     CASE_CONVERT:
   11450       945509 :       {
   11451       945509 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11452       945509 :         switch (TREE_CODE (_q30))
   11453              :           {
   11454            8 :           case BIT_AND_EXPR:
   11455            8 :             {
   11456            8 :               tree _q40 = TREE_OPERAND (_q30, 0);
   11457            8 :               tree _q41 = TREE_OPERAND (_q30, 1);
   11458            8 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
   11459              :                 {
   11460            0 :                   {
   11461            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
   11462            0 :                     tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11463            0 :                     if (res) return res;
   11464              :                   }
   11465              :                 }
   11466            8 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
   11467              :                 {
   11468            0 :                   {
   11469            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
   11470            0 :                     tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11471            0 :                     if (res) return res;
   11472              :                   }
   11473              :                 }
   11474              :               break;
   11475              :             }
   11476              :           default:;
   11477              :           }
   11478              :         break;
   11479              :       }
   11480      9131136 :     default:;
   11481              :     }
   11482      9131136 :   switch (TREE_CODE (_p0))
   11483              :     {
   11484         1591 :     case BIT_AND_EXPR:
   11485         1591 :       {
   11486         1591 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11487         1591 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11488         1591 :         switch (TREE_CODE (_p1))
   11489              :           {
   11490           82 :           CASE_CONVERT:
   11491           82 :             {
   11492           82 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11493           82 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
   11494              :                 {
   11495            0 :                   {
   11496            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
   11497            0 :                     tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11498            0 :                     if (res) return res;
   11499              :                   }
   11500              :                 }
   11501           82 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
   11502              :                 {
   11503            0 :                   {
   11504            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
   11505            0 :                     tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11506            0 :                     if (res) return res;
   11507              :                   }
   11508              :                 }
   11509              :               break;
   11510              :             }
   11511         1591 :           default:;
   11512              :           }
   11513         1591 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
   11514              :           {
   11515            0 :             {
   11516            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
   11517            0 :               tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11518            0 :               if (res) return res;
   11519              :             }
   11520              :           }
   11521         1591 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
   11522              :           {
   11523            0 :             {
   11524            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
   11525            0 :               tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11526            0 :               if (res) return res;
   11527              :             }
   11528              :           }
   11529         1591 :         {
   11530         1591 :           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11531         1591 :           tree res = generic_simplify_457 (loc, type, _p0, _p1, captures);
   11532         1591 :           if (res) return res;
   11533              :         }
   11534         1583 :         switch (TREE_CODE (_p1))
   11535              :           {
   11536           82 :           CASE_CONVERT:
   11537           82 :             {
   11538           82 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11539           82 :               switch (TREE_CODE (_q50))
   11540              :                 {
   11541            8 :                 case BIT_AND_EXPR:
   11542            8 :                   {
   11543            8 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   11544            8 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   11545            8 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11546              :                       {
   11547            0 :                         {
   11548            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
   11549            0 :                           tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11550            0 :                           if (res) return res;
   11551              :                         }
   11552              :                       }
   11553            8 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   11554              :                       {
   11555            0 :                         {
   11556            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
   11557            0 :                           tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11558            0 :                           if (res) return res;
   11559              :                         }
   11560              :                       }
   11561            8 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   11562              :                       {
   11563            0 :                         {
   11564            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
   11565            0 :                           tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11566            0 :                           if (res) return res;
   11567              :                         }
   11568              :                       }
   11569            8 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   11570              :                       {
   11571            0 :                         {
   11572            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
   11573            0 :                           tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11574            0 :                           if (res) return res;
   11575              :                         }
   11576              :                       }
   11577              :                     break;
   11578              :                   }
   11579              :                 default:;
   11580              :                 }
   11581              :               break;
   11582              :             }
   11583           12 :           case BIT_AND_EXPR:
   11584           12 :             {
   11585           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11586           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11587           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11588              :                 {
   11589            0 :                   {
   11590            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
   11591            0 :                     tree res = generic_simplify_100 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11592            0 :                     if (res) return res;
   11593              :                   }
   11594              :                 }
   11595           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11596              :                 {
   11597            0 :                   {
   11598            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
   11599            0 :                     tree res = generic_simplify_100 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11600            0 :                     if (res) return res;
   11601              :                   }
   11602              :                 }
   11603           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11604              :                 {
   11605            0 :                   {
   11606            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
   11607            0 :                     tree res = generic_simplify_100 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11608            0 :                     if (res) return res;
   11609              :                   }
   11610              :                 }
   11611           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11612              :                 {
   11613            0 :                   {
   11614            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
   11615            0 :                     tree res = generic_simplify_100 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11616            0 :                     if (res) return res;
   11617              :                   }
   11618              :                 }
   11619              :               break;
   11620              :             }
   11621              :           default:;
   11622              :           }
   11623              :         break;
   11624              :       }
   11625      9131128 :     default:;
   11626              :     }
   11627      9131128 :   switch (TREE_CODE (_p1))
   11628              :     {
   11629           76 :     case BIT_AND_EXPR:
   11630           76 :       {
   11631           76 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11632           76 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11633           76 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
   11634              :           {
   11635            0 :             {
   11636            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
   11637            0 :               tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11638            0 :               if (res) return res;
   11639              :             }
   11640              :           }
   11641           76 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
   11642              :           {
   11643            0 :             {
   11644            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
   11645            0 :               tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11646            0 :               if (res) return res;
   11647              :             }
   11648              :           }
   11649           76 :         {
   11650           76 :           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
   11651           76 :           tree res = generic_simplify_457 (loc, type, _p0, _p1, captures);
   11652           76 :           if (res) return res;
   11653              :         }
   11654           76 :         break;
   11655              :       }
   11656      9131128 :     default:;
   11657              :     }
   11658      9131128 :   switch (TREE_CODE (_p0))
   11659              :     {
   11660      2685519 :     CASE_CONVERT:
   11661      2685519 :       {
   11662      2685519 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11663      2685519 :         switch (TREE_CODE (_q20))
   11664              :           {
   11665           40 :           case BIT_AND_EXPR:
   11666           40 :             {
   11667           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11668           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11669           40 :               switch (TREE_CODE (_p1))
   11670              :                 {
   11671            0 :                 CASE_CONVERT:
   11672            0 :                   {
   11673            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11674            0 :                     switch (TREE_CODE (_q60))
   11675              :                       {
   11676            0 :                       case BIT_AND_EXPR:
   11677            0 :                         {
   11678            0 :                           tree _q70 = TREE_OPERAND (_q60, 0);
   11679            0 :                           tree _q71 = TREE_OPERAND (_q60, 1);
   11680            0 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   11681              :                             {
   11682            0 :                               {
   11683            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
   11684            0 :                                 tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11685            0 :                                 if (res) return res;
   11686              :                               }
   11687              :                             }
   11688            0 :                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   11689              :                             {
   11690            0 :                               {
   11691            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
   11692            0 :                                 tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11693            0 :                                 if (res) return res;
   11694              :                               }
   11695              :                             }
   11696            0 :                           if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   11697              :                             {
   11698            0 :                               {
   11699            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
   11700            0 :                                 tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11701            0 :                                 if (res) return res;
   11702              :                               }
   11703              :                             }
   11704            0 :                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   11705              :                             {
   11706            0 :                               {
   11707            0 :                                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
   11708            0 :                                 tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11709            0 :                                 if (res) return res;
   11710              :                               }
   11711              :                             }
   11712              :                           break;
   11713              :                         }
   11714              :                       default:;
   11715              :                       }
   11716              :                     break;
   11717              :                   }
   11718            0 :                 case BIT_AND_EXPR:
   11719            0 :                   {
   11720            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   11721            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   11722            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   11723              :                       {
   11724            0 :                         {
   11725            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
   11726            0 :                           tree res = generic_simplify_102 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11727            0 :                           if (res) return res;
   11728              :                         }
   11729              :                       }
   11730            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   11731              :                       {
   11732            0 :                         {
   11733            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
   11734            0 :                           tree res = generic_simplify_102 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11735            0 :                           if (res) return res;
   11736              :                         }
   11737              :                       }
   11738            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
   11739              :                       {
   11740            0 :                         {
   11741            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
   11742            0 :                           tree res = generic_simplify_102 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11743            0 :                           if (res) return res;
   11744              :                         }
   11745              :                       }
   11746            0 :                     if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
   11747              :                       {
   11748            0 :                         {
   11749            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
   11750            0 :                           tree res = generic_simplify_102 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11751            0 :                           if (res) return res;
   11752              :                         }
   11753              :                       }
   11754              :                     break;
   11755              :                   }
   11756              :                 default:;
   11757              :                 }
   11758              :               break;
   11759              :             }
   11760      2685519 :           default:;
   11761              :           }
   11762      2685519 :         switch (TREE_CODE (_p1))
   11763              :           {
   11764       799574 :           CASE_CONVERT:
   11765       799574 :             {
   11766       799574 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11767       799574 :               {
   11768       799574 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11769       799574 :                 tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11770       799574 :                 if (res) return res;
   11771              :               }
   11772       799574 :               break;
   11773              :             }
   11774      2685519 :           default:;
   11775              :           }
   11776      2685519 :         {
   11777      2685519 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
   11778      2685519 :           tree res = generic_simplify_104 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   11779      2685519 :           if (res) return res;
   11780              :         }
   11781      2685519 :         break;
   11782              :       }
   11783         1583 :     case BIT_IOR_EXPR:
   11784         1583 :       {
   11785         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11786         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11787         1583 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11788              :           {
   11789            2 :             {
   11790            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   11791            2 :               tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11792            2 :               if (res) return res;
   11793              :             }
   11794              :           }
   11795         1581 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   11796              :           {
   11797            4 :             {
   11798            4 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   11799            4 :               tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11800            4 :               if (res) return res;
   11801              :             }
   11802              :           }
   11803         1577 :         {
   11804         1577 :           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11805         1577 :           tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11806         1577 :           if (res) return res;
   11807              :         }
   11808         1572 :         {
   11809         1572 :           tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11810         1572 :           tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11811         1572 :           if (res) return res;
   11812              :         }
   11813         1572 :         switch (TREE_CODE (_p1))
   11814              :           {
   11815            1 :           case BIT_AND_EXPR:
   11816            1 :             {
   11817            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11818            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11819            1 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11820              :                 {
   11821            1 :                   {
   11822            1 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51 };
   11823            1 :                     tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11824            1 :                     if (res) return res;
   11825              :                   }
   11826              :                 }
   11827            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11828              :                 {
   11829            0 :                   {
   11830            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50 };
   11831            0 :                     tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11832            0 :                     if (res) return res;
   11833              :                   }
   11834              :                 }
   11835            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11836              :                 {
   11837            0 :                   {
   11838            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51 };
   11839            0 :                     tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11840            0 :                     if (res) return res;
   11841              :                   }
   11842              :                 }
   11843            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11844              :                 {
   11845            0 :                   {
   11846            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50 };
   11847            0 :                     tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11848            0 :                     if (res) return res;
   11849              :                   }
   11850              :                 }
   11851              :               break;
   11852              :             }
   11853          168 :           case BIT_NOT_EXPR:
   11854          168 :             {
   11855          168 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11856          168 :               switch (TREE_CODE (_q50))
   11857              :                 {
   11858            9 :                 case BIT_IOR_EXPR:
   11859            9 :                   {
   11860            9 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   11861            9 :                     tree _q61 = TREE_OPERAND (_q50, 1);
   11862            9 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   11863              :                       {
   11864            0 :                         {
   11865            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q61 };
   11866            0 :                           tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11867            0 :                           if (res) return res;
   11868              :                         }
   11869              :                       }
   11870            9 :                     if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   11871              :                       {
   11872            1 :                         {
   11873            1 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q60 };
   11874            1 :                           tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11875            1 :                           if (res) return res;
   11876              :                         }
   11877              :                       }
   11878            8 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11879              :                       {
   11880            0 :                         {
   11881            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q61 };
   11882            0 :                           tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11883            0 :                           if (res) return res;
   11884              :                         }
   11885              :                       }
   11886            8 :                     if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
   11887              :                       {
   11888            0 :                         {
   11889            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q60 };
   11890            0 :                           tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11891            0 :                           if (res) return res;
   11892              :                         }
   11893              :                       }
   11894              :                     break;
   11895              :                   }
   11896              :                 default:;
   11897              :                 }
   11898              :               break;
   11899              :             }
   11900              :           default:;
   11901              :           }
   11902              :         break;
   11903              :       }
   11904      9131115 :     default:;
   11905              :     }
   11906      9131115 :   switch (TREE_CODE (_p1))
   11907              :     {
   11908          476 :     case BIT_IOR_EXPR:
   11909          476 :       {
   11910          476 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11911          476 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11912          476 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11913              :           {
   11914            0 :             {
   11915            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
   11916            0 :               tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11917            0 :               if (res) return res;
   11918              :             }
   11919              :           }
   11920          476 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   11921              :           {
   11922            0 :             {
   11923            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
   11924            0 :               tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11925            0 :               if (res) return res;
   11926              :             }
   11927              :           }
   11928          476 :         {
   11929          476 :           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
   11930          476 :           tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11931          476 :           if (res) return res;
   11932              :         }
   11933          476 :         {
   11934          476 :           tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
   11935          476 :           tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11936          476 :           if (res) return res;
   11937              :         }
   11938          475 :         break;
   11939              :       }
   11940      9131114 :     default:;
   11941              :     }
   11942      9131114 :   switch (TREE_CODE (_p0))
   11943              :     {
   11944         1583 :     case BIT_AND_EXPR:
   11945         1583 :       {
   11946         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11947         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11948         1583 :         switch (TREE_CODE (_p1))
   11949              :           {
   11950           16 :           case BIT_IOR_EXPR:
   11951           16 :             {
   11952           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11953           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11954           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11955              :                 {
   11956            0 :                   {
   11957            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q51, _p0, _q21 };
   11958            0 :                     tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11959            0 :                     if (res) return res;
   11960              :                   }
   11961              :                 }
   11962           16 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11963              :                 {
   11964            0 :                   {
   11965            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q51, _p0, _q20 };
   11966            0 :                     tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11967            0 :                     if (res) return res;
   11968              :                   }
   11969              :                 }
   11970           16 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11971              :                 {
   11972            0 :                   {
   11973            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q50, _p0, _q21 };
   11974            0 :                     tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11975            0 :                     if (res) return res;
   11976              :                   }
   11977              :                 }
   11978           16 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11979              :                 {
   11980            0 :                   {
   11981            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20 };
   11982            0 :                     tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   11983            0 :                     if (res) return res;
   11984              :                   }
   11985              :                 }
   11986              :               break;
   11987              :             }
   11988              :           default:;
   11989              :           }
   11990              :         break;
   11991              :       }
   11992        66761 :     case BIT_NOT_EXPR:
   11993        66761 :       {
   11994        66761 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11995        66761 :         switch (TREE_CODE (_q20))
   11996              :           {
   11997           11 :           case BIT_IOR_EXPR:
   11998           11 :             {
   11999           11 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12000           11 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12001           11 :               switch (TREE_CODE (_p1))
   12002              :                 {
   12003            0 :                 case BIT_IOR_EXPR:
   12004            0 :                   {
   12005            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   12006            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   12007            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   12008              :                       {
   12009            0 :                         {
   12010            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q30, _p0, _q31 };
   12011            0 :                           tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12012            0 :                           if (res) return res;
   12013              :                         }
   12014              :                       }
   12015            0 :                     if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
   12016              :                       {
   12017            0 :                         {
   12018            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q31, _p0, _q30 };
   12019            0 :                           tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12020            0 :                           if (res) return res;
   12021              :                         }
   12022              :                       }
   12023            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12024              :                       {
   12025            0 :                         {
   12026            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q30, _p0, _q31 };
   12027            0 :                           tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12028            0 :                           if (res) return res;
   12029              :                         }
   12030              :                       }
   12031            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
   12032              :                       {
   12033            0 :                         {
   12034            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q31, _p0, _q30 };
   12035            0 :                           tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12036            0 :                           if (res) return res;
   12037              :                         }
   12038              :                       }
   12039              :                     break;
   12040              :                   }
   12041           11 :                 default:;
   12042              :                 }
   12043           11 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   12044              :                 {
   12045            0 :                   {
   12046            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   12047            0 :                     tree res = generic_simplify_113 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12048            0 :                     if (res) return res;
   12049              :                   }
   12050              :                 }
   12051           11 :               if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
   12052              :                 {
   12053            1 :                   {
   12054            1 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
   12055            1 :                     tree res = generic_simplify_113 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12056            1 :                     if (res) return res;
   12057              :                   }
   12058              :                 }
   12059              :               break;
   12060              :             }
   12061              :           default:;
   12062              :           }
   12063              :         break;
   12064              :       }
   12065      9131113 :     default:;
   12066              :     }
   12067      9131113 :   switch (TREE_CODE (_p1))
   12068              :     {
   12069        52105 :     case BIT_NOT_EXPR:
   12070        52105 :       {
   12071        52105 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12072        52105 :         switch (TREE_CODE (_q30))
   12073              :           {
   12074            8 :           case BIT_IOR_EXPR:
   12075            8 :             {
   12076            8 :               tree _q40 = TREE_OPERAND (_q30, 0);
   12077            8 :               tree _q41 = TREE_OPERAND (_q30, 1);
   12078            8 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   12079              :                 {
   12080            0 :                   {
   12081            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   12082            0 :                     tree res = generic_simplify_113 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12083            0 :                     if (res) return res;
   12084              :                   }
   12085              :                 }
   12086            8 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
   12087              :                 {
   12088            0 :                   {
   12089            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
   12090            0 :                     tree res = generic_simplify_113 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
   12091            0 :                     if (res) return res;
   12092              :                   }
   12093              :                 }
   12094              :               break;
   12095              :             }
   12096              :           default:;
   12097              :           }
   12098              :         break;
   12099              :       }
   12100      9131113 :     default:;
   12101              :     }
   12102      9131113 :   switch (TREE_CODE (_p0))
   12103              :     {
   12104         1570 :     case BIT_IOR_EXPR:
   12105         1570 :       {
   12106         1570 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12107         1570 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12108         1570 :         if (CONSTANT_CLASS_P (_q21))
   12109              :           {
   12110          459 :             if (CONSTANT_CLASS_P (_p1))
   12111              :               {
   12112           25 :                 {
   12113           25 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12114           25 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1660;
   12115           25 :                   {
   12116           25 :                     if (! tree_invariant_p (captures[2])) goto next_after_fail1660;
   12117           25 :                     tree res_op0;
   12118           25 :                     {
   12119           25 :                       tree _o1[2], _r1;
   12120           25 :                       _o1[0] = captures[0];
   12121           25 :                       _o1[1] = unshare_expr (captures[2]);
   12122           25 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12123           25 :                       res_op0 = _r1;
   12124              :                     }
   12125           25 :                     tree res_op1;
   12126           25 :                     {
   12127           25 :                       tree _o1[2], _r1;
   12128           25 :                       _o1[0] = captures[1];
   12129           25 :                       _o1[1] = captures[2];
   12130           25 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   12131           25 :                       if (EXPR_P (_r1))
   12132            0 :                         goto next_after_fail1660;
   12133           25 :                       res_op1 = _r1;
   12134              :                     }
   12135           25 :                     tree _r;
   12136           25 :                     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
   12137           25 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1000, __FILE__, __LINE__, true);
   12138           25 :                     return _r;
   12139              :                   }
   12140            0 : next_after_fail1660:;
   12141              :                 }
   12142              :               }
   12143              :           }
   12144              :         break;
   12145              :       }
   12146         1583 :     case BIT_AND_EXPR:
   12147         1583 :       {
   12148         1583 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12149         1583 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12150         1583 :         if (CONSTANT_CLASS_P (_q21))
   12151              :           {
   12152          508 :             if (CONSTANT_CLASS_P (_p1))
   12153              :               {
   12154          441 :                 {
   12155          441 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12156          441 :                   tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
   12157          441 :                   if (res) return res;
   12158              :                 }
   12159              :               }
   12160              :           }
   12161              :         break;
   12162              :       }
   12163      9130647 :     default:;
   12164              :     }
   12165      9130647 :   {
   12166      9130647 :     tree _p1_pops[1];
   12167      9130647 :     if (tree_logical_inverted_value (_p1, _p1_pops))
   12168              :       {
   12169          890 :         tree _q30 = _p1_pops[0];
   12170          890 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12171              :           {
   12172            1 :             {
   12173            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   12174            1 :               tree res = generic_simplify_458 (loc, type, _p0, _p1, captures);
   12175            1 :               if (res) return res;
   12176              :             }
   12177              :           }
   12178              :       }
   12179              :   }
   12180      9130646 :   switch (TREE_CODE (_p0))
   12181              :     {
   12182      2685519 :     CASE_CONVERT:
   12183      2685519 :       {
   12184      2685519 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12185      2685519 :         switch (TREE_CODE (_q20))
   12186              :           {
   12187         6049 :           case NEGATE_EXPR:
   12188         6049 :             {
   12189         6049 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12190         6049 :               if (tree_zero_one_valued_p (_q30))
   12191              :                 {
   12192            2 :                   {
   12193            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
   12194            2 :                     tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
   12195            2 :                     if (res) return res;
   12196              :                   }
   12197              :                 }
   12198              :               break;
   12199              :             }
   12200              :           default:;
   12201              :           }
   12202              :         break;
   12203              :       }
   12204      9130644 :     default:;
   12205              :     }
   12206      9130644 : {
   12207      9130644 :   tree _p0_pops[1];
   12208      9130644 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   12209              :     {
   12210          526 :       tree _q20 = _p0_pops[0];
   12211          526 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12212              :         {
   12213           12 :           {
   12214           12 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   12215           12 :             tree res = generic_simplify_458 (loc, type, _p0, _p1, captures);
   12216           12 :             if (res) return res;
   12217              :           }
   12218              :         }
   12219              :     }
   12220              : }
   12221      9130632 :   switch (TREE_CODE (_p1))
   12222              :     {
   12223       945509 :     CASE_CONVERT:
   12224       945509 :       {
   12225       945509 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12226       945509 :         switch (TREE_CODE (_q30))
   12227              :           {
   12228          108 :           case NEGATE_EXPR:
   12229          108 :             {
   12230          108 :               tree _q40 = TREE_OPERAND (_q30, 0);
   12231          108 :               if (tree_zero_one_valued_p (_q40))
   12232              :                 {
   12233           18 :                   {
   12234           18 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
   12235           18 :                     tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
   12236           18 :                     if (res) return res;
   12237              :                   }
   12238              :                 }
   12239              :               break;
   12240              :             }
   12241              :           default:;
   12242              :           }
   12243              :         break;
   12244              :       }
   12245        10579 :     case NEGATE_EXPR:
   12246        10579 :       {
   12247        10579 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12248        10579 :         if (tree_zero_one_valued_p (_q30))
   12249              :           {
   12250           24 :             {
   12251           24 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
   12252           24 :               tree res = generic_simplify_453 (loc, type, _p0, _p1, captures);
   12253           24 :               if (res) return res;
   12254              :             }
   12255              :           }
   12256              :         break;
   12257              :       }
   12258      9130590 :     default:;
   12259              :     }
   12260      9130590 :   switch (TREE_CODE (_p0))
   12261              :     {
   12262        47686 :     case NEGATE_EXPR:
   12263        47686 :       {
   12264        47686 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12265        47686 :         switch (TREE_CODE (_q20))
   12266              :           {
   12267         6106 :           CASE_CONVERT:
   12268         6106 :             {
   12269         6106 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12270         6106 :               switch (TREE_CODE (_q30))
   12271              :                 {
   12272            0 :                 case LT_EXPR:
   12273            0 :                   {
   12274            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12275            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12276            0 :                     {
   12277            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12278            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, LT_EXPR);
   12279            0 :                       if (res) return res;
   12280              :                     }
   12281            0 :                     break;
   12282              :                   }
   12283            0 :                 case LE_EXPR:
   12284            0 :                   {
   12285            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12286            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12287            0 :                     {
   12288            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12289            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, LE_EXPR);
   12290            0 :                       if (res) return res;
   12291              :                     }
   12292            0 :                     break;
   12293              :                   }
   12294            0 :                 case EQ_EXPR:
   12295            0 :                   {
   12296            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12297            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12298            0 :                     {
   12299            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12300            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12301            0 :                       if (res) return res;
   12302              :                     }
   12303            0 :                     break;
   12304              :                   }
   12305            0 :                 case NE_EXPR:
   12306            0 :                   {
   12307            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12308            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12309            0 :                     {
   12310            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12311            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, NE_EXPR);
   12312            0 :                       if (res) return res;
   12313              :                     }
   12314            0 :                     break;
   12315              :                   }
   12316            0 :                 case GE_EXPR:
   12317            0 :                   {
   12318            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12319            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12320            0 :                     {
   12321            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12322            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, GE_EXPR);
   12323            0 :                       if (res) return res;
   12324              :                     }
   12325            0 :                     break;
   12326              :                   }
   12327            0 :                 case GT_EXPR:
   12328            0 :                   {
   12329            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12330            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12331            0 :                     {
   12332            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12333            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, GT_EXPR);
   12334            0 :                       if (res) return res;
   12335              :                     }
   12336            0 :                     break;
   12337              :                   }
   12338            0 :                 case UNORDERED_EXPR:
   12339            0 :                   {
   12340            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12341            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12342            0 :                     {
   12343            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12344            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   12345            0 :                       if (res) return res;
   12346              :                     }
   12347            0 :                     break;
   12348              :                   }
   12349            0 :                 case ORDERED_EXPR:
   12350            0 :                   {
   12351            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12352            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12353            0 :                     {
   12354            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12355            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
   12356            0 :                       if (res) return res;
   12357              :                     }
   12358            0 :                     break;
   12359              :                   }
   12360            0 :                 case UNLT_EXPR:
   12361            0 :                   {
   12362            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12363            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12364            0 :                     {
   12365            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12366            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   12367            0 :                       if (res) return res;
   12368              :                     }
   12369            0 :                     break;
   12370              :                   }
   12371            0 :                 case UNLE_EXPR:
   12372            0 :                   {
   12373            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12374            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12375            0 :                     {
   12376            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12377            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   12378            0 :                       if (res) return res;
   12379              :                     }
   12380            0 :                     break;
   12381              :                   }
   12382            0 :                 case UNGT_EXPR:
   12383            0 :                   {
   12384            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12385            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12386            0 :                     {
   12387            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12388            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   12389            0 :                       if (res) return res;
   12390              :                     }
   12391            0 :                     break;
   12392              :                   }
   12393            0 :                 case UNGE_EXPR:
   12394            0 :                   {
   12395            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12396            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12397            0 :                     {
   12398            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12399            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   12400            0 :                       if (res) return res;
   12401              :                     }
   12402            0 :                     break;
   12403              :                   }
   12404            0 :                 case UNEQ_EXPR:
   12405            0 :                   {
   12406            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12407            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12408            0 :                     {
   12409            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12410            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   12411            0 :                       if (res) return res;
   12412              :                     }
   12413            0 :                     break;
   12414              :                   }
   12415            0 :                 case LTGT_EXPR:
   12416            0 :                   {
   12417            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   12418            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
   12419            0 :                     {
   12420            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
   12421            0 :                       tree res = generic_simplify_459 (loc, type, _p0, _p1, captures, LTGT_EXPR);
   12422            0 :                       if (res) return res;
   12423              :                     }
   12424            0 :                     break;
   12425              :                   }
   12426              :                 default:;
   12427              :                 }
   12428              :               break;
   12429              :             }
   12430              :           default:;
   12431              :           }
   12432              :         break;
   12433              :       }
   12434      9130590 :     default:;
   12435              :     }
   12436      9130590 :   switch (TREE_CODE (_p1))
   12437              :     {
   12438        10555 :     case NEGATE_EXPR:
   12439        10555 :       {
   12440        10555 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12441        10555 :         switch (TREE_CODE (_q30))
   12442              :           {
   12443           65 :           CASE_CONVERT:
   12444           65 :             {
   12445           65 :               tree _q40 = TREE_OPERAND (_q30, 0);
   12446           65 :               switch (TREE_CODE (_q40))
   12447              :                 {
   12448            0 :                 case LT_EXPR:
   12449            0 :                   {
   12450            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12451            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12452            0 :                     {
   12453            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12454            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, LT_EXPR);
   12455            0 :                       if (res) return res;
   12456              :                     }
   12457            0 :                     break;
   12458              :                   }
   12459            0 :                 case LE_EXPR:
   12460            0 :                   {
   12461            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12462            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12463            0 :                     {
   12464            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12465            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, LE_EXPR);
   12466            0 :                       if (res) return res;
   12467              :                     }
   12468            0 :                     break;
   12469              :                   }
   12470            0 :                 case EQ_EXPR:
   12471            0 :                   {
   12472            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12473            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12474            0 :                     {
   12475            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12476            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12477            0 :                       if (res) return res;
   12478              :                     }
   12479            0 :                     break;
   12480              :                   }
   12481            0 :                 case NE_EXPR:
   12482            0 :                   {
   12483            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12484            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12485            0 :                     {
   12486            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12487            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, NE_EXPR);
   12488            0 :                       if (res) return res;
   12489              :                     }
   12490            0 :                     break;
   12491              :                   }
   12492            0 :                 case GE_EXPR:
   12493            0 :                   {
   12494            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12495            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12496            0 :                     {
   12497            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12498            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, GE_EXPR);
   12499            0 :                       if (res) return res;
   12500              :                     }
   12501            0 :                     break;
   12502              :                   }
   12503            0 :                 case GT_EXPR:
   12504            0 :                   {
   12505            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12506            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12507            0 :                     {
   12508            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12509            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, GT_EXPR);
   12510            0 :                       if (res) return res;
   12511              :                     }
   12512            0 :                     break;
   12513              :                   }
   12514            0 :                 case UNORDERED_EXPR:
   12515            0 :                   {
   12516            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12517            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12518            0 :                     {
   12519            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12520            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   12521            0 :                       if (res) return res;
   12522              :                     }
   12523            0 :                     break;
   12524              :                   }
   12525            0 :                 case ORDERED_EXPR:
   12526            0 :                   {
   12527            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12528            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12529            0 :                     {
   12530            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12531            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
   12532            0 :                       if (res) return res;
   12533              :                     }
   12534            0 :                     break;
   12535              :                   }
   12536            0 :                 case UNLT_EXPR:
   12537            0 :                   {
   12538            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12539            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12540            0 :                     {
   12541            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12542            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   12543            0 :                       if (res) return res;
   12544              :                     }
   12545            0 :                     break;
   12546              :                   }
   12547            0 :                 case UNLE_EXPR:
   12548            0 :                   {
   12549            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12550            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12551            0 :                     {
   12552            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12553            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, UNLE_EXPR);
   12554            0 :                       if (res) return res;
   12555              :                     }
   12556            0 :                     break;
   12557              :                   }
   12558            0 :                 case UNGT_EXPR:
   12559            0 :                   {
   12560            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12561            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12562            0 :                     {
   12563            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12564            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, UNGT_EXPR);
   12565            0 :                       if (res) return res;
   12566              :                     }
   12567            0 :                     break;
   12568              :                   }
   12569            0 :                 case UNGE_EXPR:
   12570            0 :                   {
   12571            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12572            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12573            0 :                     {
   12574            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12575            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   12576            0 :                       if (res) return res;
   12577              :                     }
   12578            0 :                     break;
   12579              :                   }
   12580            0 :                 case UNEQ_EXPR:
   12581            0 :                   {
   12582            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12583            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12584            0 :                     {
   12585            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12586            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   12587            0 :                       if (res) return res;
   12588              :                     }
   12589            0 :                     break;
   12590              :                   }
   12591            0 :                 case LTGT_EXPR:
   12592            0 :                   {
   12593            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
   12594            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
   12595            0 :                     {
   12596            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
   12597            0 :                       tree res = generic_simplify_460 (loc, type, _p0, _p1, captures, LTGT_EXPR);
   12598            0 :                       if (res) return res;
   12599              :                     }
   12600            0 :                     break;
   12601              :                   }
   12602              :                 default:;
   12603              :                 }
   12604              :               break;
   12605              :             }
   12606              :           default:;
   12607              :           }
   12608              :         break;
   12609              :       }
   12610      9130590 :     default:;
   12611              :     }
   12612      9130590 :   switch (TREE_CODE (_p0))
   12613              :     {
   12614      2685515 :     CASE_CONVERT:
   12615      2685515 :       {
   12616      2685515 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12617      2685515 :         switch (TREE_CODE (_p1))
   12618              :           {
   12619      1631595 :           case INTEGER_CST:
   12620      1631595 :             {
   12621      1631595 :               {
   12622      1631595 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12623      1631595 :                 tree res = generic_simplify_461 (loc, type, _p0, _p1, captures);
   12624      1631595 :                 if (res) return res;
   12625              :               }
   12626      1626679 :               break;
   12627              :             }
   12628              :           default:;
   12629              :           }
   12630              :         break;
   12631              :       }
   12632      9125674 :     default:;
   12633              :     }
   12634      9125674 :   switch (TREE_CODE (_p1))
   12635              :     {
   12636      7138964 :     case INTEGER_CST:
   12637      7138964 :       {
   12638      7138964 :         {
   12639      7138964 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12640      7138964 :           tree res = generic_simplify_461 (loc, type, _p0, _p1, captures);
   12641      7138964 :           if (res) return res;
   12642              :         }
   12643      7138964 :         break;
   12644              :       }
   12645      9125674 :     default:;
   12646              :     }
   12647      9125674 :   switch (TREE_CODE (_p0))
   12648              :     {
   12649          356 :     case GT_EXPR:
   12650          356 :       {
   12651          356 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12652          356 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12653          356 :         switch (TREE_CODE (_p1))
   12654              :           {
   12655           59 :           case EQ_EXPR:
   12656           59 :             {
   12657           59 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12658           59 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12659           59 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12660              :                 {
   12661            8 :                   if (tree_min_value (_q51))
   12662              :                     {
   12663            4 :                       {
   12664            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   12665            4 :                         tree res = generic_simplify_462 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12666            4 :                         if (res) return res;
   12667              :                       }
   12668              :                     }
   12669              :                 }
   12670           55 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12671              :                 {
   12672            0 :                   if (tree_max_value (_q51))
   12673              :                     {
   12674            0 :                       {
   12675            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   12676            0 :                         tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, EQ_EXPR);
   12677            0 :                         if (res) return res;
   12678              :                       }
   12679              :                     }
   12680              :                 }
   12681              :               break;
   12682              :             }
   12683            4 :           case NE_EXPR:
   12684            4 :             {
   12685            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12686            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12687            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12688              :                 {
   12689            4 :                   if (tree_min_value (_q51))
   12690              :                     {
   12691            4 :                       {
   12692            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   12693            4 :                         tree res = generic_simplify_462 (loc, type, _p0, _p1, captures, NE_EXPR);
   12694            4 :                         if (res) return res;
   12695              :                       }
   12696              :                     }
   12697              :                 }
   12698            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12699              :                 {
   12700            0 :                   if (tree_max_value (_q51))
   12701              :                     {
   12702            0 :                       {
   12703            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   12704            0 :                         tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, NE_EXPR);
   12705            0 :                         if (res) return res;
   12706              :                       }
   12707              :                     }
   12708              :                 }
   12709              :               break;
   12710              :             }
   12711          348 :           default:;
   12712              :           }
   12713          348 :         switch (TREE_CODE (_q20))
   12714              :           {
   12715            0 :           CASE_CONVERT:
   12716            0 :             {
   12717            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12718            0 :               switch (TREE_CODE (_p1))
   12719              :                 {
   12720            0 :                 case EQ_EXPR:
   12721            0 :                   {
   12722            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   12723            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   12724            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12725              :                       {
   12726            0 :                         {
   12727            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   12728            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   12729            0 :                           if (res) return res;
   12730              :                         }
   12731              :                       }
   12732            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   12733              :                       {
   12734            0 :                         {
   12735            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   12736            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   12737            0 :                           if (res) return res;
   12738              :                         }
   12739              :                       }
   12740              :                     break;
   12741              :                   }
   12742            0 :                 case NE_EXPR:
   12743            0 :                   {
   12744            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   12745            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   12746            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   12747              :                       {
   12748            0 :                         {
   12749            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   12750            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   12751            0 :                           if (res) return res;
   12752              :                         }
   12753              :                       }
   12754            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   12755              :                       {
   12756            0 :                         {
   12757            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   12758            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   12759            0 :                           if (res) return res;
   12760              :                         }
   12761              :                       }
   12762              :                     break;
   12763              :                   }
   12764              :                 default:;
   12765              :                 }
   12766              :               break;
   12767              :             }
   12768          348 :           default:;
   12769              :           }
   12770          348 :         switch (TREE_CODE (_q21))
   12771              :           {
   12772            0 :           CASE_CONVERT:
   12773            0 :             {
   12774            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   12775            0 :               switch (TREE_CODE (_p1))
   12776              :                 {
   12777            0 :                 case EQ_EXPR:
   12778            0 :                   {
   12779            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   12780            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   12781            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   12782              :                       {
   12783            0 :                         {
   12784            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   12785            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   12786            0 :                           if (res) return res;
   12787              :                         }
   12788              :                       }
   12789            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   12790              :                       {
   12791            0 :                         {
   12792            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   12793            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   12794            0 :                           if (res) return res;
   12795              :                         }
   12796              :                       }
   12797              :                     break;
   12798              :                   }
   12799            0 :                 case NE_EXPR:
   12800            0 :                   {
   12801            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   12802            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   12803            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   12804              :                       {
   12805            0 :                         {
   12806            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   12807            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   12808            0 :                           if (res) return res;
   12809              :                         }
   12810              :                       }
   12811            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   12812              :                       {
   12813            0 :                         {
   12814            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   12815            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   12816            0 :                           if (res) return res;
   12817              :                         }
   12818              :                       }
   12819              :                     break;
   12820              :                   }
   12821              :                 default:;
   12822              :                 }
   12823              :               break;
   12824              :             }
   12825          348 :           default:;
   12826              :           }
   12827          348 :         switch (TREE_CODE (_p1))
   12828              :           {
   12829           55 :           case EQ_EXPR:
   12830           55 :             {
   12831           55 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12832           55 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12833           55 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12834              :                 {
   12835            4 :                   {
   12836            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   12837            4 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   12838            4 :                     if (res) return res;
   12839              :                   }
   12840              :                 }
   12841           55 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12842              :                 {
   12843            0 :                   {
   12844            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   12845            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   12846            0 :                     if (res) return res;
   12847              :                   }
   12848              :                 }
   12849           55 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12850              :                 {
   12851            0 :                   {
   12852            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   12853            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   12854            0 :                     if (res) return res;
   12855              :                   }
   12856              :                 }
   12857           55 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12858              :                 {
   12859            0 :                   {
   12860            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   12861            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   12862            0 :                     if (res) return res;
   12863              :                   }
   12864              :                 }
   12865              :               break;
   12866              :             }
   12867            0 :           case NE_EXPR:
   12868            0 :             {
   12869            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12870            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12871            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12872              :                 {
   12873            0 :                   {
   12874            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   12875            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   12876            0 :                     if (res) return res;
   12877              :                   }
   12878              :                 }
   12879            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12880              :                 {
   12881            0 :                   {
   12882            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   12883            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   12884            0 :                     if (res) return res;
   12885              :                   }
   12886              :                 }
   12887            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12888              :                 {
   12889            0 :                   {
   12890            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   12891            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   12892            0 :                     if (res) return res;
   12893              :                   }
   12894              :                 }
   12895            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12896              :                 {
   12897            0 :                   {
   12898            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   12899            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   12900            0 :                     if (res) return res;
   12901              :                   }
   12902              :                 }
   12903              :               break;
   12904              :             }
   12905           67 :           case LT_EXPR:
   12906           67 :             {
   12907           67 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12908           67 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12909           67 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12910              :                 {
   12911            4 :                   {
   12912            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12913            4 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   12914            4 :                     if (res) return res;
   12915              :                   }
   12916              :                 }
   12917           67 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12918              :                 {
   12919            0 :                   {
   12920            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12921            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   12922            0 :                     if (res) return res;
   12923              :                   }
   12924              :                 }
   12925           67 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12926              :                 {
   12927            0 :                   {
   12928            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   12929            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   12930            0 :                     if (res) return res;
   12931              :                   }
   12932              :                 }
   12933           67 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12934              :                 {
   12935            4 :                   {
   12936            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   12937            4 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   12938            4 :                     if (res) return res;
   12939              :                   }
   12940              :                 }
   12941              :               break;
   12942              :             }
   12943           72 :           case LE_EXPR:
   12944           72 :             {
   12945           72 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12946           72 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12947           72 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12948              :                 {
   12949           23 :                   {
   12950           23 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12951           23 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   12952           23 :                     if (res) return res;
   12953              :                   }
   12954              :                 }
   12955           72 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12956              :                 {
   12957            0 :                   {
   12958            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12959            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   12960            0 :                     if (res) return res;
   12961              :                   }
   12962              :                 }
   12963           72 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12964              :                 {
   12965            0 :                   {
   12966            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   12967            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   12968            0 :                     if (res) return res;
   12969              :                   }
   12970              :                 }
   12971           72 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12972              :                 {
   12973            0 :                   {
   12974            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   12975            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   12976            0 :                     if (res) return res;
   12977              :                   }
   12978              :                 }
   12979              :               break;
   12980              :             }
   12981           85 :           case GT_EXPR:
   12982           85 :             {
   12983           85 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12984           85 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12985           85 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12986              :                 {
   12987            0 :                   {
   12988            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   12989            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   12990            0 :                     if (res) return res;
   12991              :                   }
   12992              :                 }
   12993           85 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12994              :                 {
   12995            0 :                   {
   12996            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   12997            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   12998            0 :                     if (res) return res;
   12999              :                   }
   13000              :                 }
   13001           85 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13002              :                 {
   13003            0 :                   {
   13004            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13005            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13006            0 :                     if (res) return res;
   13007              :                   }
   13008              :                 }
   13009           85 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13010              :                 {
   13011           35 :                   {
   13012           35 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13013           35 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13014           35 :                     if (res) return res;
   13015              :                   }
   13016              :                 }
   13017              :               break;
   13018              :             }
   13019            0 :           case GE_EXPR:
   13020            0 :             {
   13021            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13022            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13023            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13024              :                 {
   13025            0 :                   {
   13026            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13027            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13028            0 :                     if (res) return res;
   13029              :                   }
   13030              :                 }
   13031            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13032              :                 {
   13033            0 :                   {
   13034            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13035            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13036            0 :                     if (res) return res;
   13037              :                   }
   13038              :                 }
   13039            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13040              :                 {
   13041            0 :                   {
   13042            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13043            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13044            0 :                     if (res) return res;
   13045              :                   }
   13046              :                 }
   13047            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13048              :                 {
   13049            0 :                   {
   13050            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13051            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13052            0 :                     if (res) return res;
   13053              :                   }
   13054              :                 }
   13055              :               break;
   13056              :             }
   13057              :           default:;
   13058              :           }
   13059              :         break;
   13060              :       }
   13061           92 :     case LT_EXPR:
   13062           92 :       {
   13063           92 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13064           92 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13065           92 :         switch (TREE_CODE (_p1))
   13066              :           {
   13067           35 :           case EQ_EXPR:
   13068           35 :             {
   13069           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13070           35 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13071           35 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13072              :                 {
   13073            0 :                   if (tree_min_value (_q51))
   13074              :                     {
   13075            0 :                       {
   13076            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   13077            0 :                         tree res = generic_simplify_462 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13078            0 :                         if (res) return res;
   13079              :                       }
   13080              :                     }
   13081              :                 }
   13082           35 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13083              :                 {
   13084            4 :                   if (tree_max_value (_q51))
   13085              :                     {
   13086            4 :                       {
   13087            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   13088            4 :                         tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13089            4 :                         if (res) return res;
   13090              :                       }
   13091              :                     }
   13092              :                 }
   13093              :               break;
   13094              :             }
   13095            6 :           case NE_EXPR:
   13096            6 :             {
   13097            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13098            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13099            6 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13100              :                 {
   13101            0 :                   if (tree_min_value (_q51))
   13102              :                     {
   13103            0 :                       {
   13104            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   13105            0 :                         tree res = generic_simplify_462 (loc, type, _p0, _p1, captures, NE_EXPR);
   13106            0 :                         if (res) return res;
   13107              :                       }
   13108              :                     }
   13109              :                 }
   13110            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13111              :                 {
   13112            4 :                   if (tree_max_value (_q51))
   13113              :                     {
   13114            4 :                       {
   13115            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   13116            4 :                         tree res = generic_simplify_463 (loc, type, _p0, _p1, captures, NE_EXPR);
   13117            4 :                         if (res) return res;
   13118              :                       }
   13119              :                     }
   13120              :                 }
   13121              :               break;
   13122              :             }
   13123           84 :           default:;
   13124              :           }
   13125           84 :         switch (TREE_CODE (_q20))
   13126              :           {
   13127            8 :           CASE_CONVERT:
   13128            8 :             {
   13129            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13130            8 :               switch (TREE_CODE (_p1))
   13131              :                 {
   13132            0 :                 case EQ_EXPR:
   13133            0 :                   {
   13134            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13135            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13136            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13137              :                       {
   13138            0 :                         {
   13139            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13140            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13141            0 :                           if (res) return res;
   13142              :                         }
   13143              :                       }
   13144            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13145              :                       {
   13146            0 :                         {
   13147            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13148            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13149            0 :                           if (res) return res;
   13150              :                         }
   13151              :                       }
   13152              :                     break;
   13153              :                   }
   13154            0 :                 case NE_EXPR:
   13155            0 :                   {
   13156            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13157            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13158            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13159              :                       {
   13160            0 :                         {
   13161            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13162            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13163            0 :                           if (res) return res;
   13164              :                         }
   13165              :                       }
   13166            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13167              :                       {
   13168            0 :                         {
   13169            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13170            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13171            0 :                           if (res) return res;
   13172              :                         }
   13173              :                       }
   13174              :                     break;
   13175              :                   }
   13176              :                 default:;
   13177              :                 }
   13178              :               break;
   13179              :             }
   13180           84 :           default:;
   13181              :           }
   13182           84 :         switch (TREE_CODE (_q21))
   13183              :           {
   13184            5 :           CASE_CONVERT:
   13185            5 :             {
   13186            5 :               tree _q40 = TREE_OPERAND (_q21, 0);
   13187            5 :               switch (TREE_CODE (_p1))
   13188              :                 {
   13189            0 :                 case EQ_EXPR:
   13190            0 :                   {
   13191            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13192            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13193            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13194              :                       {
   13195            0 :                         {
   13196            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   13197            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13198            0 :                           if (res) return res;
   13199              :                         }
   13200              :                       }
   13201            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   13202              :                       {
   13203            0 :                         {
   13204            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   13205            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13206            0 :                           if (res) return res;
   13207              :                         }
   13208              :                       }
   13209              :                     break;
   13210              :                   }
   13211            0 :                 case NE_EXPR:
   13212            0 :                   {
   13213            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13214            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13215            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   13216              :                       {
   13217            0 :                         {
   13218            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   13219            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13220            0 :                           if (res) return res;
   13221              :                         }
   13222              :                       }
   13223            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   13224              :                       {
   13225            0 :                         {
   13226            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   13227            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13228            0 :                           if (res) return res;
   13229              :                         }
   13230              :                       }
   13231              :                     break;
   13232              :                   }
   13233              :                 default:;
   13234              :                 }
   13235              :               break;
   13236              :             }
   13237           84 :           default:;
   13238              :           }
   13239           84 :         switch (TREE_CODE (_p1))
   13240              :           {
   13241           31 :           case EQ_EXPR:
   13242           31 :             {
   13243           31 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13244           31 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13245           31 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13246              :                 {
   13247            0 :                   {
   13248            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   13249            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13250            0 :                     if (res) return res;
   13251              :                   }
   13252              :                 }
   13253           31 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13254              :                 {
   13255            0 :                   {
   13256            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   13257            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13258            0 :                     if (res) return res;
   13259              :                   }
   13260              :                 }
   13261           31 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13262              :                 {
   13263            0 :                   {
   13264            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   13265            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13266            0 :                     if (res) return res;
   13267              :                   }
   13268              :                 }
   13269           31 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13270              :                 {
   13271            0 :                   {
   13272            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   13273            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13274            0 :                     if (res) return res;
   13275              :                   }
   13276              :                 }
   13277              :               break;
   13278              :             }
   13279            2 :           case NE_EXPR:
   13280            2 :             {
   13281            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13282            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13283            2 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13284              :                 {
   13285            0 :                   {
   13286            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   13287            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13288            0 :                     if (res) return res;
   13289              :                   }
   13290              :                 }
   13291            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13292              :                 {
   13293            0 :                   {
   13294            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   13295            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13296            0 :                     if (res) return res;
   13297              :                   }
   13298              :                 }
   13299            2 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13300              :                 {
   13301            0 :                   {
   13302            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   13303            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   13304            0 :                     if (res) return res;
   13305              :                   }
   13306              :                 }
   13307            2 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13308              :                 {
   13309            2 :                   {
   13310            2 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   13311            2 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   13312            2 :                     if (res) return res;
   13313              :                   }
   13314              :                 }
   13315              :               break;
   13316              :             }
   13317            8 :           case LT_EXPR:
   13318            8 :             {
   13319            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13320            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13321            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13322              :                 {
   13323            0 :                   {
   13324            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13325            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13326            0 :                     if (res) return res;
   13327              :                   }
   13328              :                 }
   13329            8 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13330              :                 {
   13331            0 :                   {
   13332            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13333            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13334            0 :                     if (res) return res;
   13335              :                   }
   13336              :                 }
   13337            8 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13338              :                 {
   13339            0 :                   {
   13340            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13341            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   13342            0 :                     if (res) return res;
   13343              :                   }
   13344              :                 }
   13345            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13346              :                 {
   13347            0 :                   {
   13348            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13349            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   13350            0 :                     if (res) return res;
   13351              :                   }
   13352              :                 }
   13353              :               break;
   13354              :             }
   13355            0 :           case LE_EXPR:
   13356            0 :             {
   13357            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13358            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13359            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13360              :                 {
   13361            0 :                   {
   13362            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13363            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13364            0 :                     if (res) return res;
   13365              :                   }
   13366              :                 }
   13367            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13368              :                 {
   13369            0 :                   {
   13370            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13371            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13372            0 :                     if (res) return res;
   13373              :                   }
   13374              :                 }
   13375            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13376              :                 {
   13377            0 :                   {
   13378            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13379            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13380            0 :                     if (res) return res;
   13381              :                   }
   13382              :                 }
   13383            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13384              :                 {
   13385            0 :                   {
   13386            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13387            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13388            0 :                     if (res) return res;
   13389              :                   }
   13390              :                 }
   13391              :               break;
   13392              :             }
   13393            5 :           case GT_EXPR:
   13394            5 :             {
   13395            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13396            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13397            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13398              :                 {
   13399            4 :                   {
   13400            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13401            4 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   13402            4 :                     if (res) return res;
   13403              :                   }
   13404              :                 }
   13405            1 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13406              :                 {
   13407            0 :                   {
   13408            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13409            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
   13410            0 :                     if (res) return res;
   13411              :                   }
   13412              :                 }
   13413            1 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13414              :                 {
   13415            0 :                   {
   13416            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13417            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
   13418            0 :                     if (res) return res;
   13419              :                   }
   13420              :                 }
   13421            1 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13422              :                 {
   13423            0 :                   {
   13424            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13425            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
   13426            0 :                     if (res) return res;
   13427              :                   }
   13428              :                 }
   13429              :               break;
   13430              :             }
   13431            0 :           case GE_EXPR:
   13432            0 :             {
   13433            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13434            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13435            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13436              :                 {
   13437            0 :                   {
   13438            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   13439            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
   13440            0 :                     if (res) return res;
   13441              :                   }
   13442              :                 }
   13443            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13444              :                 {
   13445            0 :                   {
   13446            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   13447            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
   13448            0 :                     if (res) return res;
   13449              :                   }
   13450              :                 }
   13451            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   13452              :                 {
   13453            0 :                   {
   13454            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   13455            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
   13456            0 :                     if (res) return res;
   13457              :                   }
   13458              :                 }
   13459            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   13460              :                 {
   13461            0 :                   {
   13462            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   13463            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
   13464            0 :                     if (res) return res;
   13465              :                   }
   13466              :                 }
   13467              :               break;
   13468              :             }
   13469              :           default:;
   13470              :           }
   13471              :         break;
   13472              :       }
   13473         1072 :     case EQ_EXPR:
   13474         1072 :       {
   13475         1072 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13476         1072 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13477         1072 :         if (tree_min_value (_q21))
   13478              :           {
   13479           40 :             switch (TREE_CODE (_p1))
   13480              :               {
   13481            0 :               case GT_EXPR:
   13482            0 :                 {
   13483            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13484            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13485            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13486              :                     {
   13487            0 :                       {
   13488            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   13489            0 :                         tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13490            0 :                         if (res) return res;
   13491              :                       }
   13492              :                     }
   13493              :                   break;
   13494              :                 }
   13495           14 :               case LT_EXPR:
   13496           14 :                 {
   13497           14 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13498           14 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13499           14 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13500              :                     {
   13501            0 :                       {
   13502            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   13503            0 :                         tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13504            0 :                         if (res) return res;
   13505              :                       }
   13506              :                     }
   13507              :                   break;
   13508              :                 }
   13509            0 :               case LE_EXPR:
   13510            0 :                 {
   13511            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13512            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13513            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13514              :                     {
   13515            0 :                       {
   13516            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
   13517            0 :                         tree res = generic_simplify_468 (loc, type, _p0, _p1, captures);
   13518            0 :                         if (res) return res;
   13519              :                       }
   13520              :                     }
   13521              :                   break;
   13522              :                 }
   13523            0 :               case GE_EXPR:
   13524            0 :                 {
   13525            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13526            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13527            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13528              :                     {
   13529            0 :                       {
   13530            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
   13531            0 :                         tree res = generic_simplify_468 (loc, type, _p0, _p1, captures);
   13532            0 :                         if (res) return res;
   13533              :                       }
   13534              :                     }
   13535              :                   break;
   13536              :                 }
   13537              :               default:;
   13538              :               }
   13539              :           }
   13540         1072 :         if (tree_max_value (_q21))
   13541              :           {
   13542            0 :             switch (TREE_CODE (_p1))
   13543              :               {
   13544            0 :               case LT_EXPR:
   13545            0 :                 {
   13546            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13547            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13548            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13549              :                     {
   13550            0 :                       {
   13551            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   13552            0 :                         tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13553            0 :                         if (res) return res;
   13554              :                       }
   13555              :                     }
   13556              :                   break;
   13557              :                 }
   13558            0 :               case GT_EXPR:
   13559            0 :                 {
   13560            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13561            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13562            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13563              :                     {
   13564            0 :                       {
   13565            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   13566            0 :                         tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, EQ_EXPR);
   13567            0 :                         if (res) return res;
   13568              :                       }
   13569              :                     }
   13570              :                   break;
   13571              :                 }
   13572            0 :               case GE_EXPR:
   13573            0 :                 {
   13574            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13575            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13576            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13577              :                     {
   13578            0 :                       {
   13579            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
   13580            0 :                         tree res = generic_simplify_470 (loc, type, _p0, _p1, captures);
   13581            0 :                         if (res) return res;
   13582              :                       }
   13583              :                     }
   13584              :                   break;
   13585              :                 }
   13586            0 :               case LE_EXPR:
   13587            0 :                 {
   13588            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   13589            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   13590            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   13591              :                     {
   13592            0 :                       {
   13593            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
   13594            0 :                         tree res = generic_simplify_470 (loc, type, _p0, _p1, captures);
   13595            0 :                         if (res) return res;
   13596              :                       }
   13597              :                     }
   13598              :                   break;
   13599              :                 }
   13600              :               default:;
   13601              :               }
   13602              :           }
   13603         1072 :         switch (TREE_CODE (_p1))
   13604              :           {
   13605          537 :           case EQ_EXPR:
   13606          537 :             {
   13607          537 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13608          537 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13609          537 :               switch (TREE_CODE (_q50))
   13610              :                 {
   13611            0 :                 CASE_CONVERT:
   13612            0 :                   {
   13613            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13614            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13615              :                       {
   13616            0 :                         {
   13617            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   13618            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13619            0 :                           if (res) return res;
   13620              :                         }
   13621              :                       }
   13622            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   13623              :                       {
   13624            0 :                         {
   13625            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   13626            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13627            0 :                           if (res) return res;
   13628              :                         }
   13629              :                       }
   13630              :                     break;
   13631              :                   }
   13632          537 :                 default:;
   13633              :                 }
   13634          537 :               switch (TREE_CODE (_q51))
   13635              :                 {
   13636            0 :                 CASE_CONVERT:
   13637            0 :                   {
   13638            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   13639            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   13640              :                       {
   13641            0 :                         {
   13642            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   13643            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13644            0 :                           if (res) return res;
   13645              :                         }
   13646              :                       }
   13647            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   13648              :                       {
   13649            0 :                         {
   13650            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   13651            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13652            0 :                           if (res) return res;
   13653              :                         }
   13654              :                       }
   13655              :                     break;
   13656              :                   }
   13657              :                 default:;
   13658              :                 }
   13659              :               break;
   13660              :             }
   13661           33 :           case NE_EXPR:
   13662           33 :             {
   13663           33 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13664           33 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13665           33 :               switch (TREE_CODE (_q50))
   13666              :                 {
   13667            0 :                 CASE_CONVERT:
   13668            0 :                   {
   13669            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13670            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13671              :                       {
   13672            0 :                         {
   13673            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   13674            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   13675            0 :                           if (res) return res;
   13676              :                         }
   13677              :                       }
   13678            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   13679              :                       {
   13680            0 :                         {
   13681            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   13682            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   13683            0 :                           if (res) return res;
   13684              :                         }
   13685              :                       }
   13686              :                     break;
   13687              :                   }
   13688           33 :                 default:;
   13689              :                 }
   13690           33 :               switch (TREE_CODE (_q51))
   13691              :                 {
   13692            0 :                 CASE_CONVERT:
   13693            0 :                   {
   13694            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   13695            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   13696              :                       {
   13697            0 :                         {
   13698            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   13699            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   13700            0 :                           if (res) return res;
   13701              :                         }
   13702              :                       }
   13703            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   13704              :                       {
   13705            0 :                         {
   13706            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   13707            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   13708            0 :                           if (res) return res;
   13709              :                         }
   13710              :                       }
   13711              :                     break;
   13712              :                   }
   13713              :                 default:;
   13714              :                 }
   13715              :               break;
   13716              :             }
   13717           19 :           case LT_EXPR:
   13718           19 :             {
   13719           19 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13720           19 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13721           19 :               switch (TREE_CODE (_q50))
   13722              :                 {
   13723            0 :                 CASE_CONVERT:
   13724            0 :                   {
   13725            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13726            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13727              :                       {
   13728            0 :                         {
   13729            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   13730            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13731            0 :                           if (res) return res;
   13732              :                         }
   13733              :                       }
   13734            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   13735              :                       {
   13736            0 :                         {
   13737            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   13738            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13739            0 :                           if (res) return res;
   13740              :                         }
   13741              :                       }
   13742              :                     break;
   13743              :                   }
   13744           19 :                 default:;
   13745              :                 }
   13746           19 :               switch (TREE_CODE (_q51))
   13747              :                 {
   13748            0 :                 CASE_CONVERT:
   13749            0 :                   {
   13750            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   13751            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   13752              :                       {
   13753            0 :                         {
   13754            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   13755            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13756            0 :                           if (res) return res;
   13757              :                         }
   13758              :                       }
   13759            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   13760              :                       {
   13761            0 :                         {
   13762            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   13763            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13764            0 :                           if (res) return res;
   13765              :                         }
   13766              :                       }
   13767              :                     break;
   13768              :                   }
   13769              :                 default:;
   13770              :                 }
   13771              :               break;
   13772              :             }
   13773           12 :           case GT_EXPR:
   13774           12 :             {
   13775           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13776           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13777           12 :               switch (TREE_CODE (_q50))
   13778              :                 {
   13779            0 :                 CASE_CONVERT:
   13780            0 :                   {
   13781            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13782            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13783              :                       {
   13784            0 :                         {
   13785            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   13786            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13787            0 :                           if (res) return res;
   13788              :                         }
   13789              :                       }
   13790            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   13791              :                       {
   13792            0 :                         {
   13793            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   13794            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   13795            0 :                           if (res) return res;
   13796              :                         }
   13797              :                       }
   13798              :                     break;
   13799              :                   }
   13800           12 :                 default:;
   13801              :                 }
   13802           12 :               switch (TREE_CODE (_q51))
   13803              :                 {
   13804            0 :                 CASE_CONVERT:
   13805            0 :                   {
   13806            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   13807            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   13808              :                       {
   13809            0 :                         {
   13810            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   13811            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13812            0 :                           if (res) return res;
   13813              :                         }
   13814              :                       }
   13815            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   13816              :                       {
   13817            0 :                         {
   13818            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   13819            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   13820            0 :                           if (res) return res;
   13821              :                         }
   13822              :                       }
   13823              :                     break;
   13824              :                   }
   13825              :                 default:;
   13826              :                 }
   13827              :               break;
   13828              :             }
   13829           36 :           case LE_EXPR:
   13830           36 :             {
   13831           36 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13832           36 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13833           36 :               switch (TREE_CODE (_q50))
   13834              :                 {
   13835           12 :                 CASE_CONVERT:
   13836           12 :                   {
   13837           12 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13838           12 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13839              :                       {
   13840            0 :                         {
   13841            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   13842            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   13843            0 :                           if (res) return res;
   13844              :                         }
   13845              :                       }
   13846           12 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   13847              :                       {
   13848            0 :                         {
   13849            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   13850            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   13851            0 :                           if (res) return res;
   13852              :                         }
   13853              :                       }
   13854              :                     break;
   13855              :                   }
   13856           36 :                 default:;
   13857              :                 }
   13858           36 :               switch (TREE_CODE (_q51))
   13859              :                 {
   13860            0 :                 CASE_CONVERT:
   13861            0 :                   {
   13862            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   13863            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   13864              :                       {
   13865            0 :                         {
   13866            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   13867            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   13868            0 :                           if (res) return res;
   13869              :                         }
   13870              :                       }
   13871            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   13872              :                       {
   13873            0 :                         {
   13874            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   13875            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   13876            0 :                           if (res) return res;
   13877              :                         }
   13878              :                       }
   13879              :                     break;
   13880              :                   }
   13881              :                 default:;
   13882              :                 }
   13883              :               break;
   13884              :             }
   13885            4 :           case GE_EXPR:
   13886            4 :             {
   13887            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   13888            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   13889            4 :               switch (TREE_CODE (_q50))
   13890              :                 {
   13891            0 :                 CASE_CONVERT:
   13892            0 :                   {
   13893            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   13894            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13895              :                       {
   13896            0 :                         {
   13897            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   13898            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   13899            0 :                           if (res) return res;
   13900              :                         }
   13901              :                       }
   13902            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   13903              :                       {
   13904            0 :                         {
   13905            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   13906            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   13907            0 :                           if (res) return res;
   13908              :                         }
   13909              :                       }
   13910              :                     break;
   13911              :                   }
   13912            4 :                 default:;
   13913              :                 }
   13914            4 :               switch (TREE_CODE (_q51))
   13915              :                 {
   13916            0 :                 CASE_CONVERT:
   13917            0 :                   {
   13918            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   13919            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   13920              :                       {
   13921            0 :                         {
   13922            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   13923            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   13924            0 :                           if (res) return res;
   13925              :                         }
   13926              :                       }
   13927            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   13928              :                       {
   13929            0 :                         {
   13930            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   13931            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   13932            0 :                           if (res) return res;
   13933              :                         }
   13934              :                       }
   13935              :                     break;
   13936              :                   }
   13937              :                 default:;
   13938              :                 }
   13939              :               break;
   13940              :             }
   13941         1072 :           default:;
   13942              :           }
   13943         1072 :         switch (TREE_CODE (_q20))
   13944              :           {
   13945            0 :           CASE_CONVERT:
   13946            0 :             {
   13947            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13948            0 :               switch (TREE_CODE (_p1))
   13949              :                 {
   13950            0 :                 case EQ_EXPR:
   13951            0 :                   {
   13952            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13953            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13954            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13955              :                       {
   13956            0 :                         {
   13957            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13958            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13959            0 :                           if (res) return res;
   13960              :                         }
   13961              :                       }
   13962            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13963              :                       {
   13964            0 :                         {
   13965            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13966            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   13967            0 :                           if (res) return res;
   13968              :                         }
   13969              :                       }
   13970              :                     break;
   13971              :                   }
   13972            0 :                 case NE_EXPR:
   13973            0 :                   {
   13974            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   13975            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   13976            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   13977              :                       {
   13978            0 :                         {
   13979            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   13980            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   13981            0 :                           if (res) return res;
   13982              :                         }
   13983              :                       }
   13984            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   13985              :                       {
   13986            0 :                         {
   13987            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   13988            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   13989            0 :                           if (res) return res;
   13990              :                         }
   13991              :                       }
   13992              :                     break;
   13993              :                   }
   13994              :                 default:;
   13995              :                 }
   13996              :               break;
   13997              :             }
   13998         1072 :           default:;
   13999              :           }
   14000         1072 :         switch (TREE_CODE (_q21))
   14001              :           {
   14002            0 :           CASE_CONVERT:
   14003            0 :             {
   14004            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   14005            0 :               switch (TREE_CODE (_p1))
   14006              :                 {
   14007            0 :                 case EQ_EXPR:
   14008            0 :                   {
   14009            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14010            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14011            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14012              :                       {
   14013            0 :                         {
   14014            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   14015            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14016            0 :                           if (res) return res;
   14017              :                         }
   14018              :                       }
   14019            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   14020              :                       {
   14021            0 :                         {
   14022            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   14023            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14024            0 :                           if (res) return res;
   14025              :                         }
   14026              :                       }
   14027              :                     break;
   14028              :                   }
   14029            0 :                 case NE_EXPR:
   14030            0 :                   {
   14031            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14032            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14033            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14034              :                       {
   14035            0 :                         {
   14036            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   14037            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14038            0 :                           if (res) return res;
   14039              :                         }
   14040              :                       }
   14041            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   14042              :                       {
   14043            0 :                         {
   14044            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   14045            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14046            0 :                           if (res) return res;
   14047              :                         }
   14048              :                       }
   14049              :                     break;
   14050              :                   }
   14051              :                 default:;
   14052              :                 }
   14053              :               break;
   14054              :             }
   14055         1072 :           default:;
   14056              :           }
   14057         1072 :         switch (TREE_CODE (_p1))
   14058              :           {
   14059          537 :           case EQ_EXPR:
   14060          537 :             {
   14061          537 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14062          537 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14063          537 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14064              :                 {
   14065            0 :                   {
   14066            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14067            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14068            0 :                     if (res) return res;
   14069              :                   }
   14070            0 :                   {
   14071            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   14072            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14073            0 :                     if (res) return res;
   14074              :                   }
   14075              :                 }
   14076          537 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14077              :                 {
   14078            0 :                   {
   14079            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14080            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14081            0 :                     if (res) return res;
   14082              :                   }
   14083              :                 }
   14084          537 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14085              :                 {
   14086            0 :                   {
   14087            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14088            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14089            0 :                     if (res) return res;
   14090              :                   }
   14091            0 :                   {
   14092            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   14093            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14094            0 :                     if (res) return res;
   14095              :                   }
   14096              :                 }
   14097          537 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14098              :                 {
   14099          178 :                   {
   14100          178 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14101          178 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14102          178 :                     if (res) return res;
   14103              :                   }
   14104          178 :                   {
   14105          178 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   14106          178 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14107          178 :                     if (res) return res;
   14108              :                   }
   14109              :                 }
   14110          537 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14111              :                 {
   14112            0 :                   {
   14113            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   14114            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   14115            0 :                     if (res) return res;
   14116              :                   }
   14117              :                 }
   14118              :               break;
   14119              :             }
   14120           33 :           case NE_EXPR:
   14121           33 :             {
   14122           33 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14123           33 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14124           33 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14125              :                 {
   14126            0 :                   {
   14127            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14128            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14129            0 :                     if (res) return res;
   14130              :                   }
   14131            0 :                   {
   14132            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   14133            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14134            0 :                     if (res) return res;
   14135              :                   }
   14136              :                 }
   14137           33 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14138              :                 {
   14139            0 :                   {
   14140            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14141            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14142            0 :                     if (res) return res;
   14143              :                   }
   14144              :                 }
   14145           33 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14146              :                 {
   14147            0 :                   {
   14148            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14149            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14150            0 :                     if (res) return res;
   14151              :                   }
   14152            0 :                   {
   14153            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   14154            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14155            0 :                     if (res) return res;
   14156              :                   }
   14157              :                 }
   14158           33 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14159              :                 {
   14160           11 :                   {
   14161           11 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14162           11 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14163           11 :                     if (res) return res;
   14164              :                   }
   14165           11 :                   {
   14166           11 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   14167           11 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14168           11 :                     if (res) return res;
   14169              :                   }
   14170              :                 }
   14171           33 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14172              :                 {
   14173            0 :                   {
   14174            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   14175            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14176            0 :                     if (res) return res;
   14177              :                   }
   14178              :                 }
   14179              :               break;
   14180              :             }
   14181           19 :           case LT_EXPR:
   14182           19 :             {
   14183           19 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14184           19 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14185           19 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14186              :                 {
   14187            0 :                   {
   14188            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14189            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14190            0 :                     if (res) return res;
   14191              :                   }
   14192              :                 }
   14193           19 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14194              :                 {
   14195            0 :                   {
   14196            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14197            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14198            0 :                     if (res) return res;
   14199              :                   }
   14200              :                 }
   14201           19 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14202              :                 {
   14203            0 :                   {
   14204            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14205            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14206            0 :                     if (res) return res;
   14207              :                   }
   14208              :                 }
   14209           19 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14210              :                 {
   14211            0 :                   {
   14212            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14213            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14214            0 :                     if (res) return res;
   14215              :                   }
   14216              :                 }
   14217              :               break;
   14218              :             }
   14219           12 :           case GT_EXPR:
   14220           12 :             {
   14221           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14222           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14223           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14224              :                 {
   14225            0 :                   {
   14226            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14227            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14228            0 :                     if (res) return res;
   14229              :                   }
   14230              :                 }
   14231           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14232              :                 {
   14233            0 :                   {
   14234            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14235            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14236            0 :                     if (res) return res;
   14237              :                   }
   14238              :                 }
   14239           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14240              :                 {
   14241            0 :                   {
   14242            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14243            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   14244            0 :                     if (res) return res;
   14245              :                   }
   14246              :                 }
   14247           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14248              :                 {
   14249            0 :                   {
   14250            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14251            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
   14252            0 :                     if (res) return res;
   14253              :                   }
   14254              :                 }
   14255              :               break;
   14256              :             }
   14257           36 :           case LE_EXPR:
   14258           36 :             {
   14259           36 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14260           36 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14261           36 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14262              :                 {
   14263            0 :                   {
   14264            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14265            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14266            0 :                     if (res) return res;
   14267              :                   }
   14268              :                 }
   14269           36 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14270              :                 {
   14271            0 :                   {
   14272            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14273            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14274            0 :                     if (res) return res;
   14275              :                   }
   14276              :                 }
   14277           36 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14278              :                 {
   14279            0 :                   {
   14280            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14281            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14282            0 :                     if (res) return res;
   14283              :                   }
   14284              :                 }
   14285           36 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14286              :                 {
   14287            0 :                   {
   14288            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14289            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14290            0 :                     if (res) return res;
   14291              :                   }
   14292              :                 }
   14293              :               break;
   14294              :             }
   14295            4 :           case GE_EXPR:
   14296            4 :             {
   14297            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14298            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14299            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14300              :                 {
   14301            0 :                   {
   14302            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14303            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14304            0 :                     if (res) return res;
   14305              :                   }
   14306              :                 }
   14307            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14308              :                 {
   14309            0 :                   {
   14310            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14311            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14312            0 :                     if (res) return res;
   14313              :                   }
   14314              :                 }
   14315            4 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14316              :                 {
   14317            0 :                   {
   14318            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14319            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   14320            0 :                     if (res) return res;
   14321              :                   }
   14322              :                 }
   14323            4 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14324              :                 {
   14325            0 :                   {
   14326            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14327            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   14328            0 :                     if (res) return res;
   14329              :                   }
   14330              :                 }
   14331              :               break;
   14332              :             }
   14333              :           default:;
   14334              :           }
   14335              :         break;
   14336              :       }
   14337          132 :     case NE_EXPR:
   14338          132 :       {
   14339          132 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14340          132 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14341          132 :         if (tree_min_value (_q21))
   14342              :           {
   14343           16 :             switch (TREE_CODE (_p1))
   14344              :               {
   14345            0 :               case GT_EXPR:
   14346            0 :                 {
   14347            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14348            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14349            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14350              :                     {
   14351            0 :                       {
   14352            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   14353            0 :                         tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, NE_EXPR);
   14354            0 :                         if (res) return res;
   14355              :                       }
   14356              :                     }
   14357              :                   break;
   14358              :                 }
   14359            0 :               case LT_EXPR:
   14360            0 :                 {
   14361            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14362            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14363            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14364              :                     {
   14365            0 :                       {
   14366            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   14367            0 :                         tree res = generic_simplify_467 (loc, type, _p0, _p1, captures, NE_EXPR);
   14368            0 :                         if (res) return res;
   14369              :                       }
   14370              :                     }
   14371              :                   break;
   14372              :                 }
   14373            3 :               case GE_EXPR:
   14374            3 :                 {
   14375            3 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14376            3 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14377            3 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14378              :                     {
   14379            3 :                       {
   14380            3 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
   14381            3 :                         tree res = generic_simplify_473 (loc, type, _p0, _p1, captures);
   14382            3 :                         if (res) return res;
   14383              :                       }
   14384              :                     }
   14385              :                   break;
   14386              :                 }
   14387            0 :               case LE_EXPR:
   14388            0 :                 {
   14389            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14390            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14391            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14392              :                     {
   14393            0 :                       {
   14394            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
   14395            0 :                         tree res = generic_simplify_473 (loc, type, _p0, _p1, captures);
   14396            0 :                         if (res) return res;
   14397              :                       }
   14398              :                     }
   14399              :                   break;
   14400              :                 }
   14401              :               default:;
   14402              :               }
   14403              :           }
   14404          129 :         if (tree_max_value (_q21))
   14405              :           {
   14406            0 :             switch (TREE_CODE (_p1))
   14407              :               {
   14408            0 :               case LT_EXPR:
   14409            0 :                 {
   14410            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14411            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14412            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14413              :                     {
   14414            0 :                       {
   14415            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
   14416            0 :                         tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, NE_EXPR);
   14417            0 :                         if (res) return res;
   14418              :                       }
   14419              :                     }
   14420              :                   break;
   14421              :                 }
   14422            0 :               case GT_EXPR:
   14423            0 :                 {
   14424            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   14425            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   14426            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14427              :                     {
   14428            0 :                       {
   14429            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
   14430            0 :                         tree res = generic_simplify_469 (loc, type, _p0, _p1, captures, NE_EXPR);
   14431            0 :                         if (res) return res;
   14432              :                       }
   14433              :                     }
   14434              :                   break;
   14435              :                 }
   14436              :               default:;
   14437              :               }
   14438              :           }
   14439          129 :         switch (TREE_CODE (_p1))
   14440              :           {
   14441           13 :           case EQ_EXPR:
   14442           13 :             {
   14443           13 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14444           13 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14445           13 :               switch (TREE_CODE (_q50))
   14446              :                 {
   14447            0 :                 CASE_CONVERT:
   14448            0 :                   {
   14449            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14450            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14451              :                       {
   14452            0 :                         {
   14453            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14454            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14455            0 :                           if (res) return res;
   14456              :                         }
   14457              :                       }
   14458            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14459              :                       {
   14460            0 :                         {
   14461            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14462            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14463            0 :                           if (res) return res;
   14464              :                         }
   14465              :                       }
   14466              :                     break;
   14467              :                   }
   14468           13 :                 default:;
   14469              :                 }
   14470           13 :               switch (TREE_CODE (_q51))
   14471              :                 {
   14472            0 :                 CASE_CONVERT:
   14473            0 :                   {
   14474            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14475            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14476              :                       {
   14477            0 :                         {
   14478            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14479            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14480            0 :                           if (res) return res;
   14481              :                         }
   14482              :                       }
   14483            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14484              :                       {
   14485            0 :                         {
   14486            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14487            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14488            0 :                           if (res) return res;
   14489              :                         }
   14490              :                       }
   14491              :                     break;
   14492              :                   }
   14493              :                 default:;
   14494              :                 }
   14495              :               break;
   14496              :             }
   14497            3 :           case NE_EXPR:
   14498            3 :             {
   14499            3 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14500            3 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14501            3 :               switch (TREE_CODE (_q50))
   14502              :                 {
   14503            0 :                 CASE_CONVERT:
   14504            0 :                   {
   14505            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14506            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14507              :                       {
   14508            0 :                         {
   14509            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14510            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14511            0 :                           if (res) return res;
   14512              :                         }
   14513              :                       }
   14514            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14515              :                       {
   14516            0 :                         {
   14517            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14518            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14519            0 :                           if (res) return res;
   14520              :                         }
   14521              :                       }
   14522              :                     break;
   14523              :                   }
   14524            3 :                 default:;
   14525              :                 }
   14526            3 :               switch (TREE_CODE (_q51))
   14527              :                 {
   14528            0 :                 CASE_CONVERT:
   14529            0 :                   {
   14530            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14531            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14532              :                       {
   14533            0 :                         {
   14534            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14535            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14536            0 :                           if (res) return res;
   14537              :                         }
   14538              :                       }
   14539            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14540              :                       {
   14541            0 :                         {
   14542            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14543            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14544            0 :                           if (res) return res;
   14545              :                         }
   14546              :                       }
   14547              :                     break;
   14548              :                   }
   14549              :                 default:;
   14550              :                 }
   14551              :               break;
   14552              :             }
   14553            0 :           case LT_EXPR:
   14554            0 :             {
   14555            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14556            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14557            0 :               switch (TREE_CODE (_q50))
   14558              :                 {
   14559            0 :                 CASE_CONVERT:
   14560            0 :                   {
   14561            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14562            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14563              :                       {
   14564            0 :                         {
   14565            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14566            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14567            0 :                           if (res) return res;
   14568              :                         }
   14569              :                       }
   14570            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14571              :                       {
   14572            0 :                         {
   14573            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14574            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14575            0 :                           if (res) return res;
   14576              :                         }
   14577              :                       }
   14578              :                     break;
   14579              :                   }
   14580            0 :                 default:;
   14581              :                 }
   14582            0 :               switch (TREE_CODE (_q51))
   14583              :                 {
   14584            0 :                 CASE_CONVERT:
   14585            0 :                   {
   14586            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14587            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14588              :                       {
   14589            0 :                         {
   14590            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14591            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14592            0 :                           if (res) return res;
   14593              :                         }
   14594              :                       }
   14595            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14596              :                       {
   14597            0 :                         {
   14598            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14599            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14600            0 :                           if (res) return res;
   14601              :                         }
   14602              :                       }
   14603              :                     break;
   14604              :                   }
   14605              :                 default:;
   14606              :                 }
   14607              :               break;
   14608              :             }
   14609            4 :           case GT_EXPR:
   14610            4 :             {
   14611            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14612            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14613            4 :               switch (TREE_CODE (_q50))
   14614              :                 {
   14615            0 :                 CASE_CONVERT:
   14616            0 :                   {
   14617            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14618            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14619              :                       {
   14620            0 :                         {
   14621            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14622            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14623            0 :                           if (res) return res;
   14624              :                         }
   14625              :                       }
   14626            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14627              :                       {
   14628            0 :                         {
   14629            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14630            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   14631            0 :                           if (res) return res;
   14632              :                         }
   14633              :                       }
   14634              :                     break;
   14635              :                   }
   14636            4 :                 default:;
   14637              :                 }
   14638            4 :               switch (TREE_CODE (_q51))
   14639              :                 {
   14640            0 :                 CASE_CONVERT:
   14641            0 :                   {
   14642            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14643            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14644              :                       {
   14645            0 :                         {
   14646            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14647            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14648            0 :                           if (res) return res;
   14649              :                         }
   14650              :                       }
   14651            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14652              :                       {
   14653            0 :                         {
   14654            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14655            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   14656            0 :                           if (res) return res;
   14657              :                         }
   14658              :                       }
   14659              :                     break;
   14660              :                   }
   14661              :                 default:;
   14662              :                 }
   14663              :               break;
   14664              :             }
   14665            0 :           case LE_EXPR:
   14666            0 :             {
   14667            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14668            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14669            0 :               switch (TREE_CODE (_q50))
   14670              :                 {
   14671            0 :                 CASE_CONVERT:
   14672            0 :                   {
   14673            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14674            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14675              :                       {
   14676            0 :                         {
   14677            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14678            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   14679            0 :                           if (res) return res;
   14680              :                         }
   14681              :                       }
   14682            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14683              :                       {
   14684            0 :                         {
   14685            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14686            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   14687            0 :                           if (res) return res;
   14688              :                         }
   14689              :                       }
   14690              :                     break;
   14691              :                   }
   14692            0 :                 default:;
   14693              :                 }
   14694            0 :               switch (TREE_CODE (_q51))
   14695              :                 {
   14696            0 :                 CASE_CONVERT:
   14697            0 :                   {
   14698            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14699            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14700              :                       {
   14701            0 :                         {
   14702            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14703            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   14704            0 :                           if (res) return res;
   14705              :                         }
   14706              :                       }
   14707            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14708              :                       {
   14709            0 :                         {
   14710            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14711            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   14712            0 :                           if (res) return res;
   14713              :                         }
   14714              :                       }
   14715              :                     break;
   14716              :                   }
   14717              :                 default:;
   14718              :                 }
   14719              :               break;
   14720              :             }
   14721           14 :           case GE_EXPR:
   14722           14 :             {
   14723           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14724           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14725           14 :               switch (TREE_CODE (_q50))
   14726              :                 {
   14727            0 :                 CASE_CONVERT:
   14728            0 :                   {
   14729            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
   14730            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   14731              :                       {
   14732            0 :                         {
   14733            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14734            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   14735            0 :                           if (res) return res;
   14736              :                         }
   14737              :                       }
   14738            0 :                     if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
   14739              :                       {
   14740            0 :                         {
   14741            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14742            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   14743            0 :                           if (res) return res;
   14744              :                         }
   14745              :                       }
   14746              :                     break;
   14747              :                   }
   14748           14 :                 default:;
   14749              :                 }
   14750           14 :               switch (TREE_CODE (_q51))
   14751              :                 {
   14752            0 :                 CASE_CONVERT:
   14753            0 :                   {
   14754            0 :                     tree _q70 = TREE_OPERAND (_q51, 0);
   14755            0 :                     if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
   14756              :                       {
   14757            0 :                         {
   14758            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14759            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   14760            0 :                           if (res) return res;
   14761              :                         }
   14762              :                       }
   14763            0 :                     if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
   14764              :                       {
   14765            0 :                         {
   14766            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14767            0 :                           tree res = generic_simplify_471 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   14768            0 :                           if (res) return res;
   14769              :                         }
   14770              :                       }
   14771              :                     break;
   14772              :                   }
   14773              :                 default:;
   14774              :                 }
   14775              :               break;
   14776              :             }
   14777          129 :           default:;
   14778              :           }
   14779          129 :         switch (TREE_CODE (_q20))
   14780              :           {
   14781            0 :           CASE_CONVERT:
   14782            0 :             {
   14783            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14784            0 :               switch (TREE_CODE (_p1))
   14785              :                 {
   14786            0 :                 case EQ_EXPR:
   14787            0 :                   {
   14788            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14789            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14790            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14791              :                       {
   14792            0 :                         {
   14793            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   14794            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14795            0 :                           if (res) return res;
   14796              :                         }
   14797              :                       }
   14798            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   14799              :                       {
   14800            0 :                         {
   14801            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   14802            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14803            0 :                           if (res) return res;
   14804              :                         }
   14805              :                       }
   14806              :                     break;
   14807              :                   }
   14808            0 :                 case NE_EXPR:
   14809            0 :                   {
   14810            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14811            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14812            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   14813              :                       {
   14814            0 :                         {
   14815            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   14816            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14817            0 :                           if (res) return res;
   14818              :                         }
   14819              :                       }
   14820            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   14821              :                       {
   14822            0 :                         {
   14823            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   14824            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14825            0 :                           if (res) return res;
   14826              :                         }
   14827              :                       }
   14828              :                     break;
   14829              :                   }
   14830              :                 default:;
   14831              :                 }
   14832              :               break;
   14833              :             }
   14834          129 :           default:;
   14835              :           }
   14836          129 :         switch (TREE_CODE (_q21))
   14837              :           {
   14838            0 :           CASE_CONVERT:
   14839            0 :             {
   14840            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   14841            0 :               switch (TREE_CODE (_p1))
   14842              :                 {
   14843            0 :                 case EQ_EXPR:
   14844            0 :                   {
   14845            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14846            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14847            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14848              :                       {
   14849            0 :                         {
   14850            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   14851            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14852            0 :                           if (res) return res;
   14853              :                         }
   14854              :                       }
   14855            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   14856              :                       {
   14857            0 :                         {
   14858            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   14859            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14860            0 :                           if (res) return res;
   14861              :                         }
   14862              :                       }
   14863              :                     break;
   14864              :                   }
   14865            0 :                 case NE_EXPR:
   14866            0 :                   {
   14867            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   14868            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   14869            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   14870              :                       {
   14871            0 :                         {
   14872            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   14873            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14874            0 :                           if (res) return res;
   14875              :                         }
   14876              :                       }
   14877            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   14878              :                       {
   14879            0 :                         {
   14880            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   14881            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14882            0 :                           if (res) return res;
   14883              :                         }
   14884              :                       }
   14885              :                     break;
   14886              :                   }
   14887              :                 default:;
   14888              :                 }
   14889              :               break;
   14890              :             }
   14891          129 :           default:;
   14892              :           }
   14893          129 :         switch (TREE_CODE (_p1))
   14894              :           {
   14895           13 :           case EQ_EXPR:
   14896           13 :             {
   14897           13 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14898           13 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14899           13 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14900              :                 {
   14901            0 :                   {
   14902            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14903            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14904            0 :                     if (res) return res;
   14905              :                   }
   14906            0 :                   {
   14907            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   14908            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14909            0 :                     if (res) return res;
   14910              :                   }
   14911              :                 }
   14912           13 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14913              :                 {
   14914            0 :                   {
   14915            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14916            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14917            0 :                     if (res) return res;
   14918              :                   }
   14919              :                 }
   14920           13 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14921              :                 {
   14922            0 :                   {
   14923            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14924            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14925            0 :                     if (res) return res;
   14926              :                   }
   14927            0 :                   {
   14928            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   14929            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14930            0 :                     if (res) return res;
   14931              :                   }
   14932              :                 }
   14933           13 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14934              :                 {
   14935            4 :                   {
   14936            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14937            4 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   14938            4 :                     if (res) return res;
   14939              :                   }
   14940            4 :                   {
   14941            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   14942            4 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14943            4 :                     if (res) return res;
   14944              :                   }
   14945              :                 }
   14946           13 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14947              :                 {
   14948            0 :                   {
   14949            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   14950            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   14951            0 :                     if (res) return res;
   14952              :                   }
   14953              :                 }
   14954              :               break;
   14955              :             }
   14956            3 :           case NE_EXPR:
   14957            3 :             {
   14958            3 :               tree _q50 = TREE_OPERAND (_p1, 0);
   14959            3 :               tree _q51 = TREE_OPERAND (_p1, 1);
   14960            3 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   14961              :                 {
   14962            2 :                   {
   14963            2 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   14964            2 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14965            2 :                     if (res) return res;
   14966              :                   }
   14967            2 :                   {
   14968            2 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   14969            2 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14970            2 :                     if (res) return res;
   14971              :                   }
   14972              :                 }
   14973            3 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   14974              :                 {
   14975            0 :                   {
   14976            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   14977            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14978            0 :                     if (res) return res;
   14979              :                   }
   14980              :                 }
   14981            3 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   14982              :                 {
   14983            0 :                   {
   14984            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   14985            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14986            0 :                     if (res) return res;
   14987              :                   }
   14988            0 :                   {
   14989            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   14990            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14991            0 :                     if (res) return res;
   14992              :                   }
   14993              :                 }
   14994            3 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   14995              :                 {
   14996            0 :                   {
   14997            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   14998            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   14999            0 :                     if (res) return res;
   15000              :                   }
   15001            0 :                   {
   15002            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15003            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15004            0 :                     if (res) return res;
   15005              :                   }
   15006              :                 }
   15007            3 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15008              :                 {
   15009            0 :                   {
   15010            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15011            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   15012            0 :                     if (res) return res;
   15013              :                   }
   15014              :                 }
   15015              :               break;
   15016              :             }
   15017            0 :           case LT_EXPR:
   15018            0 :             {
   15019            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15020            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15021            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15022              :                 {
   15023            0 :                   {
   15024            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15025            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15026            0 :                     if (res) return res;
   15027              :                   }
   15028              :                 }
   15029            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15030              :                 {
   15031            0 :                   {
   15032            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15033            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15034            0 :                     if (res) return res;
   15035              :                   }
   15036              :                 }
   15037            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15038              :                 {
   15039            0 :                   {
   15040            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15041            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15042            0 :                     if (res) return res;
   15043              :                   }
   15044              :                 }
   15045            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15046              :                 {
   15047            0 :                   {
   15048            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15049            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15050            0 :                     if (res) return res;
   15051              :                   }
   15052              :                 }
   15053              :               break;
   15054              :             }
   15055            4 :           case GT_EXPR:
   15056            4 :             {
   15057            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15058            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15059            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15060              :                 {
   15061            4 :                   {
   15062            4 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15063            4 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15064            4 :                     if (res) return res;
   15065              :                   }
   15066              :                 }
   15067            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15068              :                 {
   15069            0 :                   {
   15070            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15071            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15072            0 :                     if (res) return res;
   15073              :                   }
   15074              :                 }
   15075            4 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15076              :                 {
   15077            0 :                   {
   15078            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15079            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   15080            0 :                     if (res) return res;
   15081              :                   }
   15082              :                 }
   15083            4 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15084              :                 {
   15085            0 :                   {
   15086            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15087            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   15088            0 :                     if (res) return res;
   15089              :                   }
   15090              :                 }
   15091              :               break;
   15092              :             }
   15093            0 :           case LE_EXPR:
   15094            0 :             {
   15095            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15096            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15097            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15098              :                 {
   15099            0 :                   {
   15100            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15101            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15102            0 :                     if (res) return res;
   15103              :                   }
   15104              :                 }
   15105            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15106              :                 {
   15107            0 :                   {
   15108            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15109            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15110            0 :                     if (res) return res;
   15111              :                   }
   15112              :                 }
   15113            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15114              :                 {
   15115            0 :                   {
   15116            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15117            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15118            0 :                     if (res) return res;
   15119              :                   }
   15120              :                 }
   15121            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15122              :                 {
   15123            0 :                   {
   15124            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15125            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15126            0 :                     if (res) return res;
   15127              :                   }
   15128              :                 }
   15129              :               break;
   15130              :             }
   15131           14 :           case GE_EXPR:
   15132           14 :             {
   15133           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15134           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15135           14 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15136              :                 {
   15137            0 :                   {
   15138            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
   15139            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15140            0 :                     if (res) return res;
   15141              :                   }
   15142              :                 }
   15143           14 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15144              :                 {
   15145            0 :                   {
   15146            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
   15147            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15148            0 :                     if (res) return res;
   15149              :                   }
   15150              :                 }
   15151           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15152              :                 {
   15153            0 :                   {
   15154            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
   15155            0 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15156            0 :                     if (res) return res;
   15157              :                   }
   15158              :                 }
   15159           14 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15160              :                 {
   15161           14 :                   {
   15162           14 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
   15163           14 :                     tree res = generic_simplify_472 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15164           14 :                     if (res) return res;
   15165              :                   }
   15166              :                 }
   15167              :               break;
   15168              :             }
   15169              :           default:;
   15170              :           }
   15171              :         break;
   15172              :       }
   15173           36 :     case LE_EXPR:
   15174           36 :       {
   15175           36 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15176           36 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15177           36 :         switch (TREE_CODE (_p1))
   15178              :           {
   15179           16 :           case EQ_EXPR:
   15180           16 :             {
   15181           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15182           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15183           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15184              :                 {
   15185            4 :                   if (tree_min_value (_q51))
   15186              :                     {
   15187            4 :                       {
   15188            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15189            4 :                         tree res = generic_simplify_474 (loc, type, _p0, _p1, captures);
   15190            4 :                         if (res) return res;
   15191              :                       }
   15192              :                     }
   15193              :                 }
   15194           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15195              :                 {
   15196            0 :                   if (tree_max_value (_q51))
   15197              :                     {
   15198            0 :                       {
   15199            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15200            0 :                         tree res = generic_simplify_475 (loc, type, _p0, _p1, captures);
   15201            0 :                         if (res) return res;
   15202              :                       }
   15203              :                     }
   15204              :                 }
   15205              :               break;
   15206              :             }
   15207            0 :           case NE_EXPR:
   15208            0 :             {
   15209            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15210            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15211            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15212              :                 {
   15213            0 :                   if (tree_min_value (_q51))
   15214              :                     {
   15215            0 :                       {
   15216            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
   15217            0 :                         tree res = generic_simplify_476 (loc, type, _p0, _p1, captures);
   15218            0 :                         if (res) return res;
   15219              :                       }
   15220              :                     }
   15221              :                 }
   15222              :               break;
   15223              :             }
   15224           32 :           default:;
   15225              :           }
   15226           32 :         switch (TREE_CODE (_q20))
   15227              :           {
   15228            0 :           CASE_CONVERT:
   15229            0 :             {
   15230            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15231            0 :               switch (TREE_CODE (_p1))
   15232              :                 {
   15233            0 :                 case EQ_EXPR:
   15234            0 :                   {
   15235            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15236            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15237            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15238              :                       {
   15239            0 :                         {
   15240            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15241            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15242            0 :                           if (res) return res;
   15243              :                         }
   15244              :                       }
   15245            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15246              :                       {
   15247            0 :                         {
   15248            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15249            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15250            0 :                           if (res) return res;
   15251              :                         }
   15252              :                       }
   15253              :                     break;
   15254              :                   }
   15255            0 :                 case NE_EXPR:
   15256            0 :                   {
   15257            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15258            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15259            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15260              :                       {
   15261            0 :                         {
   15262            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15263            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15264            0 :                           if (res) return res;
   15265              :                         }
   15266              :                       }
   15267            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15268              :                       {
   15269            0 :                         {
   15270            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15271            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15272            0 :                           if (res) return res;
   15273              :                         }
   15274              :                       }
   15275              :                     break;
   15276              :                   }
   15277              :                 default:;
   15278              :                 }
   15279              :               break;
   15280              :             }
   15281           32 :           default:;
   15282              :           }
   15283           32 :         switch (TREE_CODE (_q21))
   15284              :           {
   15285            0 :           CASE_CONVERT:
   15286            0 :             {
   15287            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   15288            0 :               switch (TREE_CODE (_p1))
   15289              :                 {
   15290            0 :                 case EQ_EXPR:
   15291            0 :                   {
   15292            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15293            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15294            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15295              :                       {
   15296            0 :                         {
   15297            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15298            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15299            0 :                           if (res) return res;
   15300              :                         }
   15301              :                       }
   15302            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15303              :                       {
   15304            0 :                         {
   15305            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15306            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15307            0 :                           if (res) return res;
   15308              :                         }
   15309              :                       }
   15310              :                     break;
   15311              :                   }
   15312            0 :                 case NE_EXPR:
   15313            0 :                   {
   15314            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15315            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15316            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15317              :                       {
   15318            0 :                         {
   15319            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15320            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15321            0 :                           if (res) return res;
   15322              :                         }
   15323              :                       }
   15324            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15325              :                       {
   15326            0 :                         {
   15327            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15328            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15329            0 :                           if (res) return res;
   15330              :                         }
   15331              :                       }
   15332              :                     break;
   15333              :                   }
   15334              :                 default:;
   15335              :                 }
   15336              :               break;
   15337              :             }
   15338           32 :           default:;
   15339              :           }
   15340           32 :         switch (TREE_CODE (_p1))
   15341              :           {
   15342           12 :           case EQ_EXPR:
   15343           12 :             {
   15344           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15345           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15346           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15347              :                 {
   15348            0 :                   {
   15349            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15350            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15351            0 :                     if (res) return res;
   15352              :                   }
   15353              :                 }
   15354           12 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15355              :                 {
   15356            0 :                   {
   15357            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15358            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15359            0 :                     if (res) return res;
   15360              :                   }
   15361              :                 }
   15362           12 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15363              :                 {
   15364            0 :                   {
   15365            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15366            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15367            0 :                     if (res) return res;
   15368              :                   }
   15369              :                 }
   15370           12 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15371              :                 {
   15372            0 :                   {
   15373            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15374            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15375            0 :                     if (res) return res;
   15376              :                   }
   15377              :                 }
   15378              :               break;
   15379              :             }
   15380            0 :           case NE_EXPR:
   15381            0 :             {
   15382            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15383            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15384            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15385              :                 {
   15386            0 :                   {
   15387            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15388            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15389            0 :                     if (res) return res;
   15390              :                   }
   15391              :                 }
   15392            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15393              :                 {
   15394            0 :                   {
   15395            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15396            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15397            0 :                     if (res) return res;
   15398              :                   }
   15399              :                 }
   15400            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15401              :                 {
   15402            0 :                   {
   15403            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15404            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15405            0 :                     if (res) return res;
   15406              :                   }
   15407              :                 }
   15408            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15409              :                 {
   15410            0 :                   {
   15411            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15412            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15413            0 :                     if (res) return res;
   15414              :                   }
   15415              :                 }
   15416              :               break;
   15417              :             }
   15418            0 :           case LT_EXPR:
   15419            0 :             {
   15420            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15421            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15422            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15423              :                 {
   15424            0 :                   {
   15425            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15426            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   15427            0 :                     if (res) return res;
   15428              :                   }
   15429              :                 }
   15430            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15431              :                 {
   15432            0 :                   {
   15433            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15434            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   15435            0 :                     if (res) return res;
   15436              :                   }
   15437              :                 }
   15438            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15439              :                 {
   15440            0 :                   {
   15441            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15442            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   15443            0 :                     if (res) return res;
   15444              :                   }
   15445              :                 }
   15446            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15447              :                 {
   15448            0 :                   {
   15449            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15450            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   15451            0 :                     if (res) return res;
   15452              :                   }
   15453              :                 }
   15454              :               break;
   15455              :             }
   15456            5 :           case LE_EXPR:
   15457            5 :             {
   15458            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15459            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15460            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15461              :                 {
   15462            0 :                   {
   15463            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15464            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   15465            0 :                     if (res) return res;
   15466              :                   }
   15467              :                 }
   15468            5 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15469              :                 {
   15470            0 :                   {
   15471            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15472            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   15473            0 :                     if (res) return res;
   15474              :                   }
   15475              :                 }
   15476            5 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15477              :                 {
   15478            0 :                   {
   15479            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15480            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   15481            0 :                     if (res) return res;
   15482              :                   }
   15483              :                 }
   15484            5 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15485              :                 {
   15486            4 :                   {
   15487            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15488            4 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   15489            4 :                     if (res) return res;
   15490              :                   }
   15491              :                 }
   15492              :               break;
   15493              :             }
   15494            4 :           case GT_EXPR:
   15495            4 :             {
   15496            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15497            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15498            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15499              :                 {
   15500            0 :                   {
   15501            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15502            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   15503            0 :                     if (res) return res;
   15504              :                   }
   15505              :                 }
   15506            4 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15507              :                 {
   15508            0 :                   {
   15509            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15510            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   15511            0 :                     if (res) return res;
   15512              :                   }
   15513              :                 }
   15514            4 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15515              :                 {
   15516            0 :                   {
   15517            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15518            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   15519            0 :                     if (res) return res;
   15520              :                   }
   15521              :                 }
   15522            4 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15523              :                 {
   15524            0 :                   {
   15525            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15526            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   15527            0 :                     if (res) return res;
   15528              :                   }
   15529              :                 }
   15530              :               break;
   15531              :             }
   15532            0 :           case GE_EXPR:
   15533            0 :             {
   15534            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15535            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15536            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15537              :                 {
   15538            0 :                   {
   15539            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15540            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   15541            0 :                     if (res) return res;
   15542              :                   }
   15543              :                 }
   15544            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15545              :                 {
   15546            0 :                   {
   15547            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15548            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   15549            0 :                     if (res) return res;
   15550              :                   }
   15551              :                 }
   15552            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15553              :                 {
   15554            0 :                   {
   15555            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15556            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   15557            0 :                     if (res) return res;
   15558              :                   }
   15559              :                 }
   15560            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15561              :                 {
   15562            0 :                   {
   15563            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15564            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   15565            0 :                     if (res) return res;
   15566              :                   }
   15567              :                 }
   15568              :               break;
   15569              :             }
   15570              :           default:;
   15571              :           }
   15572              :         break;
   15573              :       }
   15574           78 :     case GE_EXPR:
   15575           78 :       {
   15576           78 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15577           78 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15578           78 :         switch (TREE_CODE (_p1))
   15579              :           {
   15580           10 :           case EQ_EXPR:
   15581           10 :             {
   15582           10 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15583           10 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15584           10 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15585              :                 {
   15586            0 :                   if (tree_min_value (_q51))
   15587              :                     {
   15588            0 :                       {
   15589            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   15590            0 :                         tree res = generic_simplify_474 (loc, type, _p0, _p1, captures);
   15591            0 :                         if (res) return res;
   15592              :                       }
   15593              :                     }
   15594              :                 }
   15595           10 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15596              :                 {
   15597            4 :                   if (tree_max_value (_q51))
   15598              :                     {
   15599            4 :                       {
   15600            4 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   15601            4 :                         tree res = generic_simplify_475 (loc, type, _p0, _p1, captures);
   15602            4 :                         if (res) return res;
   15603              :                       }
   15604              :                     }
   15605              :                 }
   15606              :               break;
   15607              :             }
   15608            0 :           case NE_EXPR:
   15609            0 :             {
   15610            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15611            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15612            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15613              :                 {
   15614            0 :                   if (tree_min_value (_q51))
   15615              :                     {
   15616            0 :                       {
   15617            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
   15618            0 :                         tree res = generic_simplify_476 (loc, type, _p0, _p1, captures);
   15619            0 :                         if (res) return res;
   15620              :                       }
   15621              :                     }
   15622              :                 }
   15623              :               break;
   15624              :             }
   15625           74 :           default:;
   15626              :           }
   15627           74 :         switch (TREE_CODE (_q20))
   15628              :           {
   15629            4 :           CASE_CONVERT:
   15630            4 :             {
   15631            4 :               tree _q30 = TREE_OPERAND (_q20, 0);
   15632            4 :               switch (TREE_CODE (_p1))
   15633              :                 {
   15634            0 :                 case EQ_EXPR:
   15635            0 :                   {
   15636            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15637            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15638            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15639              :                       {
   15640            0 :                         {
   15641            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15642            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15643            0 :                           if (res) return res;
   15644              :                         }
   15645              :                       }
   15646            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15647              :                       {
   15648            0 :                         {
   15649            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15650            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15651            0 :                           if (res) return res;
   15652              :                         }
   15653              :                       }
   15654              :                     break;
   15655              :                   }
   15656            0 :                 case NE_EXPR:
   15657            0 :                   {
   15658            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15659            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15660            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
   15661              :                       {
   15662            0 :                         {
   15663            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
   15664            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15665            0 :                           if (res) return res;
   15666              :                         }
   15667              :                       }
   15668            0 :                     if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
   15669              :                       {
   15670            0 :                         {
   15671            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
   15672            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15673            0 :                           if (res) return res;
   15674              :                         }
   15675              :                       }
   15676              :                     break;
   15677              :                   }
   15678              :                 default:;
   15679              :                 }
   15680              :               break;
   15681              :             }
   15682           74 :           default:;
   15683              :           }
   15684           74 :         switch (TREE_CODE (_q21))
   15685              :           {
   15686            0 :           CASE_CONVERT:
   15687            0 :             {
   15688            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
   15689            0 :               switch (TREE_CODE (_p1))
   15690              :                 {
   15691            0 :                 case EQ_EXPR:
   15692            0 :                   {
   15693            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15694            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15695            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15696              :                       {
   15697            0 :                         {
   15698            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15699            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15700            0 :                           if (res) return res;
   15701              :                         }
   15702              :                       }
   15703            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15704              :                       {
   15705            0 :                         {
   15706            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15707            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15708            0 :                           if (res) return res;
   15709              :                         }
   15710              :                       }
   15711              :                     break;
   15712              :                   }
   15713            0 :                 case NE_EXPR:
   15714            0 :                   {
   15715            0 :                     tree _q60 = TREE_OPERAND (_p1, 0);
   15716            0 :                     tree _q61 = TREE_OPERAND (_p1, 1);
   15717            0 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
   15718              :                       {
   15719            0 :                         {
   15720            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
   15721            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15722            0 :                           if (res) return res;
   15723              :                         }
   15724              :                       }
   15725            0 :                     if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
   15726              :                       {
   15727            0 :                         {
   15728            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
   15729            0 :                           tree res = generic_simplify_464 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15730            0 :                           if (res) return res;
   15731              :                         }
   15732              :                       }
   15733              :                     break;
   15734              :                   }
   15735              :                 default:;
   15736              :                 }
   15737              :               break;
   15738              :             }
   15739           74 :           default:;
   15740              :           }
   15741           74 :         switch (TREE_CODE (_p1))
   15742              :           {
   15743            6 :           case EQ_EXPR:
   15744            6 :             {
   15745            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15746            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15747            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15748              :                 {
   15749            0 :                   {
   15750            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15751            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15752            0 :                     if (res) return res;
   15753              :                   }
   15754              :                 }
   15755            6 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15756              :                 {
   15757            0 :                   {
   15758            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15759            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15760            0 :                     if (res) return res;
   15761              :                   }
   15762              :                 }
   15763            6 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15764              :                 {
   15765            0 :                   {
   15766            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15767            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   15768            0 :                     if (res) return res;
   15769              :                   }
   15770              :                 }
   15771            6 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15772              :                 {
   15773            0 :                   {
   15774            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15775            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
   15776            0 :                     if (res) return res;
   15777              :                   }
   15778              :                 }
   15779              :               break;
   15780              :             }
   15781            0 :           case NE_EXPR:
   15782            0 :             {
   15783            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15784            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15785            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15786              :                 {
   15787            0 :                   {
   15788            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
   15789            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15790            0 :                     if (res) return res;
   15791              :                   }
   15792              :                 }
   15793            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15794              :                 {
   15795            0 :                   {
   15796            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
   15797            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15798            0 :                     if (res) return res;
   15799              :                   }
   15800              :                 }
   15801            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15802              :                 {
   15803            0 :                   {
   15804            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
   15805            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
   15806            0 :                     if (res) return res;
   15807              :                   }
   15808              :                 }
   15809            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15810              :                 {
   15811            0 :                   {
   15812            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
   15813            0 :                     tree res = generic_simplify_465 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
   15814            0 :                     if (res) return res;
   15815              :                   }
   15816              :                 }
   15817              :               break;
   15818              :             }
   15819           12 :           case LT_EXPR:
   15820           12 :             {
   15821           12 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15822           12 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15823           12 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15824              :                 {
   15825           12 :                   {
   15826           12 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15827           12 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   15828           12 :                     if (res) return res;
   15829              :                   }
   15830              :                 }
   15831           11 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15832              :                 {
   15833            0 :                   {
   15834            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15835            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   15836            0 :                     if (res) return res;
   15837              :                   }
   15838              :                 }
   15839           11 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15840              :                 {
   15841            0 :                   {
   15842            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15843            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   15844            0 :                     if (res) return res;
   15845              :                   }
   15846              :                 }
   15847           11 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15848              :                 {
   15849            0 :                   {
   15850            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15851            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   15852            0 :                     if (res) return res;
   15853              :                   }
   15854              :                 }
   15855              :               break;
   15856              :             }
   15857           17 :           case LE_EXPR:
   15858           17 :             {
   15859           17 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15860           17 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15861           17 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15862              :                 {
   15863           14 :                   {
   15864           14 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15865           14 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   15866           14 :                     if (res) return res;
   15867              :                   }
   15868              :                 }
   15869           17 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15870              :                 {
   15871            0 :                   {
   15872            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15873            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   15874            0 :                     if (res) return res;
   15875              :                   }
   15876              :                 }
   15877           17 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15878              :                 {
   15879            0 :                   {
   15880            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15881            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   15882            0 :                     if (res) return res;
   15883              :                   }
   15884              :                 }
   15885           17 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15886              :                 {
   15887            0 :                   {
   15888            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15889            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   15890            0 :                     if (res) return res;
   15891              :                   }
   15892              :                 }
   15893              :               break;
   15894              :             }
   15895            0 :           case GT_EXPR:
   15896            0 :             {
   15897            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15898            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15899            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15900              :                 {
   15901            0 :                   {
   15902            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15903            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
   15904            0 :                     if (res) return res;
   15905              :                   }
   15906              :                 }
   15907            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15908              :                 {
   15909            0 :                   {
   15910            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15911            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
   15912            0 :                     if (res) return res;
   15913              :                   }
   15914              :                 }
   15915            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15916              :                 {
   15917            0 :                   {
   15918            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15919            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
   15920            0 :                     if (res) return res;
   15921              :                   }
   15922              :                 }
   15923            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15924              :                 {
   15925            0 :                   {
   15926            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15927            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
   15928            0 :                     if (res) return res;
   15929              :                   }
   15930              :                 }
   15931              :               break;
   15932              :             }
   15933           11 :           case GE_EXPR:
   15934           11 :             {
   15935           11 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15936           11 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15937           11 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15938              :                 {
   15939            7 :                   {
   15940            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   15941            7 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
   15942            7 :                     if (res) return res;
   15943              :                   }
   15944              :                 }
   15945           11 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   15946              :                 {
   15947            0 :                   {
   15948            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   15949            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
   15950            0 :                     if (res) return res;
   15951              :                   }
   15952              :                 }
   15953           11 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   15954              :                 {
   15955            4 :                   {
   15956            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   15957            4 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
   15958            4 :                     if (res) return res;
   15959              :                   }
   15960              :                 }
   15961           11 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15962              :                 {
   15963            0 :                   {
   15964            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   15965            0 :                     tree res = generic_simplify_466 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
   15966            0 :                     if (res) return res;
   15967              :                   }
   15968              :                 }
   15969              :               break;
   15970              :             }
   15971              :           default:;
   15972              :           }
   15973              :         break;
   15974              :       }
   15975            0 :     case MIN_EXPR:
   15976            0 :       {
   15977            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   15978            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   15979            0 :         switch (TREE_CODE (_p1))
   15980              :           {
   15981            0 :           case MAX_EXPR:
   15982            0 :             {
   15983            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   15984            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   15985            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   15986              :                 {
   15987            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   15988              :                     {
   15989            0 :                       {
   15990            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   15991            0 :                         if (!HONOR_NANS (captures[0])
   15992              : )
   15993              :                           {
   15994            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1661;
   15995            0 :                             {
   15996            0 :                               tree res_op0;
   15997            0 :                               res_op0 = captures[0];
   15998            0 :                               tree res_op1;
   15999            0 :                               res_op1 = captures[1];
   16000            0 :                               tree _r;
   16001            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16002            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
   16003            0 :                               return _r;
   16004              :                             }
   16005            0 : next_after_fail1661:;
   16006              :                           }
   16007              :                       }
   16008              :                     }
   16009              :                 }
   16010            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16011              :                 {
   16012            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16013              :                     {
   16014            0 :                       {
   16015            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   16016            0 :                         if (!HONOR_NANS (captures[0])
   16017              : )
   16018              :                           {
   16019            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1662;
   16020            0 :                             {
   16021            0 :                               tree res_op0;
   16022            0 :                               res_op0 = captures[0];
   16023            0 :                               tree res_op1;
   16024            0 :                               res_op1 = captures[1];
   16025            0 :                               tree _r;
   16026            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16027            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
   16028            0 :                               return _r;
   16029              :                             }
   16030            0 : next_after_fail1662:;
   16031              :                           }
   16032              :                       }
   16033              :                     }
   16034              :                 }
   16035              :               break;
   16036              :             }
   16037              :           default:;
   16038              :           }
   16039              :         break;
   16040              :       }
   16041           80 :     case MAX_EXPR:
   16042           80 :       {
   16043           80 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16044           80 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16045           80 :         switch (TREE_CODE (_p1))
   16046              :           {
   16047            0 :           case MIN_EXPR:
   16048            0 :             {
   16049            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   16050            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   16051            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   16052              :                 {
   16053            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   16054              :                     {
   16055            0 :                       {
   16056            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16057            0 :                         if (!HONOR_NANS (captures[0])
   16058              : )
   16059              :                           {
   16060            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1663;
   16061            0 :                             {
   16062            0 :                               tree res_op0;
   16063            0 :                               res_op0 = captures[0];
   16064            0 :                               tree res_op1;
   16065            0 :                               res_op1 = captures[1];
   16066            0 :                               tree _r;
   16067            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16068            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
   16069            0 :                               return _r;
   16070              :                             }
   16071            0 : next_after_fail1663:;
   16072              :                           }
   16073              :                       }
   16074              :                     }
   16075              :                 }
   16076            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   16077              :                 {
   16078            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   16079              :                     {
   16080            0 :                       {
   16081            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16082            0 :                         if (!HONOR_NANS (captures[0])
   16083              : )
   16084              :                           {
   16085            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1664;
   16086            0 :                             {
   16087            0 :                               tree res_op0;
   16088            0 :                               res_op0 = captures[0];
   16089            0 :                               tree res_op1;
   16090            0 :                               res_op1 = captures[1];
   16091            0 :                               tree _r;
   16092            0 :                               _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   16093            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
   16094            0 :                               return _r;
   16095              :                             }
   16096            0 : next_after_fail1664:;
   16097              :                           }
   16098              :                       }
   16099              :                     }
   16100              :                 }
   16101              :               break;
   16102              :             }
   16103              :           default:;
   16104              :           }
   16105              :         break;
   16106              :       }
   16107       125577 :     case MULT_EXPR:
   16108       125577 :       {
   16109       125577 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16110       125577 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16111       125577 :         if (tree_zero_one_valued_p (_q20))
   16112              :           {
   16113            4 :             {
   16114            4 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   16115            4 :               tree res = generic_simplify_477 (loc, type, _p0, _p1, captures);
   16116            4 :               if (res) return res;
   16117              :             }
   16118              :           }
   16119       125575 :         if (tree_zero_one_valued_p (_q21))
   16120              :           {
   16121            0 :             {
   16122            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
   16123            0 :               tree res = generic_simplify_477 (loc, type, _p0, _p1, captures);
   16124            0 :               if (res) return res;
   16125              :             }
   16126              :           }
   16127              :         break;
   16128              :       }
   16129      9125640 :     default:;
   16130              :     }
   16131      9125640 :   switch (TREE_CODE (_p1))
   16132              :     {
   16133           26 :     case MULT_EXPR:
   16134           26 :       {
   16135           26 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16136           26 :         tree _q31 = TREE_OPERAND (_p1, 1);
   16137           26 :         if (tree_zero_one_valued_p (_q30))
   16138              :           {
   16139            0 :             {
   16140            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
   16141            0 :               tree res = generic_simplify_477 (loc, type, _p0, _p1, captures);
   16142            0 :               if (res) return res;
   16143              :             }
   16144              :           }
   16145           26 :         if (tree_zero_one_valued_p (_q31))
   16146              :           {
   16147            0 :             {
   16148            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
   16149            0 :               tree res = generic_simplify_477 (loc, type, _p0, _p1, captures);
   16150            0 :               if (res) return res;
   16151              :             }
   16152              :           }
   16153              :         break;
   16154              :       }
   16155      9125640 :     default:;
   16156              :     }
   16157      9125640 :   switch (TREE_CODE (_p0))
   16158              :     {
   16159        34238 :     case LSHIFT_EXPR:
   16160        34238 :       {
   16161        34238 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16162        34238 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16163        34238 :         switch (TREE_CODE (_q20))
   16164              :           {
   16165         5349 :           case INTEGER_CST:
   16166         5349 :             {
   16167         5349 :               if (integer_onep (_p1))
   16168              :                 {
   16169           44 :                   {
   16170           44 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   16171           44 :                     if ((wi::to_wide (captures[0]) & 1) != 0
   16172              : )
   16173              :                       {
   16174           40 :                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1665;
   16175           40 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1665;
   16176           40 :                         {
   16177           40 :                           tree res_op0;
   16178           40 :                           {
   16179           40 :                             tree _o1[2], _r1;
   16180           40 :                             _o1[0] = captures[1];
   16181           40 :                             _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
   16182           40 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
   16183           40 :                             res_op0 = _r1;
   16184              :                           }
   16185           40 :                           tree _r;
   16186           40 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   16187           40 :                           if (TREE_SIDE_EFFECTS (captures[0]))
   16188            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   16189           40 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
   16190           40 :                           return _r;
   16191              :                         }
   16192            0 : next_after_fail1665:;
   16193              :                       }
   16194              :                     else
   16195              :                       {
   16196            4 :                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1666;
   16197            4 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1666;
   16198            4 :                         {
   16199            4 :                           tree _r;
   16200            4 :                           _r =  build_zero_cst (type);
   16201            4 :                           if (TREE_SIDE_EFFECTS (captures[0]))
   16202            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   16203            4 :                           if (TREE_SIDE_EFFECTS (captures[1]))
   16204            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   16205            4 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1002, __FILE__, __LINE__, true);
   16206            4 :                           return _r;
   16207              :                         }
   16208            0 : next_after_fail1666:;
   16209              :                       }
   16210              :                   }
   16211              :                 }
   16212              :               break;
   16213              :             }
   16214         5327 :           CASE_CONVERT:
   16215         5327 :             {
   16216         5327 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16217         5327 :               switch (TREE_CODE (_q21))
   16218              :                 {
   16219         5223 :                 case INTEGER_CST:
   16220         5223 :                   {
   16221         5223 :                     switch (TREE_CODE (_p1))
   16222              :                       {
   16223         5223 :                       case INTEGER_CST:
   16224         5223 :                         {
   16225         5223 :                           {
   16226         5223 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
   16227         5223 :                             tree res = generic_simplify_478 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16228         5223 :                             if (res) return res;
   16229              :                           }
   16230         4567 :                           break;
   16231              :                         }
   16232              :                       default:;
   16233              :                       }
   16234              :                     break;
   16235              :                   }
   16236              :                 default:;
   16237              :                 }
   16238              :               break;
   16239              :             }
   16240        33538 :           default:;
   16241              :           }
   16242        33538 :         switch (TREE_CODE (_q21))
   16243              :           {
   16244        27828 :           case INTEGER_CST:
   16245        27828 :             {
   16246        27828 :               switch (TREE_CODE (_p1))
   16247              :                 {
   16248        27791 :                 case INTEGER_CST:
   16249        27791 :                   {
   16250        27791 :                     {
   16251        27791 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
   16252        27791 :                       tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16253        27791 :                       if (res) return res;
   16254              :                     }
   16255        17002 :                     break;
   16256              :                   }
   16257              :                 default:;
   16258              :                 }
   16259              :               break;
   16260              :             }
   16261              :           default:;
   16262              :           }
   16263              :         break;
   16264              :       }
   16265      2680599 :     CASE_CONVERT:
   16266      2680599 :       {
   16267      2680599 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16268      2680599 :         switch (TREE_CODE (_q20))
   16269              :           {
   16270        74787 :           case LSHIFT_EXPR:
   16271        74787 :             {
   16272        74787 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16273        74787 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16274        74787 :               switch (TREE_CODE (_q30))
   16275              :                 {
   16276          147 :                 CASE_CONVERT:
   16277          147 :                   {
   16278          147 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   16279          147 :                     switch (TREE_CODE (_q31))
   16280              :                       {
   16281           79 :                       case INTEGER_CST:
   16282           79 :                         {
   16283           79 :                           switch (TREE_CODE (_p1))
   16284              :                             {
   16285           79 :                             case INTEGER_CST:
   16286           79 :                               {
   16287           79 :                                 {
   16288           79 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
   16289           79 :                                   tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16290           79 :                                   if (res) return res;
   16291              :                                 }
   16292           79 :                                 break;
   16293              :                               }
   16294              :                             default:;
   16295              :                             }
   16296              :                           break;
   16297              :                         }
   16298              :                       default:;
   16299              :                       }
   16300              :                     break;
   16301              :                   }
   16302        74787 :                 default:;
   16303              :                 }
   16304        74787 :               switch (TREE_CODE (_q31))
   16305              :                 {
   16306           79 :                 case INTEGER_CST:
   16307           79 :                   {
   16308           79 :                     switch (TREE_CODE (_p1))
   16309              :                       {
   16310           79 :                       case INTEGER_CST:
   16311           79 :                         {
   16312           79 :                           {
   16313           79 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
   16314           79 :                             tree res = generic_simplify_481 (loc, type, _p0, _p1, captures, LSHIFT_EXPR);
   16315           79 :                             if (res) return res;
   16316              :                           }
   16317           79 :                           break;
   16318              :                         }
   16319              :                       default:;
   16320              :                       }
   16321              :                     break;
   16322              :                   }
   16323              :                 default:;
   16324              :                 }
   16325              :               break;
   16326              :             }
   16327       176676 :           case RSHIFT_EXPR:
   16328       176676 :             {
   16329       176676 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16330       176676 :               tree _q31 = TREE_OPERAND (_q20, 1);
   16331       176676 :               switch (TREE_CODE (_q30))
   16332              :                 {
   16333        98358 :                 CASE_CONVERT:
   16334        98358 :                   {
   16335        98358 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   16336        98358 :                     switch (TREE_CODE (_q31))
   16337              :                       {
   16338        98231 :                       case INTEGER_CST:
   16339        98231 :                         {
   16340        98231 :                           switch (TREE_CODE (_p1))
   16341              :                             {
   16342        98231 :                             case INTEGER_CST:
   16343        98231 :                               {
   16344        98231 :                                 {
   16345        98231 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
   16346        98231 :                                   tree res = generic_simplify_480 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   16347        98231 :                                   if (res) return res;
   16348              :                                 }
   16349        98174 :                                 break;
   16350              :                               }
   16351              :                             default:;
   16352              :                             }
   16353              :                           break;
   16354              :                         }
   16355        98301 :                       default:;
   16356              :                       }
   16357        98301 :                     switch (TREE_CODE (_q40))
   16358              :                       {
   16359            2 :                       case CALL_EXPR:
   16360            2 :                         switch (get_call_combined_fn (_q40))
   16361              :                           {
   16362            0 :                           case CFN_BUILT_IN_BSWAP128:
   16363            0 :                             if (call_expr_nargs (_q40) == 1)
   16364              :     {
   16365            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16366            0 :                                 switch (TREE_CODE (_q31))
   16367              :                                   {
   16368            0 :                                   case INTEGER_CST:
   16369            0 :                                     {
   16370            0 :                                       switch (TREE_CODE (_p1))
   16371              :                                         {
   16372            0 :                                         case INTEGER_CST:
   16373            0 :                                           {
   16374            0 :                                             {
   16375            0 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16376            0 :                                               tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   16377            0 :                                               if (res) return res;
   16378              :                                             }
   16379            0 :                                             break;
   16380              :                                           }
   16381              :                                         default:;
   16382              :                                         }
   16383              :                                       break;
   16384              :                                     }
   16385              :                                   default:;
   16386              :                                   }
   16387              :                               }
   16388              :                             break;
   16389            2 :                           case CFN_BUILT_IN_BSWAP16:
   16390            2 :                             if (call_expr_nargs (_q40) == 1)
   16391              :     {
   16392            2 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16393            2 :                                 switch (TREE_CODE (_q31))
   16394              :                                   {
   16395            2 :                                   case INTEGER_CST:
   16396            2 :                                     {
   16397            2 :                                       switch (TREE_CODE (_p1))
   16398              :                                         {
   16399            2 :                                         case INTEGER_CST:
   16400            2 :                                           {
   16401            2 :                                             {
   16402            2 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16403            2 :                                               tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   16404            2 :                                               if (res) return res;
   16405              :                                             }
   16406            0 :                                             break;
   16407              :                                           }
   16408              :                                         default:;
   16409              :                                         }
   16410              :                                       break;
   16411              :                                     }
   16412              :                                   default:;
   16413              :                                   }
   16414              :                               }
   16415              :                             break;
   16416            0 :                           case CFN_BUILT_IN_BSWAP32:
   16417            0 :                             if (call_expr_nargs (_q40) == 1)
   16418              :     {
   16419            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16420            0 :                                 switch (TREE_CODE (_q31))
   16421              :                                   {
   16422            0 :                                   case INTEGER_CST:
   16423            0 :                                     {
   16424            0 :                                       switch (TREE_CODE (_p1))
   16425              :                                         {
   16426            0 :                                         case INTEGER_CST:
   16427            0 :                                           {
   16428            0 :                                             {
   16429            0 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16430            0 :                                               tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   16431            0 :                                               if (res) return res;
   16432              :                                             }
   16433            0 :                                             break;
   16434              :                                           }
   16435              :                                         default:;
   16436              :                                         }
   16437              :                                       break;
   16438              :                                     }
   16439              :                                   default:;
   16440              :                                   }
   16441              :                               }
   16442              :                             break;
   16443            0 :                           case CFN_BUILT_IN_BSWAP64:
   16444            0 :                             if (call_expr_nargs (_q40) == 1)
   16445              :     {
   16446            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16447            0 :                                 switch (TREE_CODE (_q31))
   16448              :                                   {
   16449            0 :                                   case INTEGER_CST:
   16450            0 :                                     {
   16451            0 :                                       switch (TREE_CODE (_p1))
   16452              :                                         {
   16453            0 :                                         case INTEGER_CST:
   16454            0 :                                           {
   16455            0 :                                             {
   16456            0 :                                               tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
   16457            0 :                                               tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   16458            0 :                                               if (res) return res;
   16459              :                                             }
   16460            0 :                                             break;
   16461              :                                           }
   16462              :                                         default:;
   16463              :                                         }
   16464              :                                       break;
   16465              :                                     }
   16466              :                                   default:;
   16467              :                                   }
   16468              :                               }
   16469              :                             break;
   16470              :                           default:;
   16471              :                           }
   16472              :                         break;
   16473              :                       default:;
   16474              :                       }
   16475              :                     break;
   16476              :                   }
   16477       176617 :                 default:;
   16478              :                 }
   16479       176617 :               switch (TREE_CODE (_q31))
   16480              :                 {
   16481       104749 :                 case INTEGER_CST:
   16482       104749 :                   {
   16483       104749 :                     switch (TREE_CODE (_p1))
   16484              :                       {
   16485       104677 :                       case INTEGER_CST:
   16486       104677 :                         {
   16487       104677 :                           {
   16488       104677 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
   16489       104677 :                             tree res = generic_simplify_481 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   16490       104677 :                             if (res) return res;
   16491              :                           }
   16492       104605 :                           break;
   16493              :                         }
   16494              :                       default:;
   16495              :                       }
   16496              :                     break;
   16497              :                   }
   16498       176545 :                 default:;
   16499              :                 }
   16500       176545 :               switch (TREE_CODE (_q30))
   16501              :                 {
   16502           80 :                 case CALL_EXPR:
   16503           80 :                   switch (get_call_combined_fn (_q30))
   16504              :                     {
   16505            0 :                     case CFN_BUILT_IN_BSWAP128:
   16506            0 :                       if (call_expr_nargs (_q30) == 1)
   16507              :     {
   16508            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16509            0 :                           switch (TREE_CODE (_q31))
   16510              :                             {
   16511            0 :                             case INTEGER_CST:
   16512            0 :                               {
   16513            0 :                                 switch (TREE_CODE (_p1))
   16514              :                                   {
   16515            0 :                                   case INTEGER_CST:
   16516            0 :                                     {
   16517            0 :                                       {
   16518            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16519            0 :                                         tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   16520            0 :                                         if (res) return res;
   16521              :                                       }
   16522            0 :                                       break;
   16523              :                                     }
   16524              :                                   default:;
   16525              :                                   }
   16526              :                                 break;
   16527              :                               }
   16528              :                             default:;
   16529              :                             }
   16530              :                         }
   16531              :                       break;
   16532            9 :                     case CFN_BUILT_IN_BSWAP16:
   16533            9 :                       if (call_expr_nargs (_q30) == 1)
   16534              :     {
   16535            9 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16536            9 :                           switch (TREE_CODE (_q31))
   16537              :                             {
   16538            9 :                             case INTEGER_CST:
   16539            9 :                               {
   16540            9 :                                 switch (TREE_CODE (_p1))
   16541              :                                   {
   16542            9 :                                   case INTEGER_CST:
   16543            9 :                                     {
   16544            9 :                                       {
   16545            9 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16546            9 :                                         tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   16547            9 :                                         if (res) return res;
   16548              :                                       }
   16549            0 :                                       break;
   16550              :                                     }
   16551              :                                   default:;
   16552              :                                   }
   16553              :                                 break;
   16554              :                               }
   16555              :                             default:;
   16556              :                             }
   16557              :                         }
   16558              :                       break;
   16559            0 :                     case CFN_BUILT_IN_BSWAP32:
   16560            0 :                       if (call_expr_nargs (_q30) == 1)
   16561              :     {
   16562            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16563            0 :                           switch (TREE_CODE (_q31))
   16564              :                             {
   16565            0 :                             case INTEGER_CST:
   16566            0 :                               {
   16567            0 :                                 switch (TREE_CODE (_p1))
   16568              :                                   {
   16569            0 :                                   case INTEGER_CST:
   16570            0 :                                     {
   16571            0 :                                       {
   16572            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16573            0 :                                         tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   16574            0 :                                         if (res) return res;
   16575              :                                       }
   16576            0 :                                       break;
   16577              :                                     }
   16578              :                                   default:;
   16579              :                                   }
   16580              :                                 break;
   16581              :                               }
   16582              :                             default:;
   16583              :                             }
   16584              :                         }
   16585              :                       break;
   16586           71 :                     case CFN_BUILT_IN_BSWAP64:
   16587           71 :                       if (call_expr_nargs (_q30) == 1)
   16588              :     {
   16589           71 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16590           71 :                           switch (TREE_CODE (_q31))
   16591              :                             {
   16592           70 :                             case INTEGER_CST:
   16593           70 :                               {
   16594           70 :                                 switch (TREE_CODE (_p1))
   16595              :                                   {
   16596           70 :                                   case INTEGER_CST:
   16597           70 :                                     {
   16598           70 :                                       {
   16599           70 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
   16600           70 :                                         tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   16601           70 :                                         if (res) return res;
   16602              :                                       }
   16603            0 :                                       break;
   16604              :                                     }
   16605              :                                   default:;
   16606              :                                   }
   16607              :                                 break;
   16608              :                               }
   16609              :                             default:;
   16610              :                             }
   16611              :                         }
   16612              :                       break;
   16613              :                     default:;
   16614              :                     }
   16615              :                   break;
   16616              :                 default:;
   16617              :                 }
   16618              :               break;
   16619              :             }
   16620        29535 :           case CALL_EXPR:
   16621        29535 :             switch (get_call_combined_fn (_q20))
   16622              :               {
   16623            0 :               case CFN_BUILT_IN_BSWAP128:
   16624            0 :                 if (call_expr_nargs (_q20) == 1)
   16625              :     {
   16626            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16627            0 :                     switch (TREE_CODE (_p1))
   16628              :                       {
   16629            0 :                       case INTEGER_CST:
   16630            0 :                         {
   16631            0 :                           {
   16632            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   16633            0 :                             tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   16634            0 :                             if (res) return res;
   16635              :                           }
   16636            0 :                           break;
   16637              :                         }
   16638              :                       default:;
   16639              :                       }
   16640              :                   }
   16641              :                 break;
   16642           10 :               case CFN_BUILT_IN_BSWAP16:
   16643           10 :                 if (call_expr_nargs (_q20) == 1)
   16644              :     {
   16645           10 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16646           10 :                     switch (TREE_CODE (_p1))
   16647              :                       {
   16648           10 :                       case INTEGER_CST:
   16649           10 :                         {
   16650           10 :                           {
   16651           10 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   16652           10 :                             tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   16653           10 :                             if (res) return res;
   16654              :                           }
   16655            0 :                           break;
   16656              :                         }
   16657              :                       default:;
   16658              :                       }
   16659              :                   }
   16660              :                 break;
   16661            4 :               case CFN_BUILT_IN_BSWAP32:
   16662            4 :                 if (call_expr_nargs (_q20) == 1)
   16663              :     {
   16664            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16665            4 :                     switch (TREE_CODE (_p1))
   16666              :                       {
   16667            4 :                       case INTEGER_CST:
   16668            4 :                         {
   16669            4 :                           {
   16670            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   16671            4 :                             tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   16672            4 :                             if (res) return res;
   16673              :                           }
   16674            0 :                           break;
   16675              :                         }
   16676              :                       default:;
   16677              :                       }
   16678              :                   }
   16679              :                 break;
   16680            4 :               case CFN_BUILT_IN_BSWAP64:
   16681            4 :                 if (call_expr_nargs (_q20) == 1)
   16682              :     {
   16683            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16684            4 :                     switch (TREE_CODE (_p1))
   16685              :                       {
   16686            4 :                       case INTEGER_CST:
   16687            4 :                         {
   16688            4 :                           {
   16689            4 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   16690            4 :                             tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   16691            4 :                             if (res) return res;
   16692              :                           }
   16693            0 :                           break;
   16694              :                         }
   16695              :                       default:;
   16696              :                       }
   16697              :                   }
   16698              :                 break;
   16699              :               default:;
   16700              :               }
   16701              :             break;
   16702              :           default:;
   16703              :           }
   16704              :         break;
   16705              :       }
   16706       177305 :     case RSHIFT_EXPR:
   16707       177305 :       {
   16708       177305 :         tree _q20 = TREE_OPERAND (_p0, 0);
   16709       177305 :         tree _q21 = TREE_OPERAND (_p0, 1);
   16710       177305 :         switch (TREE_CODE (_q20))
   16711              :           {
   16712       127155 :           CASE_CONVERT:
   16713       127155 :             {
   16714       127155 :               tree _q30 = TREE_OPERAND (_q20, 0);
   16715       127155 :               switch (TREE_CODE (_q21))
   16716              :                 {
   16717       124072 :                 case INTEGER_CST:
   16718       124072 :                   {
   16719       124072 :                     switch (TREE_CODE (_p1))
   16720              :                       {
   16721       124072 :                       case INTEGER_CST:
   16722       124072 :                         {
   16723       124072 :                           {
   16724       124072 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
   16725       124072 :                             tree res = generic_simplify_478 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   16726       124072 :                             if (res) return res;
   16727              :                           }
   16728       123752 :                           break;
   16729              :                         }
   16730              :                       default:;
   16731              :                       }
   16732              :                     break;
   16733              :                   }
   16734       126835 :                 default:;
   16735              :                 }
   16736       126835 :               switch (TREE_CODE (_q30))
   16737              :                 {
   16738           22 :                 case CALL_EXPR:
   16739           22 :                   switch (get_call_combined_fn (_q30))
   16740              :                     {
   16741            0 :                     case CFN_BUILT_IN_BSWAP128:
   16742            0 :                       if (call_expr_nargs (_q30) == 1)
   16743              :     {
   16744            0 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16745            0 :                           switch (TREE_CODE (_q21))
   16746              :                             {
   16747            0 :                             case INTEGER_CST:
   16748            0 :                               {
   16749            0 :                                 switch (TREE_CODE (_p1))
   16750              :                                   {
   16751            0 :                                   case INTEGER_CST:
   16752            0 :                                     {
   16753            0 :                                       {
   16754            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   16755            0 :                                         tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   16756            0 :                                         if (res) return res;
   16757              :                                       }
   16758            0 :                                       break;
   16759              :                                     }
   16760              :                                   default:;
   16761              :                                   }
   16762              :                                 break;
   16763              :                               }
   16764              :                             default:;
   16765              :                             }
   16766              :                         }
   16767              :                       break;
   16768            1 :                     case CFN_BUILT_IN_BSWAP16:
   16769            1 :                       if (call_expr_nargs (_q30) == 1)
   16770              :     {
   16771            1 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16772            1 :                           switch (TREE_CODE (_q21))
   16773              :                             {
   16774            0 :                             case INTEGER_CST:
   16775            0 :                               {
   16776            0 :                                 switch (TREE_CODE (_p1))
   16777              :                                   {
   16778            0 :                                   case INTEGER_CST:
   16779            0 :                                     {
   16780            0 :                                       {
   16781            0 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   16782            0 :                                         tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   16783            0 :                                         if (res) return res;
   16784              :                                       }
   16785            0 :                                       break;
   16786              :                                     }
   16787              :                                   default:;
   16788              :                                   }
   16789              :                                 break;
   16790              :                               }
   16791              :                             default:;
   16792              :                             }
   16793              :                         }
   16794              :                       break;
   16795            9 :                     case CFN_BUILT_IN_BSWAP32:
   16796            9 :                       if (call_expr_nargs (_q30) == 1)
   16797              :     {
   16798            9 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16799            9 :                           switch (TREE_CODE (_q21))
   16800              :                             {
   16801            9 :                             case INTEGER_CST:
   16802            9 :                               {
   16803            9 :                                 switch (TREE_CODE (_p1))
   16804              :                                   {
   16805            9 :                                   case INTEGER_CST:
   16806            9 :                                     {
   16807            9 :                                       {
   16808            9 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   16809            9 :                                         tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   16810            9 :                                         if (res) return res;
   16811              :                                       }
   16812            0 :                                       break;
   16813              :                                     }
   16814              :                                   default:;
   16815              :                                   }
   16816              :                                 break;
   16817              :                               }
   16818              :                             default:;
   16819              :                             }
   16820              :                         }
   16821              :                       break;
   16822           12 :                     case CFN_BUILT_IN_BSWAP64:
   16823           12 :                       if (call_expr_nargs (_q30) == 1)
   16824              :     {
   16825           12 :                           tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16826           12 :                           switch (TREE_CODE (_q21))
   16827              :                             {
   16828           12 :                             case INTEGER_CST:
   16829           12 :                               {
   16830           12 :                                 switch (TREE_CODE (_p1))
   16831              :                                   {
   16832           12 :                                   case INTEGER_CST:
   16833           12 :                                     {
   16834           12 :                                       {
   16835           12 :                                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
   16836           12 :                                         tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   16837           12 :                                         if (res) return res;
   16838              :                                       }
   16839            0 :                                       break;
   16840              :                                     }
   16841              :                                   default:;
   16842              :                                   }
   16843              :                                 break;
   16844              :                               }
   16845              :                             default:;
   16846              :                             }
   16847              :                         }
   16848              :                       break;
   16849              :                     default:;
   16850              :                     }
   16851              :                   break;
   16852              :                 default:;
   16853              :                 }
   16854              :               break;
   16855              :             }
   16856       176964 :           default:;
   16857              :           }
   16858       176964 :         switch (TREE_CODE (_q21))
   16859              :           {
   16860       133067 :           case INTEGER_CST:
   16861       133067 :             {
   16862       133067 :               switch (TREE_CODE (_p1))
   16863              :                 {
   16864       132922 :                 case INTEGER_CST:
   16865       132922 :                   {
   16866       132922 :                     {
   16867       132922 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
   16868       132922 :                       tree res = generic_simplify_479 (loc, type, _p0, _p1, captures, RSHIFT_EXPR);
   16869       132922 :                       if (res) return res;
   16870              :                     }
   16871       131114 :                     break;
   16872              :                   }
   16873              :                 default:;
   16874              :                 }
   16875              :               break;
   16876              :             }
   16877       175156 :           default:;
   16878              :           }
   16879       175156 :         switch (TREE_CODE (_q20))
   16880              :           {
   16881          140 :           case CALL_EXPR:
   16882          140 :             switch (get_call_combined_fn (_q20))
   16883              :               {
   16884            0 :               case CFN_BUILT_IN_BSWAP128:
   16885            0 :                 if (call_expr_nargs (_q20) == 1)
   16886              :     {
   16887            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16888            0 :                     switch (TREE_CODE (_q21))
   16889              :                       {
   16890            0 :                       case INTEGER_CST:
   16891            0 :                         {
   16892            0 :                           switch (TREE_CODE (_p1))
   16893              :                             {
   16894            0 :                             case INTEGER_CST:
   16895            0 :                               {
   16896            0 :                                 {
   16897            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   16898            0 :                                   tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   16899            0 :                                   if (res) return res;
   16900              :                                 }
   16901            0 :                                 break;
   16902              :                               }
   16903              :                             default:;
   16904              :                             }
   16905              :                           break;
   16906              :                         }
   16907              :                       default:;
   16908              :                       }
   16909              :                   }
   16910              :                 break;
   16911            0 :               case CFN_BUILT_IN_BSWAP16:
   16912            0 :                 if (call_expr_nargs (_q20) == 1)
   16913              :     {
   16914            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16915            0 :                     switch (TREE_CODE (_q21))
   16916              :                       {
   16917            0 :                       case INTEGER_CST:
   16918            0 :                         {
   16919            0 :                           switch (TREE_CODE (_p1))
   16920              :                             {
   16921            0 :                             case INTEGER_CST:
   16922            0 :                               {
   16923            0 :                                 {
   16924            0 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   16925            0 :                                   tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   16926            0 :                                   if (res) return res;
   16927              :                                 }
   16928            0 :                                 break;
   16929              :                               }
   16930              :                             default:;
   16931              :                             }
   16932              :                           break;
   16933              :                         }
   16934              :                       default:;
   16935              :                       }
   16936              :                   }
   16937              :                 break;
   16938           60 :               case CFN_BUILT_IN_BSWAP32:
   16939           60 :                 if (call_expr_nargs (_q20) == 1)
   16940              :     {
   16941           60 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16942           60 :                     switch (TREE_CODE (_q21))
   16943              :                       {
   16944           59 :                       case INTEGER_CST:
   16945           59 :                         {
   16946           59 :                           switch (TREE_CODE (_p1))
   16947              :                             {
   16948           59 :                             case INTEGER_CST:
   16949           59 :                               {
   16950           59 :                                 {
   16951           59 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   16952           59 :                                   tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   16953           59 :                                   if (res) return res;
   16954              :                                 }
   16955            0 :                                 break;
   16956              :                               }
   16957              :                             default:;
   16958              :                             }
   16959              :                           break;
   16960              :                         }
   16961              :                       default:;
   16962              :                       }
   16963              :                   }
   16964              :                 break;
   16965           73 :               case CFN_BUILT_IN_BSWAP64:
   16966           73 :                 if (call_expr_nargs (_q20) == 1)
   16967              :     {
   16968           73 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
   16969           73 :                     switch (TREE_CODE (_q21))
   16970              :                       {
   16971           73 :                       case INTEGER_CST:
   16972           73 :                         {
   16973           73 :                           switch (TREE_CODE (_p1))
   16974              :                             {
   16975           73 :                             case INTEGER_CST:
   16976           73 :                               {
   16977           73 :                                 {
   16978           73 :                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
   16979           73 :                                   tree res = generic_simplify_482 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   16980           73 :                                   if (res) return res;
   16981              :                                 }
   16982            0 :                                 break;
   16983              :                               }
   16984              :                             default:;
   16985              :                             }
   16986              :                           break;
   16987              :                         }
   16988              :                       default:;
   16989              :                       }
   16990              :                   }
   16991              :                 break;
   16992              :               default:;
   16993              :               }
   16994              :             break;
   16995              :           default:;
   16996              :           }
   16997              :         break;
   16998              :       }
   16999           65 :     case VEC_COND_EXPR:
   17000           65 :       {
   17001           65 :         tree _q20 = TREE_OPERAND (_p0, 0);
   17002           65 :         tree _q21 = TREE_OPERAND (_p0, 1);
   17003           65 :         tree _q22 = TREE_OPERAND (_p0, 2);
   17004           65 :         switch (TREE_CODE (_p1))
   17005              :           {
   17006           47 :           case VEC_COND_EXPR:
   17007           47 :             {
   17008           47 :               tree _q60 = TREE_OPERAND (_p1, 0);
   17009           47 :               tree _q61 = TREE_OPERAND (_p1, 1);
   17010           47 :               tree _q62 = TREE_OPERAND (_p1, 2);
   17011           47 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   17012              :                 {
   17013            0 :                   {
   17014            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   17015            0 :                     if (VECTOR_TYPE_P (type)
   17016            0 :  && (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
   17017              :  || types_match (type, TREE_TYPE (captures[2]))
   17018              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   17019              :  || (optimize_vectors_before_lowering_p ()
   17020              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   17021              : )
   17022              :                       {
   17023            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1667;
   17024            0 :                         {
   17025            0 :                           tree res_op0;
   17026            0 :                           res_op0 = captures[1];
   17027            0 :                           tree res_op1;
   17028            0 :                           {
   17029            0 :                             tree _o1[2], _r1;
   17030            0 :                             _o1[0] = captures[2];
   17031            0 :                             _o1[1] = captures[5];
   17032            0 :                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   17033            0 :                             if (EXPR_P (_r1))
   17034            0 :                               goto next_after_fail1667;
   17035            0 :                             res_op1 = _r1;
   17036              :                           }
   17037            0 :                           tree res_op2;
   17038            0 :                           {
   17039            0 :                             tree _o1[2], _r1;
   17040            0 :                             _o1[0] = captures[3];
   17041            0 :                             _o1[1] = captures[6];
   17042            0 :                             _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   17043            0 :                             if (EXPR_P (_r1))
   17044            0 :                               goto next_after_fail1667;
   17045            0 :                             res_op2 = _r1;
   17046              :                           }
   17047            0 :                           tree _r;
   17048            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17049            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
   17050            0 :                           return _r;
   17051              :                         }
   17052            0 : next_after_fail1667:;
   17053              :                       }
   17054              :                   }
   17055              :                 }
   17056              :               break;
   17057              :             }
   17058           65 :           default:;
   17059              :           }
   17060           65 :         if (integer_minus_onep (_q21))
   17061              :           {
   17062           65 :             if (integer_zerop (_q22))
   17063              :               {
   17064           65 :                 switch (TREE_CODE (_p1))
   17065              :                   {
   17066           47 :                   case VEC_COND_EXPR:
   17067           47 :                     {
   17068           47 :                       tree _q60 = TREE_OPERAND (_p1, 0);
   17069           47 :                       tree _q61 = TREE_OPERAND (_p1, 1);
   17070           47 :                       tree _q62 = TREE_OPERAND (_p1, 2);
   17071           47 :                       if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
   17072              :                         {
   17073           47 :                           if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   17074              :                             {
   17075           47 :                               {
   17076           47 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17077           47 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17078           47 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17079              : )
   17080              :                                   {
   17081           47 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1668;
   17082           47 :                                     {
   17083           47 :                                       tree res_op0;
   17084           47 :                                       {
   17085           47 :                                         tree _o1[2], _r1;
   17086           47 :                                         _o1[0] = captures[0];
   17087           47 :                                         _o1[1] = captures[3];
   17088           47 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17089           47 :                                         res_op0 = _r1;
   17090              :                                       }
   17091           47 :                                       tree res_op1;
   17092           47 :                                       res_op1 = captures[1];
   17093           47 :                                       tree res_op2;
   17094           47 :                                       res_op2 = captures[2];
   17095           47 :                                       tree _r;
   17096           47 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17097           47 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17098           47 :                                       return _r;
   17099              :                                     }
   17100            0 : next_after_fail1668:;
   17101              :                                   }
   17102              :                               }
   17103            0 :                               {
   17104            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17105            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17106            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17107              : )
   17108              :                                   {
   17109            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1669;
   17110            0 :                                     {
   17111            0 :                                       tree res_op0;
   17112            0 :                                       {
   17113            0 :                                         tree _o1[2], _r1;
   17114            0 :                                         _o1[0] = captures[0];
   17115            0 :                                         _o1[1] = captures[3];
   17116            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17117            0 :                                         res_op0 = _r1;
   17118              :                                       }
   17119            0 :                                       tree res_op1;
   17120            0 :                                       res_op1 = captures[1];
   17121            0 :                                       tree res_op2;
   17122            0 :                                       res_op2 = captures[2];
   17123            0 :                                       tree _r;
   17124            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17125            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17126            0 :                                       return _r;
   17127              :                                     }
   17128            0 : next_after_fail1669:;
   17129              :                                   }
   17130              :                               }
   17131            0 :                               {
   17132            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17133            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17134            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17135              : )
   17136              :                                   {
   17137            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1670;
   17138            0 :                                     {
   17139            0 :                                       tree res_op0;
   17140            0 :                                       {
   17141            0 :                                         tree _o1[2], _r1;
   17142            0 :                                         _o1[0] = captures[0];
   17143            0 :                                         _o1[1] = captures[3];
   17144            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17145            0 :                                         res_op0 = _r1;
   17146              :                                       }
   17147            0 :                                       tree res_op1;
   17148            0 :                                       res_op1 = captures[1];
   17149            0 :                                       tree res_op2;
   17150            0 :                                       res_op2 = captures[2];
   17151            0 :                                       tree _r;
   17152            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17153            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17154            0 :                                       return _r;
   17155              :                                     }
   17156            0 : next_after_fail1670:;
   17157              :                                   }
   17158              :                               }
   17159            0 :                               {
   17160            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17161            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17162            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17163              : )
   17164              :                                   {
   17165            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1671;
   17166            0 :                                     {
   17167            0 :                                       tree res_op0;
   17168            0 :                                       {
   17169            0 :                                         tree _o1[2], _r1;
   17170            0 :                                         _o1[0] = captures[0];
   17171            0 :                                         _o1[1] = captures[3];
   17172            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17173            0 :                                         res_op0 = _r1;
   17174              :                                       }
   17175            0 :                                       tree res_op1;
   17176            0 :                                       res_op1 = captures[1];
   17177            0 :                                       tree res_op2;
   17178            0 :                                       res_op2 = captures[2];
   17179            0 :                                       tree _r;
   17180            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17181            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17182            0 :                                       return _r;
   17183              :                                     }
   17184            0 : next_after_fail1671:;
   17185              :                                   }
   17186              :                               }
   17187            0 :                               {
   17188            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17189            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17190            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17191              : )
   17192              :                                   {
   17193            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1672;
   17194            0 :                                     {
   17195            0 :                                       tree res_op0;
   17196            0 :                                       {
   17197            0 :                                         tree _o1[2], _r1;
   17198            0 :                                         _o1[0] = captures[0];
   17199            0 :                                         _o1[1] = captures[3];
   17200            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17201            0 :                                         res_op0 = _r1;
   17202              :                                       }
   17203            0 :                                       tree res_op1;
   17204            0 :                                       res_op1 = captures[1];
   17205            0 :                                       tree res_op2;
   17206            0 :                                       res_op2 = captures[2];
   17207            0 :                                       tree _r;
   17208            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17209            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17210            0 :                                       return _r;
   17211              :                                     }
   17212            0 : next_after_fail1672:;
   17213              :                                   }
   17214              :                               }
   17215            0 :                               {
   17216            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17217            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17218            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17219              : )
   17220              :                                   {
   17221            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1673;
   17222            0 :                                     {
   17223            0 :                                       tree res_op0;
   17224            0 :                                       {
   17225            0 :                                         tree _o1[2], _r1;
   17226            0 :                                         _o1[0] = captures[0];
   17227            0 :                                         _o1[1] = captures[3];
   17228            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17229            0 :                                         res_op0 = _r1;
   17230              :                                       }
   17231            0 :                                       tree res_op1;
   17232            0 :                                       res_op1 = captures[1];
   17233            0 :                                       tree res_op2;
   17234            0 :                                       res_op2 = captures[2];
   17235            0 :                                       tree _r;
   17236            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17237            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17238            0 :                                       return _r;
   17239              :                                     }
   17240            0 : next_after_fail1673:;
   17241              :                                   }
   17242              :                               }
   17243            0 :                               {
   17244            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17245            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17246            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17247              : )
   17248              :                                   {
   17249            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1674;
   17250            0 :                                     {
   17251            0 :                                       tree res_op0;
   17252            0 :                                       {
   17253            0 :                                         tree _o1[2], _r1;
   17254            0 :                                         _o1[0] = captures[0];
   17255            0 :                                         _o1[1] = captures[3];
   17256            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17257            0 :                                         res_op0 = _r1;
   17258              :                                       }
   17259            0 :                                       tree res_op1;
   17260            0 :                                       res_op1 = captures[1];
   17261            0 :                                       tree res_op2;
   17262            0 :                                       res_op2 = captures[2];
   17263            0 :                                       tree _r;
   17264            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17265            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17266            0 :                                       return _r;
   17267              :                                     }
   17268            0 : next_after_fail1674:;
   17269              :                                   }
   17270              :                               }
   17271            0 :                               {
   17272            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17273            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17274            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17275              : )
   17276              :                                   {
   17277            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1675;
   17278            0 :                                     {
   17279            0 :                                       tree res_op0;
   17280            0 :                                       {
   17281            0 :                                         tree _o1[2], _r1;
   17282            0 :                                         _o1[0] = captures[0];
   17283            0 :                                         _o1[1] = captures[3];
   17284            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17285            0 :                                         res_op0 = _r1;
   17286              :                                       }
   17287            0 :                                       tree res_op1;
   17288            0 :                                       res_op1 = captures[1];
   17289            0 :                                       tree res_op2;
   17290            0 :                                       res_op2 = captures[2];
   17291            0 :                                       tree _r;
   17292            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17293            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17294            0 :                                       return _r;
   17295              :                                     }
   17296            0 : next_after_fail1675:;
   17297              :                                   }
   17298              :                               }
   17299            0 :                               {
   17300            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17301            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17302            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17303              : )
   17304              :                                   {
   17305            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1676;
   17306            0 :                                     {
   17307            0 :                                       tree res_op0;
   17308            0 :                                       {
   17309            0 :                                         tree _o1[2], _r1;
   17310            0 :                                         _o1[0] = captures[0];
   17311            0 :                                         _o1[1] = captures[3];
   17312            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17313            0 :                                         res_op0 = _r1;
   17314              :                                       }
   17315            0 :                                       tree res_op1;
   17316            0 :                                       res_op1 = captures[1];
   17317            0 :                                       tree res_op2;
   17318            0 :                                       res_op2 = captures[2];
   17319            0 :                                       tree _r;
   17320            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17321            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17322            0 :                                       return _r;
   17323              :                                     }
   17324            0 : next_after_fail1676:;
   17325              :                                   }
   17326              :                               }
   17327            0 :                               {
   17328            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17329            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17330            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17331              : )
   17332              :                                   {
   17333            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1677;
   17334            0 :                                     {
   17335            0 :                                       tree res_op0;
   17336            0 :                                       {
   17337            0 :                                         tree _o1[2], _r1;
   17338            0 :                                         _o1[0] = captures[0];
   17339            0 :                                         _o1[1] = captures[3];
   17340            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17341            0 :                                         res_op0 = _r1;
   17342              :                                       }
   17343            0 :                                       tree res_op1;
   17344            0 :                                       res_op1 = captures[1];
   17345            0 :                                       tree res_op2;
   17346            0 :                                       res_op2 = captures[2];
   17347            0 :                                       tree _r;
   17348            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17349            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17350            0 :                                       return _r;
   17351              :                                     }
   17352            0 : next_after_fail1677:;
   17353              :                                   }
   17354              :                               }
   17355            0 :                               {
   17356            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17357            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17358            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17359              : )
   17360              :                                   {
   17361            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1678;
   17362            0 :                                     {
   17363            0 :                                       tree res_op0;
   17364            0 :                                       {
   17365            0 :                                         tree _o1[2], _r1;
   17366            0 :                                         _o1[0] = captures[0];
   17367            0 :                                         _o1[1] = captures[3];
   17368            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17369            0 :                                         res_op0 = _r1;
   17370              :                                       }
   17371            0 :                                       tree res_op1;
   17372            0 :                                       res_op1 = captures[1];
   17373            0 :                                       tree res_op2;
   17374            0 :                                       res_op2 = captures[2];
   17375            0 :                                       tree _r;
   17376            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17377            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17378            0 :                                       return _r;
   17379              :                                     }
   17380            0 : next_after_fail1678:;
   17381              :                                   }
   17382              :                               }
   17383            0 :                               {
   17384            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17385            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17386            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17387              : )
   17388              :                                   {
   17389            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1679;
   17390            0 :                                     {
   17391            0 :                                       tree res_op0;
   17392            0 :                                       {
   17393            0 :                                         tree _o1[2], _r1;
   17394            0 :                                         _o1[0] = captures[0];
   17395            0 :                                         _o1[1] = captures[3];
   17396            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17397            0 :                                         res_op0 = _r1;
   17398              :                                       }
   17399            0 :                                       tree res_op1;
   17400            0 :                                       res_op1 = captures[1];
   17401            0 :                                       tree res_op2;
   17402            0 :                                       res_op2 = captures[2];
   17403            0 :                                       tree _r;
   17404            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17405            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17406            0 :                                       return _r;
   17407              :                                     }
   17408            0 : next_after_fail1679:;
   17409              :                                   }
   17410              :                               }
   17411            0 :                               {
   17412            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17413            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17414            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17415              : )
   17416              :                                   {
   17417            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1680;
   17418            0 :                                     {
   17419            0 :                                       tree res_op0;
   17420            0 :                                       {
   17421            0 :                                         tree _o1[2], _r1;
   17422            0 :                                         _o1[0] = captures[0];
   17423            0 :                                         _o1[1] = captures[3];
   17424            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17425            0 :                                         res_op0 = _r1;
   17426              :                                       }
   17427            0 :                                       tree res_op1;
   17428            0 :                                       res_op1 = captures[1];
   17429            0 :                                       tree res_op2;
   17430            0 :                                       res_op2 = captures[2];
   17431            0 :                                       tree _r;
   17432            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17433            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17434            0 :                                       return _r;
   17435              :                                     }
   17436            0 : next_after_fail1680:;
   17437              :                                   }
   17438              :                               }
   17439            0 :                               {
   17440            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17441            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17442            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17443              : )
   17444              :                                   {
   17445            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1681;
   17446            0 :                                     {
   17447            0 :                                       tree res_op0;
   17448            0 :                                       {
   17449            0 :                                         tree _o1[2], _r1;
   17450            0 :                                         _o1[0] = captures[0];
   17451            0 :                                         _o1[1] = captures[3];
   17452            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17453            0 :                                         res_op0 = _r1;
   17454              :                                       }
   17455            0 :                                       tree res_op1;
   17456            0 :                                       res_op1 = captures[1];
   17457            0 :                                       tree res_op2;
   17458            0 :                                       res_op2 = captures[2];
   17459            0 :                                       tree _r;
   17460            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17461            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17462            0 :                                       return _r;
   17463              :                                     }
   17464            0 : next_after_fail1681:;
   17465              :                                   }
   17466              :                               }
   17467            0 :                               {
   17468            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17469            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17470            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17471              : )
   17472              :                                   {
   17473            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1682;
   17474            0 :                                     {
   17475            0 :                                       tree res_op0;
   17476            0 :                                       {
   17477            0 :                                         tree _o1[2], _r1;
   17478            0 :                                         _o1[0] = captures[0];
   17479            0 :                                         _o1[1] = captures[3];
   17480            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17481            0 :                                         res_op0 = _r1;
   17482              :                                       }
   17483            0 :                                       tree res_op1;
   17484            0 :                                       res_op1 = captures[1];
   17485            0 :                                       tree res_op2;
   17486            0 :                                       res_op2 = captures[2];
   17487            0 :                                       tree _r;
   17488            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17489            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17490            0 :                                       return _r;
   17491              :                                     }
   17492            0 : next_after_fail1682:;
   17493              :                                   }
   17494              :                               }
   17495            0 :                               {
   17496            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17497            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17498            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17499              : )
   17500              :                                   {
   17501            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1683;
   17502            0 :                                     {
   17503            0 :                                       tree res_op0;
   17504            0 :                                       {
   17505            0 :                                         tree _o1[2], _r1;
   17506            0 :                                         _o1[0] = captures[0];
   17507            0 :                                         _o1[1] = captures[3];
   17508            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17509            0 :                                         res_op0 = _r1;
   17510              :                                       }
   17511            0 :                                       tree res_op1;
   17512            0 :                                       res_op1 = captures[1];
   17513            0 :                                       tree res_op2;
   17514            0 :                                       res_op2 = captures[2];
   17515            0 :                                       tree _r;
   17516            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17517            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17518            0 :                                       return _r;
   17519              :                                     }
   17520            0 : next_after_fail1683:;
   17521              :                                   }
   17522              :                               }
   17523            0 :                               {
   17524            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17525            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17526            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17527              : )
   17528              :                                   {
   17529            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1684;
   17530            0 :                                     {
   17531            0 :                                       tree res_op0;
   17532            0 :                                       {
   17533            0 :                                         tree _o1[2], _r1;
   17534            0 :                                         _o1[0] = captures[0];
   17535            0 :                                         _o1[1] = captures[3];
   17536            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17537            0 :                                         res_op0 = _r1;
   17538              :                                       }
   17539            0 :                                       tree res_op1;
   17540            0 :                                       res_op1 = captures[1];
   17541            0 :                                       tree res_op2;
   17542            0 :                                       res_op2 = captures[2];
   17543            0 :                                       tree _r;
   17544            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17545            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17546            0 :                                       return _r;
   17547              :                                     }
   17548            0 : next_after_fail1684:;
   17549              :                                   }
   17550              :                               }
   17551            0 :                               {
   17552            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17553            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17554            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17555              : )
   17556              :                                   {
   17557            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1685;
   17558            0 :                                     {
   17559            0 :                                       tree res_op0;
   17560            0 :                                       {
   17561            0 :                                         tree _o1[2], _r1;
   17562            0 :                                         _o1[0] = captures[0];
   17563            0 :                                         _o1[1] = captures[3];
   17564            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17565            0 :                                         res_op0 = _r1;
   17566              :                                       }
   17567            0 :                                       tree res_op1;
   17568            0 :                                       res_op1 = captures[1];
   17569            0 :                                       tree res_op2;
   17570            0 :                                       res_op2 = captures[2];
   17571            0 :                                       tree _r;
   17572            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17573            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17574            0 :                                       return _r;
   17575              :                                     }
   17576            0 : next_after_fail1685:;
   17577              :                                   }
   17578              :                               }
   17579            0 :                               {
   17580            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17581            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17582            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17583              : )
   17584              :                                   {
   17585            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1686;
   17586            0 :                                     {
   17587            0 :                                       tree res_op0;
   17588            0 :                                       {
   17589            0 :                                         tree _o1[2], _r1;
   17590            0 :                                         _o1[0] = captures[0];
   17591            0 :                                         _o1[1] = captures[3];
   17592            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17593            0 :                                         res_op0 = _r1;
   17594              :                                       }
   17595            0 :                                       tree res_op1;
   17596            0 :                                       res_op1 = captures[1];
   17597            0 :                                       tree res_op2;
   17598            0 :                                       res_op2 = captures[2];
   17599            0 :                                       tree _r;
   17600            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17601            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17602            0 :                                       return _r;
   17603              :                                     }
   17604            0 : next_after_fail1686:;
   17605              :                                   }
   17606              :                               }
   17607            0 :                               {
   17608            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17609            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17610            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17611              : )
   17612              :                                   {
   17613            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1687;
   17614            0 :                                     {
   17615            0 :                                       tree res_op0;
   17616            0 :                                       {
   17617            0 :                                         tree _o1[2], _r1;
   17618            0 :                                         _o1[0] = captures[0];
   17619            0 :                                         _o1[1] = captures[3];
   17620            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17621            0 :                                         res_op0 = _r1;
   17622              :                                       }
   17623            0 :                                       tree res_op1;
   17624            0 :                                       res_op1 = captures[1];
   17625            0 :                                       tree res_op2;
   17626            0 :                                       res_op2 = captures[2];
   17627            0 :                                       tree _r;
   17628            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17629            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17630            0 :                                       return _r;
   17631              :                                     }
   17632            0 : next_after_fail1687:;
   17633              :                                   }
   17634              :                               }
   17635            0 :                               {
   17636            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17637            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17638            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17639              : )
   17640              :                                   {
   17641            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1688;
   17642            0 :                                     {
   17643            0 :                                       tree res_op0;
   17644            0 :                                       {
   17645            0 :                                         tree _o1[2], _r1;
   17646            0 :                                         _o1[0] = captures[0];
   17647            0 :                                         _o1[1] = captures[3];
   17648            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17649            0 :                                         res_op0 = _r1;
   17650              :                                       }
   17651            0 :                                       tree res_op1;
   17652            0 :                                       res_op1 = captures[1];
   17653            0 :                                       tree res_op2;
   17654            0 :                                       res_op2 = captures[2];
   17655            0 :                                       tree _r;
   17656            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17657            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17658            0 :                                       return _r;
   17659              :                                     }
   17660            0 : next_after_fail1688:;
   17661              :                                   }
   17662              :                               }
   17663            0 :                               {
   17664            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17665            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17666            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17667              : )
   17668              :                                   {
   17669            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1689;
   17670            0 :                                     {
   17671            0 :                                       tree res_op0;
   17672            0 :                                       {
   17673            0 :                                         tree _o1[2], _r1;
   17674            0 :                                         _o1[0] = captures[0];
   17675            0 :                                         _o1[1] = captures[3];
   17676            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17677            0 :                                         res_op0 = _r1;
   17678              :                                       }
   17679            0 :                                       tree res_op1;
   17680            0 :                                       res_op1 = captures[1];
   17681            0 :                                       tree res_op2;
   17682            0 :                                       res_op2 = captures[2];
   17683            0 :                                       tree _r;
   17684            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17685            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17686            0 :                                       return _r;
   17687              :                                     }
   17688            0 : next_after_fail1689:;
   17689              :                                   }
   17690              :                               }
   17691            0 :                               {
   17692            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17693            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17694            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17695              : )
   17696              :                                   {
   17697            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1690;
   17698            0 :                                     {
   17699            0 :                                       tree res_op0;
   17700            0 :                                       {
   17701            0 :                                         tree _o1[2], _r1;
   17702            0 :                                         _o1[0] = captures[0];
   17703            0 :                                         _o1[1] = captures[3];
   17704            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17705            0 :                                         res_op0 = _r1;
   17706              :                                       }
   17707            0 :                                       tree res_op1;
   17708            0 :                                       res_op1 = captures[1];
   17709            0 :                                       tree res_op2;
   17710            0 :                                       res_op2 = captures[2];
   17711            0 :                                       tree _r;
   17712            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17713            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17714            0 :                                       return _r;
   17715              :                                     }
   17716            0 : next_after_fail1690:;
   17717              :                                   }
   17718              :                               }
   17719            0 :                               {
   17720            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17721            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17722            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17723              : )
   17724              :                                   {
   17725            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1691;
   17726            0 :                                     {
   17727            0 :                                       tree res_op0;
   17728            0 :                                       {
   17729            0 :                                         tree _o1[2], _r1;
   17730            0 :                                         _o1[0] = captures[0];
   17731            0 :                                         _o1[1] = captures[3];
   17732            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17733            0 :                                         res_op0 = _r1;
   17734              :                                       }
   17735            0 :                                       tree res_op1;
   17736            0 :                                       res_op1 = captures[1];
   17737            0 :                                       tree res_op2;
   17738            0 :                                       res_op2 = captures[2];
   17739            0 :                                       tree _r;
   17740            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17741            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17742            0 :                                       return _r;
   17743              :                                     }
   17744            0 : next_after_fail1691:;
   17745              :                                   }
   17746              :                               }
   17747            0 :                               {
   17748            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17749            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17750            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17751              : )
   17752              :                                   {
   17753            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1692;
   17754            0 :                                     {
   17755            0 :                                       tree res_op0;
   17756            0 :                                       {
   17757            0 :                                         tree _o1[2], _r1;
   17758            0 :                                         _o1[0] = captures[0];
   17759            0 :                                         _o1[1] = captures[3];
   17760            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17761            0 :                                         res_op0 = _r1;
   17762              :                                       }
   17763            0 :                                       tree res_op1;
   17764            0 :                                       res_op1 = captures[1];
   17765            0 :                                       tree res_op2;
   17766            0 :                                       res_op2 = captures[2];
   17767            0 :                                       tree _r;
   17768            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17769            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17770            0 :                                       return _r;
   17771              :                                     }
   17772            0 : next_after_fail1692:;
   17773              :                                   }
   17774              :                               }
   17775            0 :                               {
   17776            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17777            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17778            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17779              : )
   17780              :                                   {
   17781            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1693;
   17782            0 :                                     {
   17783            0 :                                       tree res_op0;
   17784            0 :                                       {
   17785            0 :                                         tree _o1[2], _r1;
   17786            0 :                                         _o1[0] = captures[0];
   17787            0 :                                         _o1[1] = captures[3];
   17788            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17789            0 :                                         res_op0 = _r1;
   17790              :                                       }
   17791            0 :                                       tree res_op1;
   17792            0 :                                       res_op1 = captures[1];
   17793            0 :                                       tree res_op2;
   17794            0 :                                       res_op2 = captures[2];
   17795            0 :                                       tree _r;
   17796            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17797            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17798            0 :                                       return _r;
   17799              :                                     }
   17800            0 : next_after_fail1693:;
   17801              :                                   }
   17802              :                               }
   17803            0 :                               {
   17804            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17805            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17806            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17807              : )
   17808              :                                   {
   17809            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1694;
   17810            0 :                                     {
   17811            0 :                                       tree res_op0;
   17812            0 :                                       {
   17813            0 :                                         tree _o1[2], _r1;
   17814            0 :                                         _o1[0] = captures[0];
   17815            0 :                                         _o1[1] = captures[3];
   17816            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17817            0 :                                         res_op0 = _r1;
   17818              :                                       }
   17819            0 :                                       tree res_op1;
   17820            0 :                                       res_op1 = captures[1];
   17821            0 :                                       tree res_op2;
   17822            0 :                                       res_op2 = captures[2];
   17823            0 :                                       tree _r;
   17824            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17825            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17826            0 :                                       return _r;
   17827              :                                     }
   17828            0 : next_after_fail1694:;
   17829              :                                   }
   17830              :                               }
   17831            0 :                               {
   17832            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17833            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17834            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17835              : )
   17836              :                                   {
   17837            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1695;
   17838            0 :                                     {
   17839            0 :                                       tree res_op0;
   17840            0 :                                       {
   17841            0 :                                         tree _o1[2], _r1;
   17842            0 :                                         _o1[0] = captures[0];
   17843            0 :                                         _o1[1] = captures[3];
   17844            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17845            0 :                                         res_op0 = _r1;
   17846              :                                       }
   17847            0 :                                       tree res_op1;
   17848            0 :                                       res_op1 = captures[1];
   17849            0 :                                       tree res_op2;
   17850            0 :                                       res_op2 = captures[2];
   17851            0 :                                       tree _r;
   17852            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17853            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17854            0 :                                       return _r;
   17855              :                                     }
   17856            0 : next_after_fail1695:;
   17857              :                                   }
   17858              :                               }
   17859            0 :                               {
   17860            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17861            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17862            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17863              : )
   17864              :                                   {
   17865            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1696;
   17866            0 :                                     {
   17867            0 :                                       tree res_op0;
   17868            0 :                                       {
   17869            0 :                                         tree _o1[2], _r1;
   17870            0 :                                         _o1[0] = captures[0];
   17871            0 :                                         _o1[1] = captures[3];
   17872            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17873            0 :                                         res_op0 = _r1;
   17874              :                                       }
   17875            0 :                                       tree res_op1;
   17876            0 :                                       res_op1 = captures[1];
   17877            0 :                                       tree res_op2;
   17878            0 :                                       res_op2 = captures[2];
   17879            0 :                                       tree _r;
   17880            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17881            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17882            0 :                                       return _r;
   17883              :                                     }
   17884            0 : next_after_fail1696:;
   17885              :                                   }
   17886              :                               }
   17887            0 :                               {
   17888            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17889            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17890            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17891              : )
   17892              :                                   {
   17893            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1697;
   17894            0 :                                     {
   17895            0 :                                       tree res_op0;
   17896            0 :                                       {
   17897            0 :                                         tree _o1[2], _r1;
   17898            0 :                                         _o1[0] = captures[0];
   17899            0 :                                         _o1[1] = captures[3];
   17900            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17901            0 :                                         res_op0 = _r1;
   17902              :                                       }
   17903            0 :                                       tree res_op1;
   17904            0 :                                       res_op1 = captures[1];
   17905            0 :                                       tree res_op2;
   17906            0 :                                       res_op2 = captures[2];
   17907            0 :                                       tree _r;
   17908            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17909            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17910            0 :                                       return _r;
   17911              :                                     }
   17912            0 : next_after_fail1697:;
   17913              :                                   }
   17914              :                               }
   17915            0 :                               {
   17916            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17917            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17918            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17919              : )
   17920              :                                   {
   17921            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1698;
   17922            0 :                                     {
   17923            0 :                                       tree res_op0;
   17924            0 :                                       {
   17925            0 :                                         tree _o1[2], _r1;
   17926            0 :                                         _o1[0] = captures[0];
   17927            0 :                                         _o1[1] = captures[3];
   17928            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17929            0 :                                         res_op0 = _r1;
   17930              :                                       }
   17931            0 :                                       tree res_op1;
   17932            0 :                                       res_op1 = captures[1];
   17933            0 :                                       tree res_op2;
   17934            0 :                                       res_op2 = captures[2];
   17935            0 :                                       tree _r;
   17936            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17937            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17938            0 :                                       return _r;
   17939              :                                     }
   17940            0 : next_after_fail1698:;
   17941              :                                   }
   17942              :                               }
   17943            0 :                               {
   17944            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17945            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17946            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17947              : )
   17948              :                                   {
   17949            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1699;
   17950            0 :                                     {
   17951            0 :                                       tree res_op0;
   17952            0 :                                       {
   17953            0 :                                         tree _o1[2], _r1;
   17954            0 :                                         _o1[0] = captures[0];
   17955            0 :                                         _o1[1] = captures[3];
   17956            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17957            0 :                                         res_op0 = _r1;
   17958              :                                       }
   17959            0 :                                       tree res_op1;
   17960            0 :                                       res_op1 = captures[1];
   17961            0 :                                       tree res_op2;
   17962            0 :                                       res_op2 = captures[2];
   17963            0 :                                       tree _r;
   17964            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17965            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17966            0 :                                       return _r;
   17967              :                                     }
   17968            0 : next_after_fail1699:;
   17969              :                                   }
   17970              :                               }
   17971            0 :                               {
   17972            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   17973            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   17974            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   17975              : )
   17976              :                                   {
   17977            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1700;
   17978            0 :                                     {
   17979            0 :                                       tree res_op0;
   17980            0 :                                       {
   17981            0 :                                         tree _o1[2], _r1;
   17982            0 :                                         _o1[0] = captures[0];
   17983            0 :                                         _o1[1] = captures[3];
   17984            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   17985            0 :                                         res_op0 = _r1;
   17986              :                                       }
   17987            0 :                                       tree res_op1;
   17988            0 :                                       res_op1 = captures[1];
   17989            0 :                                       tree res_op2;
   17990            0 :                                       res_op2 = captures[2];
   17991            0 :                                       tree _r;
   17992            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   17993            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   17994            0 :                                       return _r;
   17995              :                                     }
   17996            0 : next_after_fail1700:;
   17997              :                                   }
   17998              :                               }
   17999            0 :                               {
   18000            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
   18001            0 :                                 const enum tree_code lop = BIT_AND_EXPR;
   18002            0 :                                 if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
   18003              : )
   18004              :                                   {
   18005            0 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1701;
   18006            0 :                                     {
   18007            0 :                                       tree res_op0;
   18008            0 :                                       {
   18009            0 :                                         tree _o1[2], _r1;
   18010            0 :                                         _o1[0] = captures[0];
   18011            0 :                                         _o1[1] = captures[3];
   18012            0 :                                         _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18013            0 :                                         res_op0 = _r1;
   18014              :                                       }
   18015            0 :                                       tree res_op1;
   18016            0 :                                       res_op1 = captures[1];
   18017            0 :                                       tree res_op2;
   18018            0 :                                       res_op2 = captures[2];
   18019            0 :                                       tree _r;
   18020            0 :                                       _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18021            0 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
   18022            0 :                                       return _r;
   18023              :                                     }
   18024            0 : next_after_fail1701:;
   18025              :                                   }
   18026              :                               }
   18027              :                             }
   18028              :                         }
   18029              :                       break;
   18030              :                     }
   18031              :                   default:;
   18032              :                   }
   18033              :               }
   18034              :           }
   18035           18 :         {
   18036           18 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   18037           18 :           if (VECTOR_TYPE_P (type)
   18038           18 :  && (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
   18039              :  || types_match (type, TREE_TYPE (captures[2]))
   18040              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   18041              :  || (optimize_vectors_before_lowering_p ()
   18042              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   18043              : )
   18044              :             {
   18045           18 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1702;
   18046           18 :               {
   18047           18 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1702;
   18048           14 :                 tree res_op0;
   18049           14 :                 res_op0 = captures[1];
   18050           14 :                 tree res_op1;
   18051           14 :                 {
   18052           14 :                   tree _o1[2], _r1;
   18053           14 :                   _o1[0] = captures[2];
   18054           14 :                   _o1[1] = unshare_expr (captures[4]);
   18055           14 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18056           14 :                   if (EXPR_P (_r1))
   18057            0 :                     goto next_after_fail1702;
   18058           14 :                   res_op1 = _r1;
   18059              :                 }
   18060           14 :                 tree res_op2;
   18061           14 :                 {
   18062           14 :                   tree _o1[2], _r1;
   18063           14 :                   _o1[0] = captures[3];
   18064           14 :                   _o1[1] = captures[4];
   18065           14 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18066           14 :                   if (EXPR_P (_r1))
   18067            0 :                     goto next_after_fail1702;
   18068           14 :                   res_op2 = _r1;
   18069              :                 }
   18070           14 :                 tree _r;
   18071           14 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18072           14 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
   18073           14 :                 return _r;
   18074              :               }
   18075            4 : next_after_fail1702:;
   18076              :             }
   18077              :         }
   18078            4 :         break;
   18079              :       }
   18080       198902 :     case CALL_EXPR:
   18081       198902 :       switch (get_call_combined_fn (_p0))
   18082              :         {
   18083            0 :         case CFN_BUILT_IN_BSWAP128:
   18084            0 :           if (call_expr_nargs (_p0) == 1)
   18085              :     {
   18086            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18087            0 :               switch (TREE_CODE (_p1))
   18088              :                 {
   18089            0 :                 case INTEGER_CST:
   18090            0 :                   {
   18091            0 :                     {
   18092            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18093            0 :                       tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP128);
   18094            0 :                       if (res) return res;
   18095              :                     }
   18096            0 :                     break;
   18097              :                   }
   18098              :                 default:;
   18099              :                 }
   18100              :             }
   18101              :           break;
   18102            0 :         case CFN_BUILT_IN_BSWAP16:
   18103            0 :           if (call_expr_nargs (_p0) == 1)
   18104              :     {
   18105            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18106            0 :               switch (TREE_CODE (_p1))
   18107              :                 {
   18108            0 :                 case INTEGER_CST:
   18109            0 :                   {
   18110            0 :                     {
   18111            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18112            0 :                       tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP16);
   18113            0 :                       if (res) return res;
   18114              :                     }
   18115            0 :                     break;
   18116              :                   }
   18117              :                 default:;
   18118              :                 }
   18119              :             }
   18120              :           break;
   18121           10 :         case CFN_BUILT_IN_BSWAP32:
   18122           10 :           if (call_expr_nargs (_p0) == 1)
   18123              :     {
   18124           10 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18125           10 :               switch (TREE_CODE (_p1))
   18126              :                 {
   18127            9 :                 case INTEGER_CST:
   18128            9 :                   {
   18129            9 :                     {
   18130            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18131            9 :                       tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP32);
   18132            9 :                       if (res) return res;
   18133              :                     }
   18134            1 :                     break;
   18135              :                   }
   18136              :                 default:;
   18137              :                 }
   18138              :             }
   18139              :           break;
   18140            8 :         case CFN_BUILT_IN_BSWAP64:
   18141            8 :           if (call_expr_nargs (_p0) == 1)
   18142              :     {
   18143            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18144            8 :               switch (TREE_CODE (_p1))
   18145              :                 {
   18146            7 :                 case INTEGER_CST:
   18147            7 :                   {
   18148            7 :                     {
   18149            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   18150            7 :                       tree res = generic_simplify_483 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_BSWAP64);
   18151            7 :                       if (res) return res;
   18152              :                     }
   18153            1 :                     break;
   18154              :                   }
   18155              :                 default:;
   18156              :                 }
   18157              :             }
   18158              :           break;
   18159              :         default:;
   18160              :         }
   18161              :       break;
   18162      9111567 :     default:;
   18163              :     }
   18164      9111567 :   switch (TREE_CODE (_p1))
   18165              :     {
   18166            1 :     case VEC_COND_EXPR:
   18167            1 :       {
   18168            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
   18169            1 :         tree _q31 = TREE_OPERAND (_p1, 1);
   18170            1 :         tree _q32 = TREE_OPERAND (_p1, 2);
   18171            1 :         {
   18172            1 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   18173            1 :           if (VECTOR_TYPE_P (type)
   18174            1 :  && (TREE_CODE_CLASS (BIT_AND_EXPR) != tcc_comparison
   18175              :  || types_match (type, TREE_TYPE (captures[3]))
   18176              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   18177              :  || (optimize_vectors_before_lowering_p ()
   18178              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   18179              : )
   18180              :             {
   18181            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1703;
   18182            1 :               {
   18183            1 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1703;
   18184            0 :                 tree res_op0;
   18185            0 :                 res_op0 = captures[2];
   18186            0 :                 tree res_op1;
   18187            0 :                 {
   18188            0 :                   tree _o1[2], _r1;
   18189            0 :                   _o1[0] = unshare_expr (captures[0]);
   18190            0 :                   _o1[1] = captures[3];
   18191            0 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18192            0 :                   if (EXPR_P (_r1))
   18193            0 :                     goto next_after_fail1703;
   18194            0 :                   res_op1 = _r1;
   18195              :                 }
   18196            0 :                 tree res_op2;
   18197            0 :                 {
   18198            0 :                   tree _o1[2], _r1;
   18199            0 :                   _o1[0] = captures[0];
   18200            0 :                   _o1[1] = captures[4];
   18201            0 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, type, _o1[0], _o1[1]);
   18202            0 :                   if (EXPR_P (_r1))
   18203            0 :                     goto next_after_fail1703;
   18204            0 :                   res_op2 = _r1;
   18205              :                 }
   18206            0 :                 tree _r;
   18207            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   18208            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
   18209            0 :                 return _r;
   18210              :               }
   18211            1 : next_after_fail1703:;
   18212              :             }
   18213              :         }
   18214            1 :         break;
   18215              :       }
   18216      9111567 :     default:;
   18217              :     }
   18218      9111567 :   switch (TREE_CODE (_p0))
   18219              :     {
   18220            0 :     case ORDERED_EXPR:
   18221            0 :       {
   18222            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18223            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18224            0 :         switch (TREE_CODE (_p1))
   18225              :           {
   18226            0 :           case NE_EXPR:
   18227            0 :             {
   18228            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18229            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18230            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18231              :                 {
   18232            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18233              :                     {
   18234            0 :                       {
   18235            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   18236            0 :                         tree res = generic_simplify_484 (loc, type, _p0, _p1, captures);
   18237            0 :                         if (res) return res;
   18238              :                       }
   18239              :                     }
   18240              :                 }
   18241              :               break;
   18242              :             }
   18243            0 :           default:;
   18244              :           }
   18245            0 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   18246              :           {
   18247            0 :             switch (TREE_CODE (_p1))
   18248              :               {
   18249            0 :               case ORDERED_EXPR:
   18250            0 :                 {
   18251            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   18252            0 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   18253            0 :                   if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
   18254              :                     {
   18255            0 :                       {
   18256            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
   18257            0 :                         if (types_match (captures[0], captures[1])
   18258              : )
   18259              :                           {
   18260            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1704;
   18261            0 :                             {
   18262            0 :                               tree res_op0;
   18263            0 :                               res_op0 = captures[0];
   18264            0 :                               tree res_op1;
   18265            0 :                               res_op1 = captures[1];
   18266            0 :                               tree _r;
   18267            0 :                               _r = fold_build2_loc (loc, ORDERED_EXPR, type, res_op0, res_op1);
   18268            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1003, __FILE__, __LINE__, true);
   18269            0 :                               return _r;
   18270              :                             }
   18271            0 : next_after_fail1704:;
   18272              :                           }
   18273              :                       }
   18274              :                     }
   18275            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18276              :                     {
   18277            0 :                       {
   18278            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
   18279            0 :                         tree res = generic_simplify_485 (loc, type, _p0, _p1, captures);
   18280            0 :                         if (res) return res;
   18281              :                       }
   18282              :                     }
   18283            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18284              :                     {
   18285            0 :                       {
   18286            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
   18287            0 :                         tree res = generic_simplify_485 (loc, type, _p0, _p1, captures);
   18288            0 :                         if (res) return res;
   18289              :                       }
   18290              :                     }
   18291              :                   break;
   18292              :                 }
   18293              :               default:;
   18294              :               }
   18295              :           }
   18296            0 :         switch (TREE_CODE (_p1))
   18297              :           {
   18298            0 :           case ORDERED_EXPR:
   18299            0 :             {
   18300            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18301            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18302            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18303              :                 {
   18304            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18305              :                     {
   18306            0 :                       {
   18307            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   18308            0 :                         tree res = generic_simplify_486 (loc, type, _p0, _p1, captures);
   18309            0 :                         if (res) return res;
   18310              :                       }
   18311              :                     }
   18312              :                 }
   18313            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18314              :                 {
   18315            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18316              :                     {
   18317            0 :                       {
   18318            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
   18319            0 :                         tree res = generic_simplify_486 (loc, type, _p0, _p1, captures);
   18320            0 :                         if (res) return res;
   18321              :                       }
   18322              :                     }
   18323              :                 }
   18324              :               break;
   18325              :             }
   18326              :           default:;
   18327              :           }
   18328              :         break;
   18329              :       }
   18330          129 :     case NE_EXPR:
   18331          129 :       {
   18332          129 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18333          129 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18334          129 :         switch (TREE_CODE (_p1))
   18335              :           {
   18336            0 :           case ORDERED_EXPR:
   18337            0 :             {
   18338            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18339            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18340            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18341              :                 {
   18342            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18343              :                     {
   18344            0 :                       {
   18345            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   18346            0 :                         tree res = generic_simplify_484 (loc, type, _p0, _p1, captures);
   18347            0 :                         if (res) return res;
   18348              :                       }
   18349              :                     }
   18350              :                 }
   18351              :               break;
   18352              :             }
   18353              :           default:;
   18354              :           }
   18355              :         break;
   18356              :       }
   18357       501558 :     case MINUS_EXPR:
   18358       501558 :       {
   18359       501558 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18360       501558 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18361       501558 :         switch (TREE_CODE (_q20))
   18362              :           {
   18363       434762 :           CASE_CONVERT:
   18364       434762 :             {
   18365       434762 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18366       434762 :               switch (TREE_CODE (_q21))
   18367              :                 {
   18368       429860 :                 CASE_CONVERT:
   18369       429860 :                   {
   18370       429860 :                     tree _q50 = TREE_OPERAND (_q21, 0);
   18371       429860 :                     switch (TREE_CODE (_p1))
   18372              :                       {
   18373       429836 :                       case INTEGER_CST:
   18374       429836 :                         {
   18375       429836 :                           {
   18376       429836 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
   18377       429836 :                             tree res = generic_simplify_487 (loc, type, _p0, _p1, captures, MINUS_EXPR);
   18378       429836 :                             if (res) return res;
   18379              :                           }
   18380       429826 :                           break;
   18381              :                         }
   18382              :                       default:;
   18383              :                       }
   18384              :                     break;
   18385              :                   }
   18386              :                 default:;
   18387              :                 }
   18388              :               break;
   18389              :             }
   18390              :           default:;
   18391              :           }
   18392              :         break;
   18393              :       }
   18394       174446 :     case PLUS_EXPR:
   18395       174446 :       {
   18396       174446 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18397       174446 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18398       174446 :         switch (TREE_CODE (_q20))
   18399              :           {
   18400        52251 :           CASE_CONVERT:
   18401        52251 :             {
   18402        52251 :               tree _q30 = TREE_OPERAND (_q20, 0);
   18403        52251 :               switch (TREE_CODE (_q21))
   18404              :                 {
   18405          119 :                 CASE_CONVERT:
   18406          119 :                   {
   18407          119 :                     tree _q50 = TREE_OPERAND (_q21, 0);
   18408          119 :                     switch (TREE_CODE (_p1))
   18409              :                       {
   18410           60 :                       case INTEGER_CST:
   18411           60 :                         {
   18412           60 :                           {
   18413           60 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
   18414           60 :                             tree res = generic_simplify_487 (loc, type, _p0, _p1, captures, PLUS_EXPR);
   18415           60 :                             if (res) return res;
   18416              :                           }
   18417           45 :                           break;
   18418              :                         }
   18419              :                       default:;
   18420              :                       }
   18421              :                     break;
   18422              :                   }
   18423              :                 default:;
   18424              :                 }
   18425              :               break;
   18426              :             }
   18427              :           default:;
   18428              :           }
   18429              :         break;
   18430              :       }
   18431           80 :     case LT_EXPR:
   18432           80 :       {
   18433           80 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18434           80 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18435           80 :         switch (TREE_CODE (_p1))
   18436              :           {
   18437            8 :           case LT_EXPR:
   18438            8 :             {
   18439            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18440            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18441            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18442              :                 {
   18443            0 :                   {
   18444            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   18445            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   18446            0 :                     if (res) return res;
   18447              :                   }
   18448              :                 }
   18449            8 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18450              :                 {
   18451            0 :                   {
   18452            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   18453            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   18454            0 :                     if (res) return res;
   18455              :                   }
   18456              :                 }
   18457              :               break;
   18458              :             }
   18459            1 :           case GT_EXPR:
   18460            1 :             {
   18461            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18462            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18463            1 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18464              :                 {
   18465            0 :                   {
   18466            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   18467            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   18468            0 :                     if (res) return res;
   18469              :                   }
   18470              :                 }
   18471            1 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18472              :                 {
   18473            0 :                   {
   18474            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   18475            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   18476            0 :                     if (res) return res;
   18477              :                   }
   18478              :                 }
   18479              :               break;
   18480              :             }
   18481              :           default:;
   18482              :           }
   18483              :         break;
   18484              :       }
   18485           32 :     case LE_EXPR:
   18486           32 :       {
   18487           32 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18488           32 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18489           32 :         switch (TREE_CODE (_p1))
   18490              :           {
   18491            5 :           case LE_EXPR:
   18492            5 :             {
   18493            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18494            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18495            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18496              :                 {
   18497            0 :                   {
   18498            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   18499            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   18500            0 :                     if (res) return res;
   18501              :                   }
   18502              :                 }
   18503            5 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18504              :                 {
   18505            4 :                   {
   18506            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   18507            4 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   18508            4 :                     if (res) return res;
   18509              :                   }
   18510              :                 }
   18511              :               break;
   18512              :             }
   18513            0 :           case GE_EXPR:
   18514            0 :             {
   18515            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18516            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18517            0 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18518              :                 {
   18519            0 :                   {
   18520            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   18521            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   18522            0 :                     if (res) return res;
   18523              :                   }
   18524              :                 }
   18525            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18526              :                 {
   18527            0 :                   {
   18528            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   18529            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   18530            0 :                     if (res) return res;
   18531              :                   }
   18532              :                 }
   18533              :               break;
   18534              :             }
   18535              :           default:;
   18536              :           }
   18537              :         break;
   18538              :       }
   18539          348 :     case GT_EXPR:
   18540          348 :       {
   18541          348 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18542          348 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18543          348 :         switch (TREE_CODE (_p1))
   18544              :           {
   18545           85 :           case GT_EXPR:
   18546           85 :             {
   18547           85 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18548           85 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18549           85 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18550              :                 {
   18551            0 :                   {
   18552            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   18553            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   18554            0 :                     if (res) return res;
   18555              :                   }
   18556              :                 }
   18557           85 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18558              :                 {
   18559           35 :                   {
   18560           35 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   18561           35 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   18562           35 :                     if (res) return res;
   18563              :                   }
   18564              :                 }
   18565              :               break;
   18566              :             }
   18567           67 :           case LT_EXPR:
   18568           67 :             {
   18569           67 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18570           67 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18571           67 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18572              :                 {
   18573            0 :                   {
   18574            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   18575            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR);
   18576            0 :                     if (res) return res;
   18577              :                   }
   18578              :                 }
   18579           67 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18580              :                 {
   18581            0 :                   {
   18582            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   18583            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR);
   18584            0 :                     if (res) return res;
   18585              :                   }
   18586              :                 }
   18587              :               break;
   18588              :             }
   18589              :           default:;
   18590              :           }
   18591              :         break;
   18592              :       }
   18593           73 :     case GE_EXPR:
   18594           73 :       {
   18595           73 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18596           73 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18597           73 :         switch (TREE_CODE (_p1))
   18598              :           {
   18599           11 :           case GE_EXPR:
   18600           11 :             {
   18601           11 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18602           11 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18603           11 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   18604              :                 {
   18605            7 :                   {
   18606            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   18607            7 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   18608            7 :                     if (res) return res;
   18609              :                   }
   18610              :                 }
   18611           11 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   18612              :                 {
   18613            0 :                   {
   18614            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   18615            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   18616            0 :                     if (res) return res;
   18617              :                   }
   18618              :                 }
   18619              :               break;
   18620              :             }
   18621           17 :           case LE_EXPR:
   18622           17 :             {
   18623           17 :               tree _q50 = TREE_OPERAND (_p1, 0);
   18624           17 :               tree _q51 = TREE_OPERAND (_p1, 1);
   18625           17 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   18626              :                 {
   18627            0 :                   {
   18628            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   18629            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR);
   18630            0 :                     if (res) return res;
   18631              :                   }
   18632              :                 }
   18633           17 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   18634              :                 {
   18635            0 :                   {
   18636            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
   18637            0 :                     tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR);
   18638            0 :                     if (res) return res;
   18639              :                   }
   18640              :                 }
   18641              :               break;
   18642              :             }
   18643              :           default:;
   18644              :           }
   18645              :         break;
   18646              :       }
   18647        47686 :     case NEGATE_EXPR:
   18648        47686 :       {
   18649        47686 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18650        47686 :         if (integer_onep (_p1))
   18651              :           {
   18652         2047 :             {
   18653         2047 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   18654         2047 :               if (!TYPE_OVERFLOW_SANITIZED (type)
   18655              : )
   18656              :                 {
   18657         2034 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1705;
   18658         2034 :                   {
   18659         2034 :                     tree res_op0;
   18660         2034 :                     res_op0 = captures[0];
   18661         2034 :                     tree res_op1;
   18662         2034 :                     res_op1 = captures[1];
   18663         2034 :                     tree _r;
   18664         2034 :                     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
   18665         2034 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
   18666         2034 :                     return _r;
   18667              :                   }
   18668            0 : next_after_fail1705:;
   18669              :                 }
   18670              :             }
   18671              :           }
   18672              :         break;
   18673              :       }
   18674            1 :     case VEC_PERM_EXPR:
   18675            1 :       {
   18676            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
   18677            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
   18678            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
   18679            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
   18680              :           {
   18681            0 :             switch (TREE_CODE (_p1))
   18682              :               {
   18683            0 :               case VEC_PERM_EXPR:
   18684            0 :                 {
   18685            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
   18686            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
   18687            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
   18688            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
   18689              :                     {
   18690            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
   18691              :                         {
   18692            0 :                           {
   18693            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
   18694            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
   18695              : )
   18696              :                               {
   18697            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1706;
   18698            0 :                                 {
   18699            0 :                                   tree res_op0;
   18700            0 :                                   {
   18701            0 :                                     tree _o1[2], _r1;
   18702            0 :                                     _o1[0] = captures[0];
   18703            0 :                                     _o1[1] = captures[2];
   18704            0 :                                     _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   18705            0 :                                     captures[3] = _r1;
   18706              :                                   }
   18707            0 :                                   res_op0 = unshare_expr (captures[3]);
   18708            0 :                                   tree res_op1;
   18709            0 :                                   res_op1 = captures[3];
   18710            0 :                                   tree res_op2;
   18711            0 :                                   res_op2 = captures[1];
   18712            0 :                                   tree _r;
   18713            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
   18714            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
   18715            0 :                                   return _r;
   18716              :                                 }
   18717            0 : next_after_fail1706:;
   18718              :                               }
   18719              :                           }
   18720              :                         }
   18721              :                     }
   18722              :                   break;
   18723              :                 }
   18724              :               default:;
   18725              :               }
   18726              :           }
   18727              :         break;
   18728              :       }
   18729       198888 :     case CALL_EXPR:
   18730       198888 :       switch (get_call_combined_fn (_p0))
   18731              :         {
   18732            1 :         case CFN_BUILT_IN_POPCOUNT:
   18733            1 :           if (call_expr_nargs (_p0) == 1)
   18734              :     {
   18735            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18736            1 :               if (integer_onep (_p1))
   18737              :                 {
   18738            1 :                   {
   18739            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   18740            1 :                     tree res = generic_simplify_488 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT, CFN_BUILT_IN_PARITY);
   18741            1 :                     if (res) return res;
   18742              :                   }
   18743              :                 }
   18744              :             }
   18745              :           break;
   18746            1 :         case CFN_BUILT_IN_POPCOUNTLL:
   18747            1 :           if (call_expr_nargs (_p0) == 1)
   18748              :     {
   18749            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18750            1 :               if (integer_onep (_p1))
   18751              :                 {
   18752            1 :                   {
   18753            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   18754            1 :                     tree res = generic_simplify_488 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL, CFN_BUILT_IN_PARITYLL);
   18755            1 :                     if (res) return res;
   18756              :                   }
   18757              :                 }
   18758              :             }
   18759              :           break;
   18760            0 :         case CFN_POPCOUNT:
   18761            0 :           if (call_expr_nargs (_p0) == 1)
   18762              :     {
   18763            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18764            0 :               if (integer_onep (_p1))
   18765              :                 {
   18766            0 :                   {
   18767            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   18768            0 :                     tree res = generic_simplify_488 (loc, type, _p0, _p1, captures, CFN_POPCOUNT, CFN_PARITY);
   18769            0 :                     if (res) return res;
   18770              :                   }
   18771              :                 }
   18772              :             }
   18773              :           break;
   18774            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   18775            0 :           if (call_expr_nargs (_p0) == 1)
   18776              :     {
   18777            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18778            0 :               if (integer_onep (_p1))
   18779              :                 {
   18780            0 :                   {
   18781            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   18782            0 :                     tree res = generic_simplify_488 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX, CFN_BUILT_IN_PARITYIMAX);
   18783            0 :                     if (res) return res;
   18784              :                   }
   18785              :                 }
   18786              :             }
   18787              :           break;
   18788            1 :         case CFN_BUILT_IN_POPCOUNTL:
   18789            1 :           if (call_expr_nargs (_p0) == 1)
   18790              :     {
   18791            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   18792            1 :               if (integer_onep (_p1))
   18793              :                 {
   18794            1 :                   {
   18795            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   18796            1 :                     tree res = generic_simplify_488 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL, CFN_BUILT_IN_PARITYL);
   18797            1 :                     if (res) return res;
   18798              :                   }
   18799              :                 }
   18800              :             }
   18801              :           break;
   18802              :         default:;
   18803              :         }
   18804              :       break;
   18805              :     default:;
   18806              :     }
   18807              :   return NULL_TREE;
   18808              : }
   18809              : #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.