LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-5.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 41.7 % 10497 4373
Test Date: 2026-05-11 19:44:49 Functions: 74.0 % 77 57
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      1894354 : tree_power_of_two_cand (tree t, tree *res_ops)
      11              : {
      12      1894354 :   const tree type = TREE_TYPE (t);
      13      1894354 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14      1894354 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15      1893589 :   switch (TREE_CODE (t))
      16              :     {
      17      1568286 :     case INTEGER_CST:
      18      1568286 :       {
      19      1568286 :         {
      20      1568286 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      21      1568286 :           {
      22      1568286 :             res_ops[0] = captures[0];
      23      1568286 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 12, __FILE__, __LINE__, false);
      24              :             return true;
      25              :           }
      26              :         }
      27           16 :         break;
      28              :       }
      29           16 :     case LSHIFT_EXPR:
      30           16 :       {
      31           16 :         tree _p0 = TREE_OPERAND (t, 0);
      32           16 :         tree _p1 = TREE_OPERAND (t, 1);
      33           16 :         switch (TREE_CODE (_p0))
      34              :           {
      35           16 :           case INTEGER_CST:
      36           16 :             {
      37           16 :               {
      38           16 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      39           16 :                 {
      40           16 :                   res_ops[0] = captures[0];
      41           16 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 13, __FILE__, __LINE__, false);
      42           16 :                   return true;
      43              :                 }
      44              :               }
      45              :               break;
      46              :             }
      47              :           default:;
      48              :           }
      49              :         break;
      50              :       }
      51              :     default:;
      52              :     }
      53              :   return false;
      54              : }
      55              : 
      56              : bool
      57     79727733 : tree_with_possible_nonzero_bits (tree t)
      58              : {
      59     79727733 :   const tree type = TREE_TYPE (t);
      60     79727733 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      61     79727733 :   if (TREE_SIDE_EFFECTS (t)) return false;
      62     74731327 :   switch (TREE_CODE (t))
      63              :     {
      64      1987791 :     case BIT_AND_EXPR:
      65      1987791 :       {
      66      1987791 :         tree _p0 = TREE_OPERAND (t, 0);
      67      1987791 :         tree _p1 = TREE_OPERAND (t, 1);
      68      1987791 :         if (tree_with_possible_nonzero_bits_1 (_p0))
      69              :           {
      70       860959 :             {
      71       860959 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      72       860959 :               {
      73       860959 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 35, __FILE__, __LINE__, false);
      74       860959 :                 return true;
      75              :               }
      76              :             }
      77              :           }
      78      1126832 :         if (tree_with_possible_nonzero_bits_1 (_p1))
      79              :           {
      80       951890 :             {
      81       951890 :               tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      82       951890 :               {
      83       951890 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 35, __FILE__, __LINE__, false);
      84       951890 :                 return true;
      85              :               }
      86              :             }
      87              :           }
      88              :         break;
      89              :       }
      90     72918478 :     default:;
      91              :     }
      92     72918478 : if (tree_with_possible_nonzero_bits_1 (t))
      93              :   {
      94     40531837 :     {
      95     40531837 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      96     40531837 :       {
      97     40531837 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 36, __FILE__, __LINE__, false);
      98     40531837 :         return true;
      99              :       }
     100              :     }
     101              :   }
     102              :   return false;
     103              : }
     104              : 
     105              : bool
     106       747137 : tree_vec_same_elem_p (tree t)
     107              : {
     108       747137 :   const tree type = TREE_TYPE (t);
     109       747137 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     110       747137 :   if (TREE_SIDE_EFFECTS (t)) return false;
     111       747137 :   switch (TREE_CODE (t))
     112              :     {
     113            0 :     case VEC_DUPLICATE_EXPR:
     114            0 :       {
     115            0 :         tree _p0 = TREE_OPERAND (t, 0);
     116            0 :         {
     117            0 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
     118            0 :           {
     119            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 46, __FILE__, __LINE__, false);
     120            0 :             return true;
     121              :           }
     122              :         }
     123              :         break;
     124              :       }
     125              :     case CONSTRUCTOR:
     126              :       {
     127              :         {
     128              :           tree captures[1] ATTRIBUTE_UNUSED = { t };
     129              :           if (TREE_CODE (captures[0]) == SSA_NAME
     130              :  && uniform_vector_p (gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])))
     131              : )
     132              :             {
     133              :               {
     134              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 47, __FILE__, __LINE__, false);
     135              :                 return true;
     136              :               }
     137              :             }
     138              :         }
     139              :         break;
     140              :       }
     141       747137 :     default:;
     142              :     }
     143       747137 :   {
     144       747137 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
     145       747137 :     if (uniform_vector_p (captures[0])
     146              : )
     147              :       {
     148        13913 :         {
     149        13913 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 48, __FILE__, __LINE__, false);
     150        13913 :           return true;
     151              :         }
     152              :       }
     153              :   }
     154              :   return false;
     155              : }
     156              : 
     157              : tree
     158       221715 : generic_simplify_14 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     159              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     160              :  const enum tree_code ARG_UNUSED (op))
     161              : {
     162       221715 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     163       221715 :   {
     164       221715 :  bool wascmp;
     165       221715 :       if (types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
     166       221715 :  && bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
     167              : )
     168              :         {
     169           47 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail89;
     170           47 :           {
     171           47 :             tree res_op0;
     172           47 :             res_op0 =  wascmp
     173           47 :  ? constant_boolean_node (true, type)
     174           40 :  : build_all_ones_cst (TREE_TYPE (captures[0]));
     175           47 :             tree _r;
     176           47 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     177           47 :             if (TREE_SIDE_EFFECTS (captures[0]))
     178            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     179           47 :             if (TREE_SIDE_EFFECTS (captures[1]))
     180            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     181           47 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 62, __FILE__, __LINE__, true);
     182           47 :             return _r;
     183              :           }
     184            0 : next_after_fail89:;
     185              :         }
     186              :   }
     187       221668 :   return NULL_TREE;
     188              : }
     189              : 
     190              : tree
     191          510 : generic_simplify_24 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     192              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     193              :  const enum tree_code ARG_UNUSED (op))
     194              : {
     195          510 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     196          510 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     197          510 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[4]))
     198         1020 :  && (wi::to_wide (captures[2]) & wi::to_wide (captures[5])) == 0
     199              : )
     200              :     {
     201          101 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail99;
     202          101 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail99;
     203          101 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail99;
     204          101 :       {
     205          101 :         tree res_op0;
     206          101 :         {
     207          101 :           tree _o1[1], _r1;
     208          101 :           _o1[0] = captures[0];
     209          101 :           if (TREE_TYPE (_o1[0]) != type)
     210              :             {
     211            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     212              :             }
     213              :           else
     214              :             _r1 = _o1[0];
     215          101 :           res_op0 = _r1;
     216              :         }
     217          101 :         tree res_op1;
     218          101 :         {
     219          101 :           tree _o1[1], _r1;
     220          101 :           _o1[0] = captures[3];
     221          101 :           if (TREE_TYPE (_o1[0]) != type)
     222              :             {
     223            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     224              :             }
     225              :           else
     226              :             _r1 = _o1[0];
     227          101 :           res_op1 = _r1;
     228              :         }
     229          101 :         tree _r;
     230          101 :         _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     231          101 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 72, __FILE__, __LINE__, true);
     232          101 :         return _r;
     233              :       }
     234              : next_after_fail99:;
     235              :     }
     236              :   return NULL_TREE;
     237              : }
     238              : 
     239              : tree
     240           24 : generic_simplify_37 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     241              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     242              : {
     243           24 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     244           24 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     245              : )
     246              :     {
     247           24 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail114;
     248           24 :       {
     249           24 :         tree res_op0;
     250           24 :         {
     251           24 :           tree _o1[2], _r1;
     252           24 :           {
     253           24 :             tree _o2[1], _r2;
     254           24 :             _o2[0] = captures[2];
     255           24 :             if (TREE_TYPE (_o2[0]) != type)
     256              :               {
     257           24 :                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     258              :               }
     259              :             else
     260              :               _r2 = _o2[0];
     261           24 :             _o1[0] = _r2;
     262              :           }
     263           24 :           _o1[1] = captures[3];
     264           24 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     265           24 :           res_op0 = _r1;
     266              :         }
     267           24 :         tree _r;
     268           24 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     269           24 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 75, __FILE__, __LINE__, true);
     270           24 :         return _r;
     271              :       }
     272            0 : next_after_fail114:;
     273              :     }
     274              :   return NULL_TREE;
     275              : }
     276              : 
     277              : tree
     278           18 : generic_simplify_44 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     279              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     280              :  const enum tree_code ARG_UNUSED (op))
     281              : {
     282           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     283           36 :   if (INTEGRAL_TYPE_P (type)
     284           54 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[2])) == 0
     285              : )
     286              :     {
     287            0 :       {
     288            0 :  tree t = type;
     289            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     290            0 :  t = unsigned_type_for (t);
     291            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), 1);
     292            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail122;
     293            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail122;
     294            0 :           {
     295            0 :             tree res_op0;
     296            0 :             {
     297            0 :               tree _o1[2], _r1;
     298            0 :               {
     299            0 :                 tree _o2[1], _r2;
     300            0 :                 _o2[0] = captures[2];
     301            0 :                 if (TREE_TYPE (_o2[0]) != t)
     302              :                   {
     303            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     304              :                   }
     305              :                 else
     306              :                   _r2 = _o2[0];
     307            0 :                 _o1[0] = _r2;
     308              :               }
     309            0 :               _o1[1] =  wide_int_to_tree (t, c);
     310            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     311            0 :               res_op0 = _r1;
     312              :             }
     313            0 :             tree _r;
     314            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     315            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 88, __FILE__, __LINE__, true);
     316            0 :             return _r;
     317              :           }
     318            0 : next_after_fail122:;
     319            0 :       }
     320              :     }
     321              :   return NULL_TREE;
     322              : }
     323              : 
     324              : tree
     325         5301 : generic_simplify_52 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     326              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     327              : {
     328         5301 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     329         5301 :   if (fold_real_zero_addition_p (type, captures[0], captures[1], 0)
     330              : )
     331              :     {
     332           95 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail132;
     333           95 :       {
     334           95 :         tree res_op0;
     335           95 :         res_op0 = captures[0];
     336           95 :         tree _r;
     337           95 :         _r = non_lvalue_loc (loc, res_op0);
     338           95 :         if (TREE_SIDE_EFFECTS (captures[1]))
     339            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     340           95 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 100, __FILE__, __LINE__, true);
     341           95 :         return _r;
     342              :       }
     343            0 : next_after_fail132:;
     344              :     }
     345              :   return NULL_TREE;
     346              : }
     347              : 
     348              : tree
     349            0 : generic_simplify_57 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     350              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     351              : {
     352            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     353            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail138;
     354            0 :   {
     355            0 :     tree res_op0;
     356            0 :     res_op0 = captures[0];
     357            0 :     tree res_op1;
     358            0 :     res_op1 = captures[1];
     359            0 :     tree _r;
     360            0 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     361            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 106, __FILE__, __LINE__, true);
     362              :     return _r;
     363              :   }
     364            0 : next_after_fail138:;
     365            0 :   return NULL_TREE;
     366              : }
     367              : 
     368              : tree
     369          832 : generic_simplify_63 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     370              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     371              : {
     372          832 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     373          832 :   if (!TYPE_SATURATING (type)
     374              : )
     375              :     {
     376          832 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     377         1664 :  && !FIXED_POINT_TYPE_P (type)
     378              : )
     379              :         {
     380          832 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail152;
     381          832 :           {
     382          832 :             tree res_op0;
     383          832 :             res_op0 = captures[2];
     384          832 :             tree res_op1;
     385          832 :             res_op1 = captures[1];
     386          832 :             tree _r;
     387          832 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     388          832 :             if (TREE_SIDE_EFFECTS (captures[0]))
     389            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     390          832 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 120, __FILE__, __LINE__, true);
     391          832 :             return _r;
     392              :           }
     393            0 : next_after_fail152:;
     394              :         }
     395              :     }
     396              :   return NULL_TREE;
     397              : }
     398              : 
     399              : tree
     400         9075 : generic_simplify_70 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     401              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     402              :  const enum tree_code ARG_UNUSED (plusminus))
     403              : {
     404         9075 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     405         9075 :   if (!TYPE_SATURATING (type)
     406         9075 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     407              : )
     408              :     {
     409         8909 :       if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
     410              : )
     411              :         {
     412            4 :           if ((!ANY_INTEGRAL_TYPE_P (type)
     413         8905 :  || TYPE_OVERFLOW_WRAPS (type)
     414         3283 :  || (INTEGRAL_TYPE_P (type)
     415         3283 :  && ((tree_expr_nonzero_p (captures[0])
     416          136 :  && expr_not_equal_to (captures[0],
     417         9045 :  wi::minus_one (TYPE_PRECISION (type)),
     418              :  gimple_match_ctx (captures[1])))
     419              :  || (plusminus == PLUS_EXPR
     420         3147 :  ? expr_not_equal_to (captures[2],
     421         8927 :  wi::max_value (TYPE_PRECISION (type), SIGNED),
     422              :  gimple_match_ctx (captures[1]))
     423         3129 :  : (expr_not_equal_to (captures[2],
     424        12038 :  wi::min_value (TYPE_PRECISION (type), SIGNED),
     425              :  gimple_match_ctx (captures[1]))
     426         3105 :  && expr_not_equal_to (captures[2],
     427         6210 :  wi::min_value (TYPE_PRECISION (type), SIGNED)
     428        18224 :  + 1, gimple_match_ctx (captures[1])))))))
     429        12056 :  && single_use (captures[1])
     430              : )
     431              :             {
     432         8885 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail160;
     433         8885 :               {
     434         8885 :                 tree res_op0;
     435         8885 :                 {
     436         8885 :                   tree _o1[2], _r1;
     437         8885 :                   _o1[0] =  build_one_cst (type);
     438         8885 :                   _o1[1] = captures[2];
     439         8885 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     440         8885 :                   res_op0 = _r1;
     441              :                 }
     442         8885 :                 tree res_op1;
     443         8885 :                 res_op1 = captures[0];
     444         8885 :                 tree _r;
     445         8885 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     446         8885 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 128, __FILE__, __LINE__, true);
     447         8885 :                 return _r;
     448              :               }
     449            0 : next_after_fail160:;
     450              :             }
     451              :         }
     452              :     }
     453              :   return NULL_TREE;
     454              : }
     455              : 
     456              : tree
     457            4 : generic_simplify_81 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     458              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     459              :  const enum tree_code ARG_UNUSED (log1),
     460              :  const enum tree_code ARG_UNUSED (log2),
     461              :  const combined_fn ARG_UNUSED (popcount))
     462              : {
     463            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     464            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail172;
     465            4 :   {
     466            4 :     tree res_op0;
     467            4 :     {
     468            4 :       tree _o1[2], _r1;
     469            4 :       _o1[0] = captures[2];
     470            4 :       _o1[1] = captures[5];
     471            4 :       _r1 = fold_build2_loc (loc, log2, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     472            4 :       res_op0 = _r1;
     473              :     }
     474            4 :     tree _r;
     475            4 :     _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
     476            4 :     if (!_r)
     477            0 :       goto next_after_fail172;
     478            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 140, __FILE__, __LINE__, true);
     479              :     return _r;
     480              :   }
     481              : next_after_fail172:;
     482              :   return NULL_TREE;
     483              : }
     484              : 
     485              : tree
     486            0 : generic_simplify_87 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     487              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     488              : {
     489            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     490            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail178;
     491            0 :   {
     492            0 :     tree res_op0;
     493            0 :     res_op0 = unshare_expr (captures[2]);
     494            0 :     tree res_op1;
     495            0 :     {
     496            0 :       tree _o1[2], _r1;
     497            0 :       _o1[0] = captures[1];
     498            0 :       _o1[1] = captures[2];
     499            0 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     500            0 :       res_op1 = _r1;
     501              :     }
     502            0 :     tree _r;
     503            0 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     504            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 146, __FILE__, __LINE__, true);
     505              :     return _r;
     506              :   }
     507            0 : next_after_fail178:;
     508            0 :   return NULL_TREE;
     509              : }
     510              : 
     511              : tree
     512          178 : generic_simplify_95 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     513              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     514              : {
     515          178 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     516          178 :   if (!TYPE_SATURATING (type)
     517              : )
     518              :     {
     519          178 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     520          356 :  && !FIXED_POINT_TYPE_P (type)
     521              : )
     522              :         {
     523            0 :           if (!ANY_INTEGRAL_TYPE_P (type)
     524          178 :  || TYPE_OVERFLOW_WRAPS (type)
     525              : )
     526              :             {
     527          102 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail186;
     528          102 :               {
     529          102 :                 tree res_op0;
     530          102 :                 {
     531          102 :                   tree _o1[1], _r1;
     532          102 :                   _o1[0] = captures[1];
     533          102 :                   if (TREE_TYPE (_o1[0]) != type)
     534              :                     {
     535            0 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     536              :                     }
     537              :                   else
     538              :                     _r1 = _o1[0];
     539          102 :                   res_op0 = _r1;
     540              :                 }
     541          102 :                 tree _r;
     542          102 :                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     543          102 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     544            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     545          102 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 153, __FILE__, __LINE__, true);
     546          102 :                 return _r;
     547              :               }
     548            0 : next_after_fail186:;
     549              :             }
     550              :           else
     551              :             {
     552           76 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail187;
     553           76 :               {
     554           76 :                 tree res_op0;
     555           76 :                 {
     556           76 :                   tree _o1[1], _r1;
     557           76 :                   _o1[0] = captures[1];
     558           76 :                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     559           76 :                   res_op0 = _r1;
     560              :                 }
     561           76 :                 tree _r;
     562           76 :                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     563           76 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     564            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     565           76 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 154, __FILE__, __LINE__, true);
     566           76 :                 return _r;
     567              :               }
     568            0 : next_after_fail187:;
     569              :             }
     570              :         }
     571              :     }
     572              :   return NULL_TREE;
     573              : }
     574              : 
     575              : tree
     576            2 : generic_simplify_106 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     577              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     578              :  const combined_fn ARG_UNUSED (logs))
     579              : {
     580            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     581            2 :   if (flag_unsafe_math_optimizations
     582              : )
     583              :     {
     584            2 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
     585            2 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
     586            2 :  && ! flag_trapping_math
     587            4 :  && ! flag_errno_math
     588              : )
     589              :         {
     590            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail203;
     591            2 :           {
     592            2 :             tree res_op0;
     593            2 :             {
     594            2 :               tree _o1[2], _r1;
     595            2 :               _o1[0] = captures[1];
     596            2 :               _o1[1] = captures[3];
     597            2 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     598            2 :               res_op0 = _r1;
     599              :             }
     600            2 :             tree _r;
     601            2 :             _r = maybe_build_call_expr_loc (loc, logs, type, 1, res_op0);
     602            2 :             if (!_r)
     603            0 :               goto next_after_fail203;
     604            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 170, __FILE__, __LINE__, true);
     605            2 :             return _r;
     606              :           }
     607              : next_after_fail203:;
     608              :         }
     609              :     }
     610              :   return NULL_TREE;
     611              : }
     612              : 
     613              : tree
     614        19725 : generic_simplify_113 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     615              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     616              : {
     617        19725 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     618        19725 :   {
     619        19725 :  bool wascmp;
     620        19725 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
     621        19725 :  && (!wascmp || element_precision (type) == 1)
     622              : )
     623              :         {
     624            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail210;
     625            1 :           {
     626            1 :             tree res_op0;
     627            1 :             res_op0 = captures[0];
     628            1 :             tree res_op1;
     629            1 :             {
     630            1 :               tree _o1[1], _r1;
     631            1 :               _o1[0] = captures[3];
     632            1 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     633            1 :               res_op1 = _r1;
     634              :             }
     635            1 :             tree _r;
     636            1 :             _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     637            1 :             if (TREE_SIDE_EFFECTS (captures[2]))
     638            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     639            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 177, __FILE__, __LINE__, true);
     640            1 :             return _r;
     641              :           }
     642            0 : next_after_fail210:;
     643              :         }
     644              :   }
     645        19724 :   return NULL_TREE;
     646              : }
     647              : 
     648              : tree
     649            2 : generic_simplify_122 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     650              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     651              : {
     652            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     653            2 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail219;
     654            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail219;
     655            2 :   {
     656            2 :     tree res_op0;
     657            2 :     res_op0 = captures[0];
     658            2 :     tree res_op1;
     659            2 :     res_op1 = captures[3];
     660            2 :     tree _r;
     661            2 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     662            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 184, __FILE__, __LINE__, true);
     663              :     return _r;
     664              :   }
     665              : next_after_fail219:;
     666              :   return NULL_TREE;
     667              : }
     668              : 
     669              : tree
     670            0 : generic_simplify_133 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     671              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     672              :  const enum tree_code ARG_UNUSED (op))
     673              : {
     674            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     675            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail230;
     676            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail230;
     677            0 :   {
     678            0 :     tree _r;
     679            0 :     _r = captures[0];
     680            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 181, __FILE__, __LINE__, true);
     681              :     return _r;
     682              :   }
     683              : next_after_fail230:;
     684              :   return NULL_TREE;
     685              : }
     686              : 
     687              : tree
     688            2 : generic_simplify_142 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     689              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     690              :  const enum tree_code ARG_UNUSED (bitop),
     691              :  const enum tree_code ARG_UNUSED (rbitop))
     692              : {
     693            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     694            2 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail243;
     695            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail243;
     696            2 :   {
     697            2 :     tree res_op0;
     698            2 :     res_op0 = captures[0];
     699            2 :     tree res_op1;
     700            2 :     res_op1 = captures[2];
     701            2 :     tree _r;
     702            2 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     703            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 197, __FILE__, __LINE__, true);
     704              :     return _r;
     705              :   }
     706              : next_after_fail243:;
     707              :   return NULL_TREE;
     708              : }
     709              : 
     710              : tree
     711            2 : generic_simplify_147 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     712              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     713              :  const enum tree_code ARG_UNUSED (bitop),
     714              :  const enum tree_code ARG_UNUSED (rbitop))
     715              : {
     716            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     717            2 :   if (bitop == BIT_AND_EXPR
     718              : )
     719              :     {
     720            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail248;
     721            1 :       {
     722            1 :         tree _r;
     723            1 :         _r =  build_zero_cst (type);
     724            1 :         if (TREE_SIDE_EFFECTS (captures[0]))
     725            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     726            1 :         if (TREE_SIDE_EFFECTS (captures[1]))
     727            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     728            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 199, __FILE__, __LINE__, true);
     729            1 :         return _r;
     730              :       }
     731            0 : next_after_fail248:;
     732              :     }
     733              :   else
     734              :     {
     735            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail249;
     736            1 :       {
     737            1 :         tree _r;
     738            1 :         _r =  build_minus_one_cst (type);
     739            1 :         if (TREE_SIDE_EFFECTS (captures[0]))
     740            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     741            1 :         if (TREE_SIDE_EFFECTS (captures[1]))
     742            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     743            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 200, __FILE__, __LINE__, true);
     744            1 :         return _r;
     745              :       }
     746            0 : next_after_fail249:;
     747              :     }
     748              :   return NULL_TREE;
     749              : }
     750              : 
     751              : tree
     752           31 : generic_simplify_158 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     753              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     754              :  const enum tree_code ARG_UNUSED (code2),
     755              :  const enum tree_code ARG_UNUSED (code1))
     756              : {
     757           31 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     758           31 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     759            7 :  && TREE_CODE (captures[4]) == INTEGER_CST)
     760           31 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     761           24 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     762            0 :  && operand_equal_p (captures[2], captures[4]))
     763              : )
     764              :     {
     765            7 :       {
     766            7 :  int cmp = 0;
     767            7 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     768            7 :  && TREE_CODE (captures[4]) == INTEGER_CST)
     769            7 :  cmp = tree_int_cst_compare (captures[2], captures[4]);
     770            7 :           if ((code1 == LT_EXPR || code1 == LE_EXPR)
     771            7 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
     772              : )
     773              :             {
     774            7 :               if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
     775              : )
     776              :                 {
     777            7 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail275;
     778            7 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail275;
     779            7 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail275;
     780            7 :                   {
     781            7 :                     tree _r;
     782            7 :                     _r = captures[3];
     783            7 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
     784            7 :                     return _r;
     785              :                   }
     786              : next_after_fail275:;
     787              :                 }
     788              :               else
     789              :                 {
     790            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail276;
     791            0 :                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail276;
     792            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail276;
     793            0 :                   {
     794            0 :                     tree _r;
     795            0 :                     _r = captures[0];
     796            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 218, __FILE__, __LINE__, true);
     797            0 :                     return _r;
     798              :                   }
     799              : next_after_fail276:;
     800              :                 }
     801              :             }
     802              :           else
     803              :             {
     804            0 :               if ((code1 == GT_EXPR || code1 == GE_EXPR)
     805            0 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
     806              : )
     807              :                 {
     808            0 :                   if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
     809              : )
     810              :                     {
     811            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail277;
     812            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail277;
     813            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail277;
     814            0 :                       {
     815            0 :                         tree _r;
     816            0 :                         _r = captures[3];
     817            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 219, __FILE__, __LINE__, true);
     818            0 :                         return _r;
     819              :                       }
     820              : next_after_fail277:;
     821              :                     }
     822              :                   else
     823              :                     {
     824            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail278;
     825            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail278;
     826            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail278;
     827            0 :                       {
     828            0 :                         tree _r;
     829            0 :                         _r = captures[0];
     830            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 220, __FILE__, __LINE__, true);
     831            0 :                         return _r;
     832              :                       }
     833              : next_after_fail278:;
     834              :                     }
     835              :                 }
     836              :               else
     837              :                 {
     838            0 :                   if (cmp == 0
     839            0 :  && ((code1 == LT_EXPR && code2 == GT_EXPR)
     840            0 :  || (code1 == GT_EXPR && code2 == LT_EXPR))
     841              : )
     842              :                     {
     843            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail279;
     844            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail279;
     845            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail279;
     846            0 :                       {
     847            0 :                         tree res_op0;
     848            0 :                         res_op0 = captures[1];
     849            0 :                         tree res_op1;
     850            0 :                         res_op1 = captures[4];
     851            0 :                         tree _r;
     852            0 :                         _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
     853            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 221, __FILE__, __LINE__, true);
     854            0 :                         return _r;
     855              :                       }
     856              : next_after_fail279:;
     857              :                     }
     858              :                   else
     859              :                     {
     860            0 :                       if (cmp >= 0
     861            0 :  && (code1 == LT_EXPR || code1 == LE_EXPR)
     862            0 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
     863              : )
     864              :                         {
     865            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail280;
     866            0 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail280;
     867            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail280;
     868            0 :                           {
     869            0 :                             tree _r;
     870            0 :                             _r =  constant_boolean_node (true, type);
     871            0 :                             if (TREE_SIDE_EFFECTS (captures[1]))
     872            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     873            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 222, __FILE__, __LINE__, true);
     874            0 :                             return _r;
     875              :                           }
     876              : next_after_fail280:;
     877              :                         }
     878              :                       else
     879              :                         {
     880            0 :                           if (cmp <= 0
     881            0 :  && (code1 == GT_EXPR || code1 == GE_EXPR)
     882            0 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
     883              : )
     884              :                             {
     885            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail281;
     886            0 :                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail281;
     887            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail281;
     888            0 :                               {
     889            0 :                                 tree _r;
     890            0 :                                 _r =  constant_boolean_node (true, type);
     891            0 :                                 if (TREE_SIDE_EFFECTS (captures[1]))
     892            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     893            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 223, __FILE__, __LINE__, true);
     894            0 :                                 return _r;
     895              :                               }
     896              : next_after_fail281:;
     897              :                             }
     898              :                         }
     899              :                     }
     900              :                 }
     901              :             }
     902              :       }
     903              :     }
     904              :   return NULL_TREE;
     905              : }
     906              : 
     907              : tree
     908         1206 : generic_simplify_188 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     909              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     910              :  const enum tree_code ARG_UNUSED (cmp))
     911              : {
     912         1206 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     913         1206 :   if (fold_before_rtl_expansion_p ()
     914              : )
     915              :     {
     916            0 :       if (INTEGRAL_TYPE_P (type)
     917            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     918              : )
     919              :         {
     920            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail327;
     921            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail327;
     922            0 :           {
     923            0 :             tree res_op0;
     924            0 :             res_op0 = captures[0];
     925            0 :             tree res_op1;
     926            0 :             res_op1 = captures[3];
     927            0 :             tree res_op2;
     928            0 :             res_op2 =  build_zero_cst (type);
     929            0 :             tree _r;
     930            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     931            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 243, __FILE__, __LINE__, true);
     932            0 :             return _r;
     933              :           }
     934              : next_after_fail327:;
     935              :         }
     936              :     }
     937              :   return NULL_TREE;
     938              : }
     939              : 
     940              : tree
     941       169389 : generic_simplify_192 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     942              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     943              : {
     944       169389 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     945       169389 :   {
     946       169389 :  poly_widest_int factor;
     947       169389 :       if (multiple_p (wi::to_poly_widest (captures[2]), wi::to_widest (captures[1]), &factor)
     948              : )
     949              :         {
     950        51783 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail331;
     951        51783 :           {
     952        51783 :             tree res_op0;
     953        51783 :             {
     954        51783 :               tree _o1[1], _r1;
     955        51783 :               _o1[0] = captures[0];
     956        51783 :               if (TREE_TYPE (_o1[0]) != type)
     957              :                 {
     958         9754 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     959              :                 }
     960              :               else
     961              :                 _r1 = _o1[0];
     962        51783 :               res_op0 = _r1;
     963              :             }
     964        51783 :             tree res_op1;
     965        51783 :             res_op1 =  wide_int_to_tree (type, factor);
     966        51783 :             tree _r;
     967        51783 :             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     968        51783 :             if (TREE_SIDE_EFFECTS (captures[1]))
     969            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     970        51783 :             if (TREE_SIDE_EFFECTS (captures[2]))
     971            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     972        51783 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 246, __FILE__, __LINE__, true);
     973        51783 :             return _r;
     974              :           }
     975            0 : next_after_fail331:;
     976              :         }
     977       169389 :   }
     978       117606 :   return NULL_TREE;
     979              : }
     980              : 
     981              : tree
     982          171 : generic_simplify_202 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     983              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     984              :  const enum tree_code ARG_UNUSED (cmp))
     985              : {
     986          171 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     987          342 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     988          338 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE(captures[0]))
     989              : )
     990              :     {
     991            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail342;
     992            3 :       {
     993            3 :         tree res_op0;
     994            3 :         res_op0 = captures[0];
     995            3 :         tree res_op1;
     996            3 :         res_op1 =  build_zero_cst (TREE_TYPE(captures[0]));
     997            3 :         tree _r;
     998            3 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
     999            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 257, __FILE__, __LINE__, true);
    1000            3 :         return _r;
    1001              :       }
    1002            0 : next_after_fail342:;
    1003              :     }
    1004              :   return NULL_TREE;
    1005              : }
    1006              : 
    1007              : tree
    1008            4 : generic_simplify_209 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1009              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1010              : {
    1011            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1012            8 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1013            8 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
    1014              : )
    1015              :     {
    1016            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail352;
    1017            0 :       {
    1018            0 :         tree res_op0;
    1019            0 :         {
    1020            0 :           tree _o1[2], _r1;
    1021            0 :           _o1[0] = captures[1];
    1022            0 :           _o1[1] = captures[2];
    1023            0 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1024            0 :           res_op0 = _r1;
    1025              :         }
    1026            0 :         tree _r;
    1027            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1028            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 266, __FILE__, __LINE__, true);
    1029            0 :         return _r;
    1030              :       }
    1031            0 : next_after_fail352:;
    1032              :     }
    1033              :   return NULL_TREE;
    1034              : }
    1035              : 
    1036              : tree
    1037         1516 : generic_simplify_214 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1038              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1039              :  const enum tree_code ARG_UNUSED (cmp))
    1040              : {
    1041         1516 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1042         3032 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1043         1516 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
    1044         3032 :  && (TREE_INT_CST_LOW (captures[1]) & 1) != 0
    1045              : )
    1046              :     {
    1047           10 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail357;
    1048           10 :       {
    1049           10 :         tree res_op0;
    1050           10 :         res_op0 = captures[0];
    1051           10 :         tree res_op1;
    1052           10 :         res_op1 = captures[2];
    1053           10 :         tree _r;
    1054           10 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1055           10 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1056            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1057           10 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 271, __FILE__, __LINE__, true);
    1058           10 :         return _r;
    1059              :       }
    1060            0 : next_after_fail357:;
    1061              :     }
    1062              :   return NULL_TREE;
    1063              : }
    1064              : 
    1065              : tree
    1066            0 : generic_simplify_221 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1067              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1068              :  const enum tree_code ARG_UNUSED (op))
    1069              : {
    1070            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1071            0 :   if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1072            0 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1073            0 :  && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
    1074              : )
    1075              :     {
    1076            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail377;
    1077            0 :       {
    1078            0 :         tree res_op0;
    1079            0 :         res_op0 = captures[3];
    1080            0 :         tree res_op1;
    1081            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
    1082            0 :         tree _r;
    1083            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1084            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1085            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1086            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 287, __FILE__, __LINE__, true);
    1087            0 :         return _r;
    1088              :       }
    1089            0 : next_after_fail377:;
    1090              :     }
    1091              :   return NULL_TREE;
    1092              : }
    1093              : 
    1094              : tree
    1095            0 : generic_simplify_229 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1096              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1097              :  const enum tree_code ARG_UNUSED (cmp))
    1098              : {
    1099            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1100            0 :   if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1101            0 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1102              : )
    1103              :     {
    1104            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail385;
    1105            0 :       {
    1106            0 :         tree _r;
    1107            0 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1108            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1109            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1110            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1111            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1112            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1113            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1114            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 298, __FILE__, __LINE__, true);
    1115            0 :         return _r;
    1116              :       }
    1117            0 : next_after_fail385:;
    1118              :     }
    1119              :   else
    1120              :     {
    1121            0 :       if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1122            0 :  TYPE_SIGN (TREE_TYPE (captures[0])))
    1123              : )
    1124              :         {
    1125            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail386;
    1126            0 :           {
    1127            0 :             tree res_op0;
    1128            0 :             res_op0 = captures[0];
    1129            0 :             tree res_op1;
    1130            0 :             res_op1 = captures[2];
    1131            0 :             tree _r;
    1132            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1133            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1134            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1135            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 299, __FILE__, __LINE__, true);
    1136            0 :             return _r;
    1137              :           }
    1138            0 : next_after_fail386:;
    1139              :         }
    1140              :     }
    1141              :   return NULL_TREE;
    1142              : }
    1143              : 
    1144              : tree
    1145          391 : generic_simplify_240 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1146              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1147              :  const enum tree_code ARG_UNUSED (rotate),
    1148              :  const enum tree_code ARG_UNUSED (invrot),
    1149              :  const enum tree_code ARG_UNUSED (cmp))
    1150              : {
    1151          391 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1152          391 :   if (integer_zerop (captures[2]) || integer_all_onesp (captures[2])
    1153              : )
    1154              :     {
    1155            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail408;
    1156            0 :       {
    1157            0 :         tree res_op0;
    1158            0 :         res_op0 = captures[0];
    1159            0 :         tree res_op1;
    1160            0 :         res_op1 = captures[2];
    1161            0 :         tree _r;
    1162            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1163            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1164            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1165            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 321, __FILE__, __LINE__, true);
    1166            0 :         return _r;
    1167              :       }
    1168            0 : next_after_fail408:;
    1169              :     }
    1170              :   return NULL_TREE;
    1171              : }
    1172              : 
    1173              : tree
    1174        16190 : generic_simplify_247 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1175              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1176              :  const enum tree_code ARG_UNUSED (cmp))
    1177              : {
    1178        16190 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1179        16190 :   if (single_use (captures[0])
    1180              : )
    1181              :     {
    1182        16190 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail416;
    1183        16190 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail416;
    1184        16190 :       {
    1185        16190 :         tree res_op0;
    1186        16190 :         res_op0 = captures[1];
    1187        16190 :         tree res_op1;
    1188        16190 :         res_op1 = captures[2];
    1189        16190 :         tree _r;
    1190        16190 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1191        16190 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 328, __FILE__, __LINE__, true);
    1192        16190 :         return _r;
    1193              :       }
    1194              : next_after_fail416:;
    1195              :     }
    1196              :   return NULL_TREE;
    1197              : }
    1198              : 
    1199              : tree
    1200           30 : generic_simplify_254 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1201              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1202              :  const enum tree_code ARG_UNUSED (cmp))
    1203              : {
    1204           30 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1205           30 :   if (single_use (captures[1]) && single_use (captures[3])
    1206              : )
    1207              :     {
    1208           30 :       {
    1209           30 :  tree otype = TREE_TYPE (captures[0]);
    1210           30 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail428;
    1211           30 :           {
    1212           30 :             tree res_op0;
    1213           30 :             {
    1214           30 :               tree _o1[1], _r1;
    1215           30 :               _o1[0] = captures[4];
    1216           30 :               if (TREE_TYPE (_o1[0]) != otype)
    1217              :                 {
    1218            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1219              :                 }
    1220              :               else
    1221              :                 _r1 = _o1[0];
    1222           30 :               res_op0 = _r1;
    1223              :             }
    1224           30 :             tree res_op1;
    1225           30 :             {
    1226           30 :               tree _o1[1], _r1;
    1227           30 :               _o1[0] = captures[2];
    1228           30 :               if (TREE_TYPE (_o1[0]) != otype)
    1229              :                 {
    1230            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1231              :                 }
    1232              :               else
    1233              :                 _r1 = _o1[0];
    1234           30 :               res_op1 = _r1;
    1235              :             }
    1236           30 :             tree _r;
    1237           30 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1238           30 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 338, __FILE__, __LINE__, true);
    1239           30 :             return _r;
    1240              :           }
    1241            0 : next_after_fail428:;
    1242              :       }
    1243              :     }
    1244            0 :   return NULL_TREE;
    1245              : }
    1246              : 
    1247              : tree
    1248            6 : generic_simplify_259 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1249              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1250              :  const combined_fn ARG_UNUSED (sq),
    1251              :  const enum tree_code ARG_UNUSED (cmp))
    1252              : {
    1253            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1254            6 :   if (flag_unsafe_math_optimizations && ! flag_errno_math
    1255              : )
    1256              :     {
    1257            0 :       if (! HONOR_NANS (captures[0])
    1258              : )
    1259              :         {
    1260            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail465;
    1261            0 :           {
    1262            0 :             tree res_op0;
    1263            0 :             res_op0 = captures[0];
    1264            0 :             tree res_op1;
    1265            0 :             res_op1 = captures[1];
    1266            0 :             tree _r;
    1267            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1268            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 376, __FILE__, __LINE__, true);
    1269            0 :             return _r;
    1270              :           }
    1271            0 : next_after_fail465:;
    1272              :         }
    1273              :     }
    1274              :   return NULL_TREE;
    1275              : }
    1276              : 
    1277              : tree
    1278         2733 : generic_simplify_264 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1279              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1280              :  const enum tree_code ARG_UNUSED (cmp),
    1281              :  const enum tree_code ARG_UNUSED (scmp))
    1282              : {
    1283         2733 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1284         5096 :   if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1285         5096 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1286         2363 :  && (cmp == EQ_EXPR
    1287         2363 :  || cmp == NE_EXPR
    1288         1588 :  || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    1289              : )
    1290              :     {
    1291         1579 :       {
    1292         1579 :  tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (captures[0]), captures[1]);
    1293         1579 :           if (tem && !TREE_OVERFLOW (tem)
    1294              : )
    1295              :             {
    1296         1551 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail479;
    1297         1551 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail479;
    1298         1551 :               {
    1299         1551 :                 tree res_op0;
    1300         1551 :                 res_op0 = captures[0];
    1301         1551 :                 tree res_op1;
    1302         1551 :                 res_op1 =  tem;
    1303         1551 :                 tree _r;
    1304         1551 :                 _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1305         1551 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 390, __FILE__, __LINE__, true);
    1306         1551 :                 return _r;
    1307              :               }
    1308              : next_after_fail479:;
    1309              :             }
    1310              :       }
    1311              :     }
    1312              :   return NULL_TREE;
    1313              : }
    1314              : 
    1315              : tree
    1316          697 : generic_simplify_267 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1317              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1318              :  const enum tree_code ARG_UNUSED (cmp))
    1319              : {
    1320          697 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1321          697 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1322         1394 :  && wi::bit_and_not (wi::to_wide (captures[2]), wi::to_wide (captures[3])) != 0
    1323              : )
    1324              :     {
    1325            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail494;
    1326            0 :       {
    1327            0 :         tree _r;
    1328            0 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1329            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1330            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1331            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1332            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1333            0 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1334            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1335            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 398, __FILE__, __LINE__, true);
    1336            0 :         return _r;
    1337              :       }
    1338            0 : next_after_fail494:;
    1339              :     }
    1340              :   return NULL_TREE;
    1341              : }
    1342              : 
    1343              : tree
    1344           62 : generic_simplify_270 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1345              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1346              :  const enum tree_code ARG_UNUSED (cmp))
    1347              : {
    1348           62 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1349           62 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail500;
    1350           62 :   {
    1351           62 :     tree res_op0;
    1352           62 :     res_op0 = captures[1];
    1353           62 :     tree res_op1;
    1354           62 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1355           62 :     tree _r;
    1356           62 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1357           62 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1358            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1359           62 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 404, __FILE__, __LINE__, true);
    1360              :     return _r;
    1361              :   }
    1362            0 : next_after_fail500:;
    1363            0 :   return NULL_TREE;
    1364              : }
    1365              : 
    1366              : tree
    1367           26 : generic_simplify_274 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1368              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1369              :  const enum tree_code ARG_UNUSED (cmp))
    1370              : {
    1371           26 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1372           26 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1373              : )
    1374              :     {
    1375           26 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail504;
    1376           26 :       {
    1377           26 :         tree res_op0;
    1378           26 :         res_op0 = captures[1];
    1379           26 :         tree res_op1;
    1380           26 :         {
    1381           26 :           tree _o1[2], _r1;
    1382           26 :           _o1[0] = captures[2];
    1383           26 :           {
    1384           26 :             tree _o2[1], _r2;
    1385           26 :             _o2[0] = captures[3];
    1386           26 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
    1387              :               {
    1388            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
    1389              :               }
    1390              :             else
    1391              :               _r2 = _o2[0];
    1392           26 :             _o1[1] = _r2;
    1393              :           }
    1394           26 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1395           26 :           res_op1 = _r1;
    1396              :         }
    1397           26 :         tree _r;
    1398           26 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1399           26 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 408, __FILE__, __LINE__, true);
    1400           26 :         return _r;
    1401              :       }
    1402            0 : next_after_fail504:;
    1403              :     }
    1404              :   return NULL_TREE;
    1405              : }
    1406              : 
    1407              : tree
    1408       104897 : generic_simplify_278 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1409              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1410              :  const enum tree_code ARG_UNUSED (cmp),
    1411              :  const enum tree_code ARG_UNUSED (ncmp))
    1412              : {
    1413       104897 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1414       209375 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1415        58543 :  && type_has_mode_precision_p (TREE_TYPE (captures[1]))
    1416        57644 :  && element_precision (captures[0]) >= element_precision (captures[1])
    1417       209794 :  && wi::only_sign_bit_p (wi::to_wide (captures[2]), element_precision (captures[1]))
    1418              : )
    1419              :     {
    1420         4865 :       {
    1421         4865 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1422         4865 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail508;
    1423         4865 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail508;
    1424         4865 :           {
    1425         4865 :             tree res_op0;
    1426         4865 :             {
    1427         4865 :               tree _o1[1], _r1;
    1428         4865 :               _o1[0] = captures[1];
    1429         4865 :               if (TREE_TYPE (_o1[0]) != stype)
    1430              :                 {
    1431         4213 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1432              :                 }
    1433              :               else
    1434              :                 _r1 = _o1[0];
    1435         4865 :               res_op0 = _r1;
    1436              :             }
    1437         4865 :             tree res_op1;
    1438         4865 :             res_op1 =  build_zero_cst (stype);
    1439         4865 :             tree _r;
    1440         4865 :             _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1441         4865 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1442            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1443         4865 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 412, __FILE__, __LINE__, true);
    1444         4865 :             return _r;
    1445              :           }
    1446              : next_after_fail508:;
    1447              :       }
    1448              :     }
    1449              :   return NULL_TREE;
    1450              : }
    1451              : 
    1452              : tree
    1453      3005146 : generic_simplify_284 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1454              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1455              :  const enum tree_code ARG_UNUSED (cmp))
    1456              : {
    1457      3005146 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1458      3005146 :   {
    1459      3005146 :  poly_int64 off0, off1;
    1460      3005146 :  tree base0, base1;
    1461      3005146 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[2], base0, base1,
    1462              :  off0, off1,
    1463              : 1
    1464              : );
    1465      3005146 :       if (equal == 1
    1466              : )
    1467              :         {
    1468      2970460 :           if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
    1469              : )
    1470              :             {
    1471       193361 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail514;
    1472       193361 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail514;
    1473       193361 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail514;
    1474       193361 :               {
    1475       193361 :                 tree _r;
    1476       193361 :                 _r =  constant_boolean_node (known_eq (off0, off1), type);
    1477       193361 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 416, __FILE__, __LINE__, true);
    1478      2988364 :                 return _r;
    1479              :               }
    1480        16782 : next_after_fail514:;
    1481              :             }
    1482              :           else
    1483              :             {
    1484      2719575 :               if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
    1485              : )
    1486              :                 {
    1487      2719575 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail515;
    1488      2719575 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail515;
    1489      2719575 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail515;
    1490      2719575 :                   {
    1491      2719575 :                     tree _r;
    1492      2719575 :                     _r =  constant_boolean_node (known_ne (off0, off1), type);
    1493      2719575 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 417, __FILE__, __LINE__, true);
    1494      2719575 :                     return _r;
    1495              :                   }
    1496        16782 : next_after_fail515:;
    1497              :                 }
    1498              :               else
    1499              :                 {
    1500        50506 :                   if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
    1501              : )
    1502              :                     {
    1503        50506 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail516;
    1504        50506 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail516;
    1505        50506 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail516;
    1506        50506 :                       {
    1507        50506 :                         tree _r;
    1508        50506 :                         _r =  constant_boolean_node (known_lt (off0, off1), type);
    1509        50506 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 418, __FILE__, __LINE__, true);
    1510        50506 :                         return _r;
    1511              :                       }
    1512        16782 : next_after_fail516:;
    1513              :                     }
    1514              :                   else
    1515              :                     {
    1516         5325 :                       if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
    1517              : )
    1518              :                         {
    1519         5325 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail517;
    1520         5325 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail517;
    1521         5325 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail517;
    1522         5325 :                           {
    1523         5325 :                             tree _r;
    1524         5325 :                             _r =  constant_boolean_node (known_le (off0, off1), type);
    1525         5325 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 419, __FILE__, __LINE__, true);
    1526         5325 :                             return _r;
    1527              :                           }
    1528        16782 : next_after_fail517:;
    1529              :                         }
    1530              :                       else
    1531              :                         {
    1532         1200 :                           if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
    1533              : )
    1534              :                             {
    1535         1200 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail518;
    1536         1200 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail518;
    1537         1200 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail518;
    1538         1200 :                               {
    1539         1200 :                                 tree _r;
    1540         1200 :                                 _r =  constant_boolean_node (known_ge (off0, off1), type);
    1541         1200 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 420, __FILE__, __LINE__, true);
    1542         1200 :                                 return _r;
    1543              :                               }
    1544        16782 : next_after_fail518:;
    1545              :                             }
    1546              :                           else
    1547              :                             {
    1548          493 :                               if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
    1549              : )
    1550              :                                 {
    1551          493 :                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail519;
    1552          493 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail519;
    1553          493 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail519;
    1554          493 :                                   {
    1555          493 :                                     tree _r;
    1556          493 :                                     _r =  constant_boolean_node (known_gt (off0, off1), type);
    1557          493 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 421, __FILE__, __LINE__, true);
    1558          493 :                                     return _r;
    1559              :                                   }
    1560        16782 : next_after_fail519:;
    1561              :                                 }
    1562              :                             }
    1563              :                         }
    1564              :                     }
    1565              :                 }
    1566              :             }
    1567              :         }
    1568              :       else
    1569              :         {
    1570        34686 :           if (equal == 0
    1571              : )
    1572              :             {
    1573        17904 :               if (cmp == EQ_EXPR
    1574              : )
    1575              :                 {
    1576        11875 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail520;
    1577        11875 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail520;
    1578        11875 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail520;
    1579        11875 :                   {
    1580        11875 :                     tree _r;
    1581        11875 :                     _r =  constant_boolean_node (false, type);
    1582        11875 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 422, __FILE__, __LINE__, true);
    1583        11875 :                     return _r;
    1584              :                   }
    1585        16782 : next_after_fail520:;
    1586              :                 }
    1587              :               else
    1588              :                 {
    1589         6029 :                   if (cmp == NE_EXPR
    1590              : )
    1591              :                     {
    1592         6029 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail521;
    1593         6029 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail521;
    1594         6029 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail521;
    1595         6029 :                       {
    1596         6029 :                         tree _r;
    1597         6029 :                         _r =  constant_boolean_node (true, type);
    1598         6029 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 423, __FILE__, __LINE__, true);
    1599         6029 :                         return _r;
    1600              :                       }
    1601        16782 : next_after_fail521:;
    1602              :                     }
    1603              :                 }
    1604              :             }
    1605              :         }
    1606              :   }
    1607        16782 :   return NULL_TREE;
    1608              : }
    1609              : 
    1610              : tree
    1611       283507 : generic_simplify_299 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1612              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1613              :  const enum tree_code ARG_UNUSED (cmp),
    1614              :  const enum tree_code ARG_UNUSED (icmp),
    1615              :  const enum tree_code ARG_UNUSED (ncmp))
    1616              : {
    1617       283507 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1618       283507 :   if (types_match (type, TREE_TYPE (captures[0]))
    1619              : )
    1620              :     {
    1621        46563 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail562;
    1622        46563 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail562;
    1623        46563 :       {
    1624        46563 :         tree res_op0;
    1625        46563 :         res_op0 = captures[1];
    1626        46563 :         tree res_op1;
    1627        46563 :         res_op1 = captures[2];
    1628        46563 :         tree _r;
    1629        46563 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1630        46563 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 456, __FILE__, __LINE__, true);
    1631        46563 :         return _r;
    1632              :       }
    1633              : next_after_fail562:;
    1634              :     }
    1635              :   return NULL_TREE;
    1636              : }
    1637              : 
    1638              : tree
    1639            0 : generic_simplify_305 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1640              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1641              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1642              : {
    1643            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1644            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail569;
    1645            0 :   {
    1646            0 :     tree _r;
    1647            0 :     _r = captures[0];
    1648            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 463, __FILE__, __LINE__, true);
    1649              :     return _r;
    1650              :   }
    1651            0 : next_after_fail569:;
    1652            0 :   return NULL_TREE;
    1653              : }
    1654              : 
    1655              : tree
    1656         2362 : generic_simplify_310 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1657              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1658              :  const enum tree_code ARG_UNUSED (div))
    1659              : {
    1660         2362 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1661         2362 :   if (!integer_zerop (captures[1])
    1662              : )
    1663              :     {
    1664         1737 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail576;
    1665         1737 :       {
    1666         1737 :         tree _r;
    1667         1737 :         _r = captures[0];
    1668         1737 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1669           59 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1670         1737 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 468, __FILE__, __LINE__, true);
    1671         1737 :         return _r;
    1672              :       }
    1673            0 : next_after_fail576:;
    1674              :     }
    1675              :   return NULL_TREE;
    1676              : }
    1677              : 
    1678              : tree
    1679         9067 : generic_simplify_316 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1680              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1681              :  const enum tree_code ARG_UNUSED (div))
    1682              : {
    1683         9067 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1684         9067 :   {
    1685         9067 :  wi::overflow_type overflow;
    1686         9067 :  wide_int mul = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[3]),
    1687        18134 :  TYPE_SIGN (type), &overflow);
    1688         9067 :       if (div == EXACT_DIV_EXPR
    1689         9067 :  || optimize_successive_divisions_p (captures[3], captures[0])
    1690              : )
    1691              :         {
    1692            0 :           if (!overflow
    1693              : )
    1694              :             {
    1695            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail582;
    1696            0 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail582;
    1697            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail582;
    1698            0 :               {
    1699            0 :                 tree res_op0;
    1700            0 :                 res_op0 = captures[1];
    1701            0 :                 tree res_op1;
    1702            0 :                 res_op1 =  wide_int_to_tree (type, mul);
    1703            0 :                 tree _r;
    1704            0 :                 _r = fold_build2_loc (loc, div, type, res_op0, res_op1);
    1705            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 474, __FILE__, __LINE__, true);
    1706            0 :                 return _r;
    1707              :               }
    1708         9067 : next_after_fail582:;
    1709              :             }
    1710              :           else
    1711              :             {
    1712            0 :               if (TYPE_UNSIGNED (type)
    1713            0 :  || mul != wi::min_value (TYPE_PRECISION (type), SIGNED)
    1714              : )
    1715              :                 {
    1716            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail583;
    1717            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail583;
    1718            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail583;
    1719            0 :                   {
    1720            0 :                     tree _r;
    1721            0 :                     _r =  build_zero_cst (type);
    1722            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1723            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1724            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 475, __FILE__, __LINE__, true);
    1725            0 :                     return _r;
    1726              :                   }
    1727         9067 : next_after_fail583:;
    1728              :                 }
    1729              :             }
    1730              :         }
    1731            0 :   }
    1732         9067 :   return NULL_TREE;
    1733              : }
    1734              : 
    1735              : tree
    1736            2 : generic_simplify_329 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1737              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1738              : {
    1739            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1740            0 :   if (FLOAT_TYPE_P (type)
    1741            2 :  && ! HONOR_NANS (type)
    1742            2 :  && ! HONOR_INFINITIES (type)
    1743              : )
    1744              :     {
    1745            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail596;
    1746            0 :       {
    1747            0 :         tree _r;
    1748            0 :         _r =  build_minus_one_cst (type);
    1749            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1750            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1751            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 488, __FILE__, __LINE__, true);
    1752            0 :         return _r;
    1753              :       }
    1754            0 : next_after_fail596:;
    1755              :     }
    1756              :   return NULL_TREE;
    1757              : }
    1758              : 
    1759              : tree
    1760            6 : generic_simplify_337 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1761              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1762              :  const combined_fn ARG_UNUSED (TAN),
    1763              :  const combined_fn ARG_UNUSED (SIN),
    1764              :  const combined_fn ARG_UNUSED (COS))
    1765              : {
    1766            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1767            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1768              : )
    1769              :     {
    1770            6 :       if (! HONOR_NANS (captures[1])
    1771            6 :  && ! HONOR_INFINITIES (captures[1])
    1772              : )
    1773              :         {
    1774            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail606;
    1775            6 :           {
    1776            6 :             tree res_op0;
    1777            6 :             res_op0 =  build_one_cst (type);
    1778            6 :             tree res_op1;
    1779            6 :             {
    1780            6 :               tree _o1[1], _r1;
    1781            6 :               _o1[0] = captures[1];
    1782            6 :               _r1 = maybe_build_call_expr_loc (loc, COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1783            6 :               if (!_r1)
    1784            0 :                 goto next_after_fail606;
    1785            6 :               res_op1 = _r1;
    1786              :             }
    1787            6 :             tree _r;
    1788            6 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1789            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 498, __FILE__, __LINE__, true);
    1790            6 :             return _r;
    1791              :           }
    1792              : next_after_fail606:;
    1793              :         }
    1794              :     }
    1795              :   return NULL_TREE;
    1796              : }
    1797              : 
    1798              : tree
    1799            0 : generic_simplify_346 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1800              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1801              :  const enum tree_code ARG_UNUSED (cmp),
    1802              :  const enum tree_code ARG_UNUSED (minmax))
    1803              : {
    1804            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1805            0 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1806            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1807              : )
    1808              :     {
    1809            0 :       {
    1810            0 :  tree_code code;
    1811            0 :  widest_int c1 = wi::mask<widest_int>(TYPE_PRECISION (type) - 1, 0);
    1812            0 :  tree_code ncmp = cmp == GE_EXPR ? LE_EXPR : GT_EXPR;
    1813            0 :  code = minmax_from_comparison (ncmp, captures[0], c1, wi::to_widest (captures[4]));
    1814            0 :           if (ncmp == LE_EXPR
    1815            0 :  && code == MIN_EXPR
    1816            0 :  && wi::le_p (wi::to_wide (captures[3]),
    1817            0 :  wi::to_wide (captures[4]),
    1818            0 :  TYPE_SIGN (type))
    1819              : )
    1820              :             {
    1821            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail620;
    1822            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail620;
    1823            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail620;
    1824            0 :               {
    1825            0 :                 tree res_op0;
    1826            0 :                 res_op0 = captures[2];
    1827            0 :                 tree res_op1;
    1828            0 :                 res_op1 = captures[4];
    1829            0 :                 tree _r;
    1830            0 :                 _r = fold_build2_loc (loc, MIN_EXPR, type, res_op0, res_op1);
    1831            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1832            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1833            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 512, __FILE__, __LINE__, true);
    1834            0 :                 return _r;
    1835              :               }
    1836            0 : next_after_fail620:;
    1837              :             }
    1838              :           else
    1839              :             {
    1840            0 :               if (ncmp == GT_EXPR
    1841            0 :  && code == MAX_EXPR
    1842            0 :  && wi::ge_p (wi::to_wide (captures[3]),
    1843            0 :  wi::to_wide (captures[4]),
    1844            0 :  TYPE_SIGN (type))
    1845              : )
    1846              :                 {
    1847            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail621;
    1848            0 :                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail621;
    1849            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail621;
    1850            0 :                   {
    1851            0 :                     tree res_op0;
    1852            0 :                     res_op0 = captures[2];
    1853            0 :                     tree res_op1;
    1854            0 :                     res_op1 = captures[4];
    1855            0 :                     tree _r;
    1856            0 :                     _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
    1857            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1858            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1859            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 513, __FILE__, __LINE__, true);
    1860            0 :                     return _r;
    1861              :                   }
    1862            0 : next_after_fail621:;
    1863              :                 }
    1864              :             }
    1865            0 :       }
    1866              :     }
    1867              :   return NULL_TREE;
    1868              : }
    1869              : 
    1870              : tree
    1871            0 : generic_simplify_363 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1872              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1873              :  const enum tree_code ARG_UNUSED (op))
    1874              : {
    1875            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1876            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail638;
    1877            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail638;
    1878            0 :   {
    1879            0 :     tree _r;
    1880            0 :     _r = captures[2];
    1881            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 530, __FILE__, __LINE__, true);
    1882              :     return _r;
    1883              :   }
    1884              : next_after_fail638:;
    1885              :   return NULL_TREE;
    1886              : }
    1887              : 
    1888              : tree
    1889            0 : generic_simplify_368 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1890              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1891              :  const combined_fn ARG_UNUSED (func))
    1892              : {
    1893            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1894            0 :   if (wi::to_widest (captures[4]) == TYPE_PRECISION (TREE_TYPE (captures[3])) - 1
    1895              : )
    1896              :     {
    1897            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail644;
    1898            0 :       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail644;
    1899            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail644;
    1900            0 :       {
    1901            0 :         tree _r;
    1902            0 :         _r = captures[2];
    1903            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1904            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1905            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 536, __FILE__, __LINE__, true);
    1906            0 :         return _r;
    1907              :       }
    1908              : next_after_fail644:;
    1909              :     }
    1910              :   return NULL_TREE;
    1911              : }
    1912              : 
    1913              : tree
    1914        19737 : generic_simplify_376 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1915              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1916              :  const enum tree_code ARG_UNUSED (cmp))
    1917              : {
    1918        19737 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1919        39474 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1920        39413 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1921              : )
    1922              :     {
    1923        16258 :       if (tree_expr_nonnegative_p (captures[1]) && tree_expr_nonzero_p (captures[1])
    1924              : )
    1925              :         {
    1926        12742 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail655;
    1927        12742 :           {
    1928        12742 :             tree res_op0;
    1929        12742 :             res_op0 = captures[0];
    1930        12742 :             tree res_op1;
    1931        12742 :             res_op1 = captures[2];
    1932        12742 :             tree _r;
    1933        12742 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1934        12742 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1935            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1936        12742 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 545, __FILE__, __LINE__, true);
    1937        12742 :             return _r;
    1938              :           }
    1939            0 : next_after_fail655:;
    1940              :         }
    1941              :       else
    1942              :         {
    1943         3516 :           if (TREE_CODE (captures[1]) == INTEGER_CST
    1944         3516 :  && wi::neg_p (wi::to_wide (captures[1]), TYPE_SIGN (TREE_TYPE (captures[1])))
    1945              : )
    1946              :             {
    1947         1076 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail656;
    1948         1076 :               {
    1949         1076 :                 tree res_op0;
    1950         1076 :                 res_op0 = captures[2];
    1951         1076 :                 tree res_op1;
    1952         1076 :                 res_op1 = captures[0];
    1953         1076 :                 tree _r;
    1954         1076 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1955         1076 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1956            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1957         1076 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 546, __FILE__, __LINE__, true);
    1958         1076 :                 return _r;
    1959              :               }
    1960            0 : next_after_fail656:;
    1961              :             }
    1962              :         }
    1963              :     }
    1964              :   return NULL_TREE;
    1965              : }
    1966              : 
    1967              : tree
    1968        37358 : generic_simplify_389 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1969              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1970              :  const enum tree_code ARG_UNUSED (cmp),
    1971              :  const enum tree_code ARG_UNUSED (out))
    1972              : {
    1973        37358 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1974        37358 :   if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    1975        37342 :  && types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[0]))
    1976        37342 :  && tree_nop_conversion_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
    1977        37358 :  && wi::to_wide (captures[4]) != 0
    1978            0 :  && single_use (captures[1])
    1979              : )
    1980              :     {
    1981        37342 :       {
    1982        37342 :  unsigned int prec = TYPE_PRECISION (TREE_TYPE (captures[3]));
    1983        37342 :  signop sign = TYPE_SIGN (TREE_TYPE (captures[3]));
    1984        37342 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail670;
    1985        37342 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail670;
    1986        37342 :           {
    1987        37342 :             tree res_op0;
    1988        37342 :             res_op0 = captures[3];
    1989        37342 :             tree res_op1;
    1990        37342 :             res_op1 =  wide_int_to_tree (TREE_TYPE (captures[3]),
    1991        37342 :  wi::max_value (prec, sign)
    1992       112026 :  - wi::to_wide (captures[4]));
    1993        37342 :             tree _r;
    1994        37342 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    1995        37342 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 560, __FILE__, __LINE__, true);
    1996        37342 :             return _r;
    1997              :           }
    1998              : next_after_fail670:;
    1999              :       }
    2000              :     }
    2001              :   return NULL_TREE;
    2002              : }
    2003              : 
    2004              : tree
    2005         1089 : generic_simplify_399 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2006              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2007              :  const enum tree_code ARG_UNUSED (cmp),
    2008              :  const enum tree_code ARG_UNUSED (out))
    2009              : {
    2010         1089 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2011         1089 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2012              : )
    2013              :     {
    2014         1071 :       {
    2015         1071 :  tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
    2016         1071 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail712;
    2017         1059 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail712;
    2018         1059 :           {
    2019         1059 :             tree res_op0;
    2020         1059 :             {
    2021         1059 :               tree _o1[1], _r1;
    2022         1059 :               {
    2023         1059 :                 tree _o2[2], _r2;
    2024         1059 :                 _o2[0] = captures[2];
    2025         1059 :                 _o2[1] = captures[1];
    2026         1059 :                 _r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
    2027         1059 :                 if (!_r2)
    2028            0 :                   goto next_after_fail712;
    2029         1059 :                 _o1[0] = _r2;
    2030              :               }
    2031         1059 :               _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2032         1059 :               res_op0 = _r1;
    2033              :             }
    2034         1059 :             tree res_op1;
    2035         1059 :             res_op1 =  build_zero_cst (t);
    2036         1059 :             tree _r;
    2037         1059 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2038         1059 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 585, __FILE__, __LINE__, true);
    2039         1059 :             return _r;
    2040              :           }
    2041              : next_after_fail712:;
    2042              :       }
    2043              :     }
    2044              :   return NULL_TREE;
    2045              : }
    2046              : 
    2047              : tree
    2048        11977 : generic_simplify_406 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2049              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2050              :  const enum tree_code ARG_UNUSED (cmp),
    2051              :  const enum tree_code ARG_UNUSED (eqcmp))
    2052              : {
    2053        11977 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2054        11977 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2055              : )
    2056              :     {
    2057        11977 :       {
    2058        11977 :  tree ty = TREE_TYPE (captures[0]);
    2059        11977 :  unsigned prec = TYPE_PRECISION (ty);
    2060        11977 :  wide_int mask = wi::to_wide (captures[2], prec);
    2061        11977 :  wide_int rhs = wi::to_wide (captures[3], prec);
    2062        11977 :  signop sgn = TYPE_SIGN (ty);
    2063        33715 :           if ((mask & (mask + 1)) == 0 && wi::gt_p (rhs, 0, sgn)
    2064        43312 :  && (rhs & (rhs + 1)) == 0 && wi::ge_p (mask, rhs, sgn)
    2065              : )
    2066              :             {
    2067          560 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail726;
    2068          560 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail726;
    2069          560 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail726;
    2070          560 :               {
    2071          560 :                 tree res_op0;
    2072          560 :                 {
    2073          560 :                   tree _o1[2], _r1;
    2074          560 :                   _o1[0] = captures[1];
    2075          560 :                   _o1[1] =  wide_int_to_tree (ty, mask - rhs);
    2076          560 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2077          560 :                   res_op0 = _r1;
    2078              :                 }
    2079          560 :                 tree res_op1;
    2080          560 :                 res_op1 =  build_zero_cst (ty);
    2081          560 :                 tree _r;
    2082          560 :                 _r = fold_build2_loc (loc, eqcmp, type, res_op0, res_op1);
    2083          560 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 599, __FILE__, __LINE__, true);
    2084          560 :                 return _r;
    2085              :               }
    2086        11417 : next_after_fail726:;
    2087              :             }
    2088        11977 :       }
    2089              :     }
    2090              :   return NULL_TREE;
    2091              : }
    2092              : 
    2093              : tree
    2094            1 : generic_simplify_412 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2095              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2096              :  const combined_fn ARG_UNUSED (logs),
    2097              :  const combined_fn ARG_UNUSED (exps),
    2098              :  const enum tree_code ARG_UNUSED (cmp))
    2099              : {
    2100            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2101            1 :   if (flag_unsafe_math_optimizations
    2102              : )
    2103              :     {
    2104            1 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2105            1 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    2106            1 :  && ! flag_trapping_math
    2107            2 :  && ! flag_errno_math
    2108              : )
    2109              :         {
    2110            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail732;
    2111            1 :           {
    2112            1 :             tree res_op0;
    2113            1 :             res_op0 = captures[1];
    2114            1 :             tree res_op1;
    2115            1 :             {
    2116            1 :               tree _o1[1], _r1;
    2117            1 :               _o1[0] = captures[2];
    2118            1 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2119            1 :               if (!_r1)
    2120            0 :                 goto next_after_fail732;
    2121            1 :               if (EXPR_P (_r1))
    2122            1 :                 goto next_after_fail732;
    2123            0 :               res_op1 = _r1;
    2124              :             }
    2125            0 :             tree _r;
    2126            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2127            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 601, __FILE__, __LINE__, true);
    2128            0 :             return _r;
    2129              :           }
    2130              : next_after_fail732:;
    2131              :         }
    2132              :     }
    2133              :   return NULL_TREE;
    2134              : }
    2135              : 
    2136              : tree
    2137            0 : generic_simplify_420 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2138              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2139              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2140              : {
    2141            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2142            0 :   {
    2143            0 :  tree tem = uniform_vector_p (captures[1]);
    2144            0 :       if (tem
    2145              : )
    2146              :         {
    2147            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail744;
    2148            0 :           {
    2149            0 :             tree res_op0;
    2150            0 :             res_op0 = captures[0];
    2151            0 :             tree res_op1;
    2152            0 :             res_op1 =  tem;
    2153            0 :             tree _r;
    2154            0 :             _r = fold_build2_loc (loc, shiftrotate, type, res_op0, res_op1);
    2155            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2156            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2157            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 613, __FILE__, __LINE__, true);
    2158            0 :             return _r;
    2159              :           }
    2160            0 : next_after_fail744:;
    2161              :         }
    2162              :   }
    2163              :   return NULL_TREE;
    2164              : }
    2165              : 
    2166              : tree
    2167      3380424 : generic_simplify_427 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2168              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2169              :  const enum tree_code ARG_UNUSED (bitop))
    2170              : {
    2171      3380424 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2172      3380424 :   if (0
    2173              :  && TREE_CODE (captures[3]) != INTEGER_CST
    2174              :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2175              :  && types_match (type, captures[2])
    2176              :  && !POINTER_TYPE_P (TREE_TYPE (captures[2]))
    2177              :  && TREE_CODE (TREE_TYPE (captures[2])) != OFFSET_TYPE
    2178              : )
    2179              :     {
    2180              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail758;
    2181              :       {
    2182              :         tree res_op0;
    2183              :         res_op0 = captures[2];
    2184              :         tree res_op1;
    2185              :         {
    2186              :           tree _o1[1], _r1;
    2187              :           _o1[0] = captures[3];
    2188              :           if (TREE_TYPE (_o1[0]) != type)
    2189              :             {
    2190              :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2191              :             }
    2192              :           else
    2193              :             _r1 = _o1[0];
    2194              :           res_op1 = _r1;
    2195              :         }
    2196              :         tree _r;
    2197              :         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2198              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 625, __FILE__, __LINE__, true);
    2199              :         return _r;
    2200              :       }
    2201              : next_after_fail758:;
    2202              :     }
    2203      3380424 :   return NULL_TREE;
    2204              : }
    2205              : 
    2206              : tree
    2207       861718 : generic_simplify_431 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2208              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2209              :  const enum tree_code ARG_UNUSED (op))
    2210              : {
    2211       861718 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2212       861718 :   if (INTEGRAL_TYPE_P (type)
    2213       762914 :  && op != MULT_EXPR
    2214       762914 :  && op != RDIV_EXPR
    2215       449877 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2216       388876 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2217       388876 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2218       344180 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2219       343897 :  && type_has_mode_precision_p (type)
    2220       343875 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2221        24248 :  && types_match (captures[2], type)
    2222       864318 :  && (types_match (captures[2], captures[4])
    2223         2531 :  || poly_int_tree_p (captures[3]))
    2224              : )
    2225              :     {
    2226           69 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2227              : )
    2228              :         {
    2229           15 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail764;
    2230           15 :           {
    2231           15 :             tree res_op0;
    2232           15 :             res_op0 = captures[2];
    2233           15 :             tree res_op1;
    2234           15 :             {
    2235           15 :               tree _o1[1], _r1;
    2236           15 :               _o1[0] = captures[4];
    2237           15 :               if (TREE_TYPE (_o1[0]) != type)
    2238              :                 {
    2239            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2240              :                 }
    2241              :               else
    2242              :                 _r1 = _o1[0];
    2243           15 :               res_op1 = _r1;
    2244              :             }
    2245           15 :             tree _r;
    2246           15 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2247           15 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 631, __FILE__, __LINE__, true);
    2248           15 :             return _r;
    2249              :           }
    2250            0 : next_after_fail764:;
    2251              :         }
    2252              :       else
    2253              :         {
    2254           54 :           {
    2255           54 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2256           54 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail765;
    2257           54 :               {
    2258           54 :                 tree res_op0;
    2259           54 :                 {
    2260           54 :                   tree _o1[2], _r1;
    2261           54 :                   {
    2262           54 :                     tree _o2[1], _r2;
    2263           54 :                     _o2[0] = captures[2];
    2264           54 :                     if (TREE_TYPE (_o2[0]) != utype)
    2265              :                       {
    2266           54 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2267              :                       }
    2268              :                     else
    2269              :                       _r2 = _o2[0];
    2270           54 :                     _o1[0] = _r2;
    2271              :                   }
    2272           54 :                   {
    2273           54 :                     tree _o2[1], _r2;
    2274           54 :                     _o2[0] = captures[4];
    2275           54 :                     if (TREE_TYPE (_o2[0]) != utype)
    2276              :                       {
    2277           54 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2278              :                       }
    2279              :                     else
    2280              :                       _r2 = _o2[0];
    2281           54 :                     _o1[1] = _r2;
    2282              :                   }
    2283           54 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2284           54 :                   res_op0 = _r1;
    2285              :                 }
    2286           54 :                 tree _r;
    2287           54 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2288           54 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 632, __FILE__, __LINE__, true);
    2289           54 :                 return _r;
    2290              :               }
    2291            0 : next_after_fail765:;
    2292              :           }
    2293              :         }
    2294              :     }
    2295              :   else
    2296              :     {
    2297       851246 :       if (FLOAT_TYPE_P (type)
    2298       872052 :  && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    2299        10403 :  == DECIMAL_FLOAT_TYPE_P (type)
    2300              : )
    2301              :         {
    2302        10380 :           {
    2303        10380 :  tree arg0 = strip_float_extensions (captures[2]);
    2304        10380 :  tree arg1 = strip_float_extensions (captures[4]);
    2305        10380 :  tree itype = TREE_TYPE (captures[0]);
    2306        10380 :  tree ty1 = TREE_TYPE (arg0);
    2307        10380 :  tree ty2 = TREE_TYPE (arg1);
    2308        10380 :  enum tree_code code = TREE_CODE (itype);
    2309            0 :               if (FLOAT_TYPE_P (ty1)
    2310        10380 :  && FLOAT_TYPE_P (ty2)
    2311              : )
    2312              :                 {
    2313        10380 :                   {
    2314        10380 :  tree newtype = type;
    2315        10380 :  if (TYPE_MODE (ty1) == SDmode
    2316        10371 :  || TYPE_MODE (ty2) == SDmode
    2317        20751 :  || TYPE_MODE (type) == SDmode)
    2318            9 :  newtype = dfloat32_type_node;
    2319        10380 :  if (TYPE_MODE (ty1) == DDmode
    2320        10374 :  || TYPE_MODE (ty2) == DDmode
    2321        20754 :  || TYPE_MODE (type) == DDmode)
    2322            6 :  newtype = dfloat64_type_node;
    2323        10380 :  if (TYPE_MODE (ty1) == TDmode
    2324        10380 :  || TYPE_MODE (ty2) == TDmode
    2325        20760 :  || TYPE_MODE (type) == TDmode)
    2326           15 :  newtype = dfloat128_type_node;
    2327        10380 :                       if ((newtype == dfloat32_type_node
    2328        10380 :  || newtype == dfloat64_type_node
    2329        10380 :  || newtype == dfloat128_type_node)
    2330           15 :  && newtype == type
    2331        10386 :  && types_match (newtype, type)
    2332              : )
    2333              :                         {
    2334            6 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail766;
    2335            0 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail766;
    2336            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail766;
    2337            0 :                           {
    2338            0 :                             tree res_op0;
    2339            0 :                             {
    2340            0 :                               tree _o1[1], _r1;
    2341            0 :                               _o1[0] = captures[2];
    2342            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2343              :                                 {
    2344            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2345              :                                 }
    2346              :                               else
    2347              :                                 _r1 = _o1[0];
    2348            0 :                               res_op0 = _r1;
    2349              :                             }
    2350            0 :                             tree res_op1;
    2351            0 :                             {
    2352            0 :                               tree _o1[1], _r1;
    2353            0 :                               _o1[0] = captures[4];
    2354            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2355              :                                 {
    2356            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2357              :                                 }
    2358              :                               else
    2359              :                                 _r1 = _o1[0];
    2360            0 :                               res_op1 = _r1;
    2361              :                             }
    2362            0 :                             tree _r;
    2363            0 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2364            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 633, __FILE__, __LINE__, true);
    2365            0 :                             return _r;
    2366              :                           }
    2367              : next_after_fail766:;
    2368              :                         }
    2369              :                       else
    2370              :                         {
    2371        10374 :                           {
    2372        10374 :  if (element_precision (ty1) > element_precision (newtype))
    2373            4 :  newtype = ty1;
    2374        10374 :  if (element_precision (ty2) > element_precision (newtype))
    2375            1 :  newtype = ty2;
    2376        10374 :                               if (element_precision (newtype) < element_precision (itype)
    2377        10130 :  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
    2378            0 :  || target_supports_op_p (newtype, op, optab_default))
    2379        10130 :  && (flag_unsafe_math_optimizations
    2380        10113 :  || (element_precision (newtype) == element_precision (type)
    2381        10109 :  && real_can_shorten_arithmetic (element_mode (itype),
    2382              :  element_mode (type))
    2383         3372 :  && !excess_precision_type (newtype)))
    2384        10399 :  && !types_match (itype, newtype)
    2385              : )
    2386              :                                 {
    2387           25 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail767;
    2388           25 :                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail767;
    2389           17 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail767;
    2390           17 :                                   {
    2391           17 :                                     tree res_op0;
    2392           17 :                                     {
    2393           17 :                                       tree _o1[2], _r1;
    2394           17 :                                       {
    2395           17 :                                         tree _o2[1], _r2;
    2396           17 :                                         _o2[0] = captures[2];
    2397           17 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2398              :                                           {
    2399            0 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2400              :                                           }
    2401              :                                         else
    2402              :                                           _r2 = _o2[0];
    2403           17 :                                         _o1[0] = _r2;
    2404              :                                       }
    2405           17 :                                       {
    2406           17 :                                         tree _o2[1], _r2;
    2407           17 :                                         _o2[0] = captures[4];
    2408           17 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2409              :                                           {
    2410            0 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2411              :                                           }
    2412              :                                         else
    2413              :                                           _r2 = _o2[0];
    2414           17 :                                         _o1[1] = _r2;
    2415              :                                       }
    2416           17 :                                       _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2417           17 :                                       res_op0 = _r1;
    2418              :                                     }
    2419           17 :                                     tree _r;
    2420           17 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2421           17 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 634, __FILE__, __LINE__, true);
    2422           17 :                                     return _r;
    2423              :                                   }
    2424              : next_after_fail767:;
    2425              :                                 }
    2426              :                           }
    2427              :                         }
    2428              :                   }
    2429              :                 }
    2430              :           }
    2431              :         }
    2432              :     }
    2433              :   return NULL_TREE;
    2434              : }
    2435              : 
    2436              : tree
    2437           15 : generic_simplify_459 (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 (bitop))
    2440              : {
    2441           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2442           15 :   {
    2443           15 :  tree pmop[2];
    2444           15 :  tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[4], NEGATE_EXPR, captures[1],
    2445              :  bitop, captures[2], captures[3], NULL_TREE, ERROR_MARK,
    2446              :  NULL_TREE, NULL_TREE, pmop);
    2447           15 :       if (utype
    2448              : )
    2449              :         {
    2450            7 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail804;
    2451            7 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail804;
    2452            7 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail804;
    2453            7 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail804;
    2454            7 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail804;
    2455            7 :           {
    2456            7 :             tree res_op0;
    2457            7 :             {
    2458            7 :               tree _o1[2], _r1;
    2459            7 :               {
    2460            7 :                 tree _o2[1], _r2;
    2461            7 :                 {
    2462            7 :                   tree _o3[1], _r3;
    2463            7 :                   _o3[0] =  pmop[0];
    2464            7 :                   if (TREE_TYPE (_o3[0]) != utype)
    2465              :                     {
    2466            4 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2467              :                     }
    2468              :                   else
    2469              :                     _r3 = _o3[0];
    2470            7 :                   _o2[0] = _r3;
    2471              :                 }
    2472            7 :                 _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    2473            7 :                 _o1[0] = _r2;
    2474              :               }
    2475            7 :               {
    2476            7 :                 tree _o2[1], _r2;
    2477            7 :                 _o2[0] = captures[4];
    2478            7 :                 if (TREE_TYPE (_o2[0]) != utype)
    2479              :                   {
    2480            4 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2481              :                   }
    2482              :                 else
    2483              :                   _r2 = _o2[0];
    2484            7 :                 _o1[1] = _r2;
    2485              :               }
    2486            7 :               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2487            7 :               res_op0 = _r1;
    2488              :             }
    2489            7 :             tree _r;
    2490            7 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2491            7 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 658, __FILE__, __LINE__, true);
    2492            7 :             return _r;
    2493              :           }
    2494            8 : next_after_fail804:;
    2495              :         }
    2496              :   }
    2497            8 :   return NULL_TREE;
    2498              : }
    2499              : 
    2500              : tree
    2501            0 : generic_simplify_471 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2502              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2503              :  const enum tree_code ARG_UNUSED (code2),
    2504              :  const enum tree_code ARG_UNUSED (code1))
    2505              : {
    2506            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2507            0 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2508            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2509            0 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2510            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2511            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2512            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2513            0 :  && bitwise_equal_p (captures[2], captures[5]))
    2514              : )
    2515              :     {
    2516            0 :       {
    2517            0 :  bool one_before = false;
    2518            0 :  bool one_after = false;
    2519            0 :  int cmp = 0;
    2520            0 :  bool allbits = true;
    2521            0 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2522            0 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2523              :  {
    2524            0 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
    2525            0 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
    2526            0 :  auto t2 = wi::to_wide (captures[5]);
    2527            0 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
    2528            0 :  if (cmp < 0
    2529            0 :  && t1 == t2 - 1)
    2530              :  one_before = true;
    2531            0 :  if (cmp > 0
    2532            0 :  && t1 == t2 + 1)
    2533              :  one_after = true;
    2534              :  }
    2535            0 :  bool val;
    2536            0 :  switch (code2)
    2537              :  {
    2538            0 :  case EQ_EXPR: val = (cmp == 0); break;
    2539            0 :  case NE_EXPR: val = (cmp != 0); break;
    2540            0 :  case LT_EXPR: val = (cmp < 0); break;
    2541            0 :  case GT_EXPR: val = (cmp > 0); break;
    2542            0 :  case LE_EXPR: val = (cmp <= 0); break;
    2543            0 :  case GE_EXPR: val = (cmp >= 0); break;
    2544            0 :  default: gcc_unreachable ();
    2545              :  }
    2546            0 :           if (code1 == EQ_EXPR && val
    2547              : )
    2548              :             {
    2549            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail818;
    2550            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail818;
    2551            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail818;
    2552            0 :               {
    2553            0 :                 tree _r;
    2554            0 :                 _r = captures[0];
    2555            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 671, __FILE__, __LINE__, true);
    2556            0 :                 return _r;
    2557              :               }
    2558              : next_after_fail818:;
    2559              :             }
    2560              :           else
    2561              :             {
    2562            0 :               if (code1 == EQ_EXPR && !val
    2563              : )
    2564              :                 {
    2565            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail819;
    2566            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail819;
    2567            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail819;
    2568            0 :                   {
    2569            0 :                     tree _r;
    2570            0 :                     _r =  constant_boolean_node (false, type);
    2571            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2572            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2573            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 672, __FILE__, __LINE__, true);
    2574            0 :                     return _r;
    2575              :                   }
    2576              : next_after_fail819:;
    2577              :                 }
    2578              :               else
    2579              :                 {
    2580            0 :                   if (code1 == NE_EXPR && !val && allbits
    2581              : )
    2582              :                     {
    2583            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail820;
    2584            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail820;
    2585            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail820;
    2586            0 :                       {
    2587            0 :                         tree _r;
    2588            0 :                         _r = captures[3];
    2589            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 673, __FILE__, __LINE__, true);
    2590            0 :                         return _r;
    2591              :                       }
    2592              : next_after_fail820:;
    2593              :                     }
    2594              :                   else
    2595              :                     {
    2596            0 :                       if ((code1 == NE_EXPR
    2597            0 :  && code2 == GE_EXPR
    2598            0 :  && cmp == 0
    2599            0 :  && allbits)
    2600            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2601            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2602            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2603              : )
    2604              :                         {
    2605            0 :                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail821;
    2606            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail821;
    2607            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail821;
    2608            0 :                           {
    2609            0 :                             tree res_op0;
    2610            0 :                             res_op0 = captures[4];
    2611            0 :                             tree res_op1;
    2612            0 :                             {
    2613            0 :                               tree _o1[1], _r1;
    2614            0 :                               _o1[0] = captures[2];
    2615            0 :                               if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2616              :                                 {
    2617            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2618              :                                 }
    2619              :                               else
    2620              :                                 _r1 = _o1[0];
    2621            0 :                               res_op1 = _r1;
    2622              :                             }
    2623            0 :                             tree _r;
    2624            0 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2625            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 674, __FILE__, __LINE__, true);
    2626            0 :                             return _r;
    2627              :                           }
    2628              : next_after_fail821:;
    2629              :                         }
    2630              :                       else
    2631              :                         {
    2632            0 :                           if ((code1 == NE_EXPR
    2633            0 :  && code2 == LE_EXPR
    2634            0 :  && cmp == 0
    2635            0 :  && allbits)
    2636            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2637            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2638            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2639              : )
    2640              :                             {
    2641            0 :                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail822;
    2642            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail822;
    2643            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail822;
    2644            0 :                               {
    2645            0 :                                 tree res_op0;
    2646            0 :                                 res_op0 = captures[4];
    2647            0 :                                 tree res_op1;
    2648            0 :                                 {
    2649            0 :                                   tree _o1[1], _r1;
    2650            0 :                                   _o1[0] = captures[2];
    2651            0 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2652              :                                     {
    2653            0 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2654              :                                     }
    2655              :                                   else
    2656              :                                     _r1 = _o1[0];
    2657            0 :                                   res_op1 = _r1;
    2658              :                                 }
    2659            0 :                                 tree _r;
    2660            0 :                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2661            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 675, __FILE__, __LINE__, true);
    2662            0 :                                 return _r;
    2663              :                               }
    2664              : next_after_fail822:;
    2665              :                             }
    2666              :                           else
    2667              :                             {
    2668            0 :                               if ((code1 == NE_EXPR
    2669            0 :  && code2 == GT_EXPR
    2670              :  && one_after
    2671            0 :  && allbits)
    2672            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2673            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2674            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2675              : )
    2676              :                                 {
    2677            0 :                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail823;
    2678            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail823;
    2679            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail823;
    2680            0 :                                   {
    2681            0 :                                     tree res_op0;
    2682            0 :                                     res_op0 = captures[4];
    2683            0 :                                     tree res_op1;
    2684            0 :                                     {
    2685            0 :                                       tree _o1[1], _r1;
    2686            0 :                                       _o1[0] = captures[2];
    2687            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2688              :                                         {
    2689            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2690              :                                         }
    2691              :                                       else
    2692              :                                         _r1 = _o1[0];
    2693            0 :                                       res_op1 = _r1;
    2694              :                                     }
    2695            0 :                                     tree _r;
    2696            0 :                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2697            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 676, __FILE__, __LINE__, true);
    2698            0 :                                     return _r;
    2699              :                                   }
    2700              : next_after_fail823:;
    2701              :                                 }
    2702              :                               else
    2703              :                                 {
    2704            0 :                                   if ((code1 == NE_EXPR
    2705            0 :  && code2 == LT_EXPR
    2706              :  && one_before
    2707            0 :  && allbits)
    2708            0 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2709            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2710            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2711              : )
    2712              :                                     {
    2713            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail824;
    2714            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail824;
    2715            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail824;
    2716            0 :                                       {
    2717            0 :                                         tree res_op0;
    2718            0 :                                         res_op0 = captures[4];
    2719            0 :                                         tree res_op1;
    2720            0 :                                         {
    2721            0 :                                           tree _o1[1], _r1;
    2722            0 :                                           _o1[0] = captures[2];
    2723            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2724              :                                             {
    2725            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2726              :                                             }
    2727              :                                           else
    2728              :                                             _r1 = _o1[0];
    2729            0 :                                           res_op1 = _r1;
    2730              :                                         }
    2731            0 :                                         tree _r;
    2732            0 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2733            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 677, __FILE__, __LINE__, true);
    2734            0 :                                         return _r;
    2735              :                                       }
    2736              : next_after_fail824:;
    2737              :                                     }
    2738              :                                 }
    2739              :                             }
    2740              :                         }
    2741              :                     }
    2742              :                 }
    2743              :             }
    2744              :       }
    2745              :     }
    2746              :   return NULL_TREE;
    2747              : }
    2748              : 
    2749              : tree
    2750          145 : generic_simplify_502 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2751              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2752              : {
    2753          145 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2754          145 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
    2755          145 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2756              : )
    2757              :     {
    2758          145 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail891;
    2759          145 :       {
    2760          145 :         tree res_op0;
    2761          145 :         {
    2762          145 :           tree _o1[2], _r1;
    2763          145 :           _o1[0] = captures[0];
    2764          145 :           _o1[1] =  build_each_one_cst (TREE_TYPE (captures[0]));
    2765          145 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2766          145 :           res_op0 = _r1;
    2767              :         }
    2768          145 :         tree _r;
    2769          145 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2770          145 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 706, __FILE__, __LINE__, true);
    2771          145 :         return _r;
    2772              :       }
    2773            0 : next_after_fail891:;
    2774              :     }
    2775              :   return NULL_TREE;
    2776              : }
    2777              : 
    2778              : tree
    2779          249 : generic_simplify_509 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2780              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2781              :  const enum tree_code ARG_UNUSED (cmp),
    2782              :  const enum tree_code ARG_UNUSED (icmp),
    2783              :  const enum tree_code ARG_UNUSED (ncmp))
    2784              : {
    2785          249 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2786          249 :   if (VECTOR_TYPE_P (type)
    2787          249 :  || (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1)
    2788              : )
    2789              :     {
    2790           51 :       {
    2791           51 :  enum tree_code ic = invert_tree_comparison
    2792           51 :  (cmp, HONOR_NANS (captures[0]));
    2793           51 :           if (ic == icmp
    2794              : )
    2795              :             {
    2796           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail898;
    2797           12 :               {
    2798           12 :                 tree res_op0;
    2799           12 :                 res_op0 = captures[0];
    2800           12 :                 tree res_op1;
    2801           12 :                 res_op1 = captures[1];
    2802           12 :                 tree _r;
    2803           12 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    2804           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 711, __FILE__, __LINE__, true);
    2805           12 :                 return _r;
    2806              :               }
    2807            0 : next_after_fail898:;
    2808              :             }
    2809              :           else
    2810              :             {
    2811           39 :               if (ic == ncmp
    2812              : )
    2813              :                 {
    2814            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail899;
    2815            0 :                   {
    2816            0 :                     tree res_op0;
    2817            0 :                     res_op0 = captures[0];
    2818            0 :                     tree res_op1;
    2819            0 :                     res_op1 = captures[1];
    2820            0 :                     tree _r;
    2821            0 :                     _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    2822            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 712, __FILE__, __LINE__, true);
    2823            0 :                     return _r;
    2824              :                   }
    2825            0 : next_after_fail899:;
    2826              :                 }
    2827              :             }
    2828              :       }
    2829              :     }
    2830              :   return NULL_TREE;
    2831              : }
    2832              : 
    2833              : tree
    2834            1 : generic_simplify_522 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2835              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2836              :  const enum tree_code ARG_UNUSED (minmax))
    2837              : {
    2838            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2839            1 :   if (INTEGRAL_TYPE_P (type)
    2840            1 :  && TYPE_OVERFLOW_UNDEFINED (type)
    2841            2 :  && !TYPE_OVERFLOW_SANITIZED (type)
    2842              : )
    2843              :     {
    2844            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail913;
    2845            1 :       {
    2846            1 :         tree res_op0;
    2847            1 :         {
    2848            1 :           tree _o1[2], _r1;
    2849            1 :           _o1[0] = captures[1];
    2850            1 :           _o1[1] = captures[4];
    2851            1 :           _r1 = fold_build2_loc (loc, minmax, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2852            1 :           res_op0 = _r1;
    2853              :         }
    2854            1 :         tree res_op1;
    2855            1 :         res_op1 = captures[2];
    2856            1 :         tree _r;
    2857            1 :         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    2858            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 725, __FILE__, __LINE__, true);
    2859            1 :         return _r;
    2860              :       }
    2861            0 : next_after_fail913:;
    2862              :     }
    2863              :   return NULL_TREE;
    2864              : }
    2865              : 
    2866              : tree
    2867            2 : generic_simplify_531 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2868              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2869              :  const enum tree_code ARG_UNUSED (op),
    2870              :  const enum tree_code ARG_UNUSED (logic))
    2871              : {
    2872            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2873            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail936;
    2874            2 :   {
    2875            2 :     tree res_op0;
    2876            2 :     res_op0 = captures[0];
    2877            2 :     tree res_op1;
    2878            2 :     res_op1 = captures[1];
    2879            2 :     tree _r;
    2880            2 :     _r = fold_build2_loc (loc, logic, type, res_op0, res_op1);
    2881            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 736, __FILE__, __LINE__, true);
    2882              :     return _r;
    2883              :   }
    2884            0 : next_after_fail936:;
    2885            0 :   return NULL_TREE;
    2886              : }
    2887              : 
    2888              : tree
    2889            6 : generic_simplify_538 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2890              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    2891              : {
    2892            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2893            6 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail943;
    2894            6 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail943;
    2895            6 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail943;
    2896            6 :   {
    2897            6 :     tree _r;
    2898            6 :     _r = captures[2];
    2899            6 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 528, __FILE__, __LINE__, true);
    2900              :     return _r;
    2901              :   }
    2902              : next_after_fail943:;
    2903              :   return NULL_TREE;
    2904              : }
    2905              : 
    2906              : tree
    2907            0 : generic_simplify_541 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2908              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2909              :  const enum tree_code ARG_UNUSED (cmp))
    2910              : {
    2911            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2912            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail946;
    2913            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail946;
    2914            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail946;
    2915            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail946;
    2916            0 :   {
    2917            0 :     tree _r;
    2918            0 :     _r = captures[3];
    2919            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 531, __FILE__, __LINE__, true);
    2920              :     return _r;
    2921              :   }
    2922              : next_after_fail946:;
    2923              :   return NULL_TREE;
    2924              : }
    2925              : 
    2926              : tree
    2927            0 : generic_simplify_551 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2928              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2929              :  const combined_fn ARG_UNUSED (cond_op))
    2930              : {
    2931            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2932            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail956;
    2933            0 :   {
    2934            0 :     tree res_op0;
    2935            0 :     {
    2936            0 :       tree _o1[2], _r1;
    2937            0 :       _o1[0] = captures[2];
    2938            0 :       _o1[1] = captures[0];
    2939            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2940            0 :       res_op0 = _r1;
    2941              :     }
    2942            0 :     tree res_op1;
    2943            0 :     res_op1 = captures[3];
    2944            0 :     tree res_op2;
    2945            0 :     res_op2 = captures[4];
    2946            0 :     tree res_op3;
    2947            0 :     res_op3 = captures[5];
    2948            0 :     tree _r;
    2949            0 :     _r = maybe_build_call_expr_loc (loc, cond_op, type, 4, res_op0, res_op1, res_op2, res_op3);
    2950            0 :     if (!_r)
    2951            0 :       goto next_after_fail956;
    2952            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 751, __FILE__, __LINE__, true);
    2953              :     return _r;
    2954              :   }
    2955              : next_after_fail956:;
    2956              :   return NULL_TREE;
    2957              : }
    2958              : 
    2959              : tree
    2960            1 : generic_simplify_556 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2961              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2962              : {
    2963            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2964            1 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), type)
    2965              : )
    2966              :     {
    2967            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail964;
    2968            1 :       {
    2969            1 :         tree res_op0;
    2970            1 :         {
    2971            1 :           tree _o1[1], _r1;
    2972            1 :           _o1[0] = captures[0];
    2973            1 :           if (TREE_TYPE (_o1[0]) != type)
    2974              :             {
    2975            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2976              :             }
    2977              :           else
    2978              :             _r1 = _o1[0];
    2979            1 :           res_op0 = _r1;
    2980              :         }
    2981            1 :         tree _r;
    2982            1 :         _r = non_lvalue_loc (loc, res_op0);
    2983            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 759, __FILE__, __LINE__, true);
    2984            1 :         return _r;
    2985              :       }
    2986            0 : next_after_fail964:;
    2987              :     }
    2988              :   return NULL_TREE;
    2989              : }
    2990              : 
    2991              : tree
    2992            0 : generic_simplify_566 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2993              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2994              :  const combined_fn ARG_UNUSED (logs))
    2995              : {
    2996            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2997            0 :   if (flag_unsafe_math_optimizations
    2998              : )
    2999              :     {
    3000            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3001            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    3002            0 :  && ! flag_trapping_math
    3003            0 :  && ! flag_errno_math
    3004              : )
    3005              :         {
    3006            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail974;
    3007            0 :           {
    3008            0 :             tree res_op0;
    3009            0 :             {
    3010            0 :               tree _o1[1], _r1;
    3011            0 :               _o1[0] = captures[1];
    3012            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3013            0 :               if (!_r1)
    3014            0 :                 goto next_after_fail974;
    3015            0 :               if (EXPR_P (_r1))
    3016            0 :                 goto next_after_fail974;
    3017            0 :               res_op0 = _r1;
    3018              :             }
    3019            0 :             tree res_op1;
    3020            0 :             {
    3021            0 :               tree _o1[1], _r1;
    3022            0 :               _o1[0] = captures[2];
    3023            0 :               _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3024            0 :               if (!_r1)
    3025            0 :                 goto next_after_fail974;
    3026            0 :               res_op1 = _r1;
    3027              :             }
    3028            0 :             tree _r;
    3029            0 :             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3030            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 769, __FILE__, __LINE__, true);
    3031            0 :             return _r;
    3032              :           }
    3033              : next_after_fail974:;
    3034              :         }
    3035              :     }
    3036              :   return NULL_TREE;
    3037              : }
    3038              : 
    3039              : tree
    3040            0 : generic_simplify_578 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3041              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3042              :  const combined_fn ARG_UNUSED (froms),
    3043              :  const combined_fn ARG_UNUSED (tos))
    3044              : {
    3045            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3046            0 :   if (optimize && canonicalize_math_p ()
    3047              : )
    3048              :     {
    3049            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail986;
    3050            0 :       {
    3051            0 :         tree res_op0;
    3052            0 :         res_op0 = captures[0];
    3053            0 :         tree _r;
    3054            0 :         _r = maybe_build_call_expr_loc (loc, tos, type, 1, res_op0);
    3055            0 :         if (!_r)
    3056            0 :           goto next_after_fail986;
    3057            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 781, __FILE__, __LINE__, true);
    3058            0 :         return _r;
    3059              :       }
    3060              : next_after_fail986:;
    3061              :     }
    3062              :   return NULL_TREE;
    3063              : }
    3064              : 
    3065              : tree
    3066            0 : generic_simplify_585 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3067              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3068              :  const combined_fn ARG_UNUSED (SIGNBIT))
    3069              : {
    3070            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3071            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail993;
    3072            0 :   {
    3073            0 :     tree _r;
    3074            0 :     _r =  integer_zero_node;
    3075            0 :     if (TREE_SIDE_EFFECTS (captures[0]))
    3076            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3077            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 788, __FILE__, __LINE__, true);
    3078              :     return _r;
    3079              :   }
    3080            0 : next_after_fail993:;
    3081            0 :   return NULL_TREE;
    3082              : }
    3083              : 
    3084              : tree
    3085            0 : generic_simplify_593 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3086              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3087              : {
    3088            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3089            0 :   if (canonicalize_math_after_vectorization_p ()
    3090              : )
    3091              :     {
    3092              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1001;
    3093              :       {
    3094              :         tree res_op0;
    3095              :         res_op0 = captures[0];
    3096              :         tree res_op1;
    3097              :         res_op1 = captures[1];
    3098              :         tree res_op2;
    3099              :         res_op2 = captures[2];
    3100              :         tree _r;
    3101              :         _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3102              :         if (!_r)
    3103              :           goto next_after_fail1001;
    3104              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 796, __FILE__, __LINE__, true);
    3105              :         return _r;
    3106              :       }
    3107            0 : next_after_fail1001:;
    3108              :     }
    3109            0 :   return NULL_TREE;
    3110              : }
    3111              : 
    3112              : tree
    3113            0 : generic_simplify_603 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3114              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3115              : {
    3116            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3117            0 :   if (canonicalize_math_after_vectorization_p ()
    3118              : )
    3119              :     {
    3120              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1011;
    3121              :       {
    3122              :         tree res_op0;
    3123              :         res_op0 = captures[0];
    3124              :         tree res_op1;
    3125              :         res_op1 = captures[1];
    3126              :         tree res_op2;
    3127              :         res_op2 = captures[2];
    3128              :         tree res_op3;
    3129              :         res_op3 = captures[3];
    3130              :         tree res_op4;
    3131              :         res_op4 = captures[4];
    3132              :         tree _r;
    3133              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3134              :         if (!_r)
    3135              :           goto next_after_fail1011;
    3136              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 806, __FILE__, __LINE__, true);
    3137              :         return _r;
    3138              :       }
    3139            0 : next_after_fail1011:;
    3140              :     }
    3141            0 :   return NULL_TREE;
    3142              : }
    3143              : 
    3144              : tree
    3145            0 : generic_simplify_614 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3146              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3147              :  const combined_fn ARG_UNUSED (PARITY))
    3148              : {
    3149            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3150            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1023;
    3151            0 :   {
    3152            0 :     tree res_op0;
    3153            0 :     res_op0 = captures[0];
    3154            0 :     tree _r;
    3155            0 :     _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
    3156            0 :     if (!_r)
    3157            0 :       goto next_after_fail1023;
    3158            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 813, __FILE__, __LINE__, true);
    3159              :     return _r;
    3160              :   }
    3161              : next_after_fail1023:;
    3162              :   return NULL_TREE;
    3163              : }
    3164              : 
    3165              : tree
    3166            0 : generic_simplify_618 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3167              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3168              :  const enum tree_code ARG_UNUSED (rot),
    3169              :  const combined_fn ARG_UNUSED (parity))
    3170              : {
    3171            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3172            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3173            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3174            0 :  && (
    3175              : 
    3176            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3177            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3178            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3179              : )
    3180              :     {
    3181            0 :       {
    3182            0 :  tree type0 = TREE_TYPE (captures[0]);
    3183            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1027;
    3184            0 :           {
    3185            0 :             tree res_op0;
    3186            0 :             {
    3187            0 :               tree _o1[1], _r1;
    3188            0 :               _o1[0] = captures[2];
    3189            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3190              :                 {
    3191            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3192              :                 }
    3193              :               else
    3194              :                 _r1 = _o1[0];
    3195            0 :               res_op0 = _r1;
    3196              :             }
    3197            0 :             tree _r;
    3198            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3199            0 :             if (!_r)
    3200            0 :               goto next_after_fail1027;
    3201            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    3202            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3203            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 815, __FILE__, __LINE__, true);
    3204            0 :             return _r;
    3205              :           }
    3206              : next_after_fail1027:;
    3207              :       }
    3208              :     }
    3209              :   return NULL_TREE;
    3210              : }
    3211              : 
    3212              : tree
    3213    468152782 : generic_simplify_VIEW_CONVERT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3214              : {
    3215    468152782 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3216    468152782 :   {
    3217    468152782 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3218    936305564 :     if ((
    3219              : 
    3220              :  && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
    3221              :  || (
    3222              : 1
    3223    468152782 :  && type == TREE_TYPE (captures[0]))
    3224              : )
    3225              :       {
    3226    205656407 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1088;
    3227    205656407 :         {
    3228    205656407 :           tree _r;
    3229    205656407 :           _r = captures[0];
    3230    205656407 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 831, __FILE__, __LINE__, true);
    3231    205656407 :           return _r;
    3232              :         }
    3233            0 : next_after_fail1088:;
    3234              :       }
    3235              :   }
    3236    262496375 :   switch (TREE_CODE (_p0))
    3237              :     {
    3238     28889124 :     case VIEW_CONVERT_EXPR:
    3239     28889124 :       {
    3240     28889124 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3241     28889124 :         {
    3242     28889124 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3243     28889124 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1089;
    3244     28889124 :           {
    3245     28889124 :             tree res_op0;
    3246     28889124 :             res_op0 = captures[0];
    3247     28889124 :             tree _r;
    3248     28889124 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3249     28889124 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 865, __FILE__, __LINE__, true);
    3250    468152782 :             return _r;
    3251              :           }
    3252            0 : next_after_fail1089:;
    3253              :         }
    3254            0 :         break;
    3255              :       }
    3256            0 :     case BIT_FIELD_REF:
    3257            0 :       {
    3258            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3259            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3260            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3261            0 :         {
    3262            0 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3263            0 :           if (is_gimple_reg_type (type)
    3264            0 :  && (!INTEGRAL_TYPE_P (type)
    3265            0 :  || !INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3266            0 :  || (type_has_mode_precision_p (type)
    3267            0 :  && type_has_mode_precision_p (TREE_TYPE (captures[0]))))
    3268              : )
    3269              :             {
    3270            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1090;
    3271            0 :               {
    3272            0 :                 tree res_op0;
    3273            0 :                 res_op0 = captures[1];
    3274            0 :                 tree res_op1;
    3275            0 :                 res_op1 = captures[2];
    3276            0 :                 tree res_op2;
    3277            0 :                 res_op2 = captures[3];
    3278            0 :                 tree _r;
    3279            0 :                 _r = fold_build3_loc (loc, BIT_FIELD_REF, type, res_op0, res_op1, res_op2);
    3280            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 866, __FILE__, __LINE__, true);
    3281            0 :                 return _r;
    3282              :               }
    3283            0 : next_after_fail1090:;
    3284              :             }
    3285              :         }
    3286            0 :         break;
    3287              :       }
    3288    233607251 :     default:;
    3289              :     }
    3290    233607251 :   {
    3291    233607251 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3292    231813310 :     if ((INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))
    3293      3164823 :  && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0])))
    3294    236494319 :  && TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[0]))
    3295              : )
    3296              :       {
    3297      2533800 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1091;
    3298      2533800 :         {
    3299      2533800 :           tree res_op0;
    3300      2533800 :           res_op0 = captures[0];
    3301      2533800 :           tree _r;
    3302      2533800 :           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3303      2533800 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 867, __FILE__, __LINE__, true);
    3304      2533800 :           return _r;
    3305              :         }
    3306            0 : next_after_fail1091:;
    3307              :       }
    3308              :   }
    3309    231073451 :   switch (TREE_CODE (_p0))
    3310              :     {
    3311         3427 :     CASE_CONVERT:
    3312         3427 :       {
    3313         3427 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3314         3427 :         {
    3315         3427 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    3316         3427 :           {
    3317         3427 :  bool extended_bitint = false;
    3318         3427 :  if (BITINT_TYPE_P (TREE_TYPE (captures[0])))
    3319              :  {
    3320            0 :  struct bitint_info info;
    3321            0 :  extended_bitint
    3322            0 :  = targetm.c.bitint_type_info (TYPE_PRECISION (TREE_TYPE (captures[0])),
    3323              :  &info);
    3324            0 :  extended_bitint = extended_bitint && info.extended;
    3325              :  }
    3326         6854 :               if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0])))
    3327           71 :  && (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) || POINTER_TYPE_P (TREE_TYPE (captures[1])))
    3328           71 :  && !extended_bitint
    3329           71 :  && TYPE_SIZE (TREE_TYPE (captures[0])) == TYPE_SIZE (TREE_TYPE (captures[1]))
    3330         3427 :  && (TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))
    3331            0 :  || (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    3332            0 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
    3333              : )
    3334              :                 {
    3335            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1092;
    3336            0 :                   {
    3337            0 :                     tree res_op0;
    3338            0 :                     res_op0 = captures[1];
    3339            0 :                     tree _r;
    3340            0 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3341            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 868, __FILE__, __LINE__, true);
    3342            0 :                     return _r;
    3343              :                   }
    3344            0 : next_after_fail1092:;
    3345              :                 }
    3346              :           }
    3347              :         }
    3348         3427 :         break;
    3349              :       }
    3350        83597 :     case CONSTRUCTOR:
    3351        83597 :       {
    3352        83597 :         {
    3353        83597 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3354        83597 :           {
    3355        83597 :  tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
    3356              :  ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
    3357        83597 :               if (CONSTRUCTOR_NELTS (ctor) == 0
    3358              : )
    3359              :                 {
    3360            6 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1093;
    3361            6 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1093;
    3362            6 :                   {
    3363            6 :                     tree _r;
    3364            6 :                     _r =  build_zero_cst (type);
    3365            6 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 869, __FILE__, __LINE__, true);
    3366            6 :                     return _r;
    3367              :                   }
    3368              : next_after_fail1093:;
    3369              :                 }
    3370              :               else
    3371              :                 {
    3372        83591 :                   if (CONSTRUCTOR_NELTS (ctor) == 1
    3373           40 :  && VECTOR_TYPE_P (TREE_TYPE (ctor))
    3374        83626 :  && operand_equal_p (TYPE_SIZE (type),
    3375           35 :  TYPE_SIZE (TREE_TYPE
    3376              :  (CONSTRUCTOR_ELT (ctor, 0)->value)))
    3377              : )
    3378              :                     {
    3379            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1094;
    3380            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1094;
    3381            0 :                       {
    3382            0 :                         tree res_op0;
    3383            0 :                         res_op0 =  CONSTRUCTOR_ELT (ctor, 0)->value;
    3384            0 :                         tree _r;
    3385            0 :                         _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3386            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 870, __FILE__, __LINE__, true);
    3387            0 :                         return _r;
    3388              :                       }
    3389              : next_after_fail1094:;
    3390              :                     }
    3391              :                 }
    3392              :           }
    3393              :         }
    3394              :         break;
    3395              :       }
    3396       289504 :     case VEC_COND_EXPR:
    3397       289504 :       {
    3398       289504 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3399       289504 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3400       289504 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3401       289504 :         {
    3402       289504 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3403       289458 :           if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    3404       289861 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
    3405              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[2])))
    3406        42083 :  && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (captures[2])))
    3407       331230 :  && (expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    3408          347 :  || !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1])))
    3409              : )
    3410              :             {
    3411        41726 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1095;
    3412        41726 :               {
    3413        41726 :                 tree res_op0;
    3414        41726 :                 res_op0 = captures[1];
    3415        41726 :                 tree res_op1;
    3416        41726 :                 {
    3417        41726 :                   tree _o1[1], _r1;
    3418        41726 :                   _o1[0] = captures[2];
    3419        41726 :                   if (TREE_TYPE (_o1[0]) != type)
    3420              :                     {
    3421        41726 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3422        41726 :                       if (EXPR_P (_r1))
    3423           82 :                         goto next_after_fail1095;
    3424              :                     }
    3425              :                   else
    3426              :                     _r1 = _o1[0];
    3427        41644 :                   res_op1 = _r1;
    3428              :                 }
    3429        41644 :                 tree res_op2;
    3430        41644 :                 {
    3431        41644 :                   tree _o1[1], _r1;
    3432        41644 :                   _o1[0] = captures[3];
    3433        41644 :                   if (TREE_TYPE (_o1[0]) != type)
    3434              :                     {
    3435        41644 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3436        41644 :                       if (EXPR_P (_r1))
    3437            0 :                         goto next_after_fail1095;
    3438              :                     }
    3439              :                   else
    3440              :                     _r1 = _o1[0];
    3441        41644 :                   res_op2 = _r1;
    3442              :                 }
    3443        41644 :                 tree _r;
    3444        41644 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3445        41644 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
    3446        41644 :                 return _r;
    3447              :               }
    3448       247860 : next_after_fail1095:;
    3449              :             }
    3450              :         }
    3451       247860 :         break;
    3452              :       }
    3453              :     default:;
    3454              :     }
    3455              :   return NULL_TREE;
    3456              : }
    3457              : 
    3458              : tree
    3459   1564853926 : generic_simplify (location_t loc, enum tree_code code, const tree type ATTRIBUTE_UNUSED, tree _p0)
    3460              : {
    3461   1564853926 :   switch (code)
    3462              :     {
    3463      2124169 :     case ABS_EXPR:
    3464      2124169 :       return generic_simplify_ABS_EXPR (loc, code, type, _p0);
    3465    714242381 :     CASE_CONVERT:
    3466    714242381 :       return generic_simplify_CONVERT_EXPR (loc, code, type, _p0);
    3467      2752056 :     case BIT_NOT_EXPR:
    3468      2752056 :       return generic_simplify_BIT_NOT_EXPR (loc, code, type, _p0);
    3469          942 :     case ABSU_EXPR:
    3470          942 :       return generic_simplify_ABSU_EXPR (loc, code, type, _p0);
    3471      4170368 :     case NEGATE_EXPR:
    3472      4170368 :       return generic_simplify_NEGATE_EXPR (loc, code, type, _p0);
    3473    468152782 :     case VIEW_CONVERT_EXPR:
    3474    468152782 :       return generic_simplify_VIEW_CONVERT_EXPR (loc, code, type, _p0);
    3475      6377735 :     case FLOAT_EXPR:
    3476      6377735 :       return generic_simplify_FLOAT_EXPR (loc, code, type, _p0);
    3477       495225 :     case FIX_TRUNC_EXPR:
    3478       495225 :       return generic_simplify_FIX_TRUNC_EXPR (loc, code, type, _p0);
    3479         3678 :     case PAREN_EXPR:
    3480         3678 :       return generic_simplify_PAREN_EXPR (loc, code, type, _p0);
    3481      1647151 :     case REALPART_EXPR:
    3482      1647151 :       return generic_simplify_REALPART_EXPR (loc, code, type, _p0);
    3483      1910916 :     case IMAGPART_EXPR:
    3484      1910916 :       return generic_simplify_IMAGPART_EXPR (loc, code, type, _p0);
    3485         1330 :     case CONJ_EXPR:
    3486         1330 :       return generic_simplify_CONJ_EXPR (loc, code, type, _p0);
    3487              :     default:;
    3488              :     }
    3489              :   return NULL_TREE;
    3490              : }
    3491              : 
    3492              : tree
    3493     49336237 : generic_simplify_POINTER_PLUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3494              : {
    3495     49336237 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3496     49336237 :   if (integer_zerop (_p1))
    3497              :     {
    3498      2310604 :       {
    3499      2310604 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3500      2310604 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1252;
    3501      2310604 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1252;
    3502      2310604 :         {
    3503      2310604 :           tree res_op0;
    3504      2310604 :           res_op0 = captures[0];
    3505      2310604 :           tree _r;
    3506      2310604 :           _r = non_lvalue_loc (loc, res_op0);
    3507      2310604 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 883, __FILE__, __LINE__, true);
    3508      2310604 :           return _r;
    3509              :         }
    3510              : next_after_fail1252:;
    3511              :       }
    3512              :     }
    3513     47025633 :   switch (TREE_CODE (_p0))
    3514              :     {
    3515      3719959 :     case POINTER_PLUS_EXPR:
    3516      3719959 :       {
    3517      3719959 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3518      3719959 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3519      3719959 :         {
    3520      3719959 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3521      3719959 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1253;
    3522      3719959 :           {
    3523      3719959 :             tree res_op0;
    3524      3719959 :             res_op0 = captures[1];
    3525      3719959 :             tree res_op1;
    3526      3719959 :             {
    3527      3719959 :               tree _o1[2], _r1;
    3528      3719959 :               _o1[0] = captures[2];
    3529      3719959 :               _o1[1] = captures[3];
    3530      3719959 :               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3531      3719959 :               res_op1 = _r1;
    3532              :             }
    3533      3719959 :             tree _r;
    3534      3719959 :             _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3535      3719959 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    3536      3719959 :             return _r;
    3537              :           }
    3538            0 : next_after_fail1253:;
    3539              :         }
    3540            0 :         break;
    3541              :       }
    3542     20246860 :     CASE_CONVERT:
    3543     20246860 :       {
    3544     20246860 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3545     20246860 :         switch (TREE_CODE (_q20))
    3546              :           {
    3547        26920 :           case POINTER_PLUS_EXPR:
    3548        26920 :             {
    3549        26920 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3550        26920 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3551        26920 :               {
    3552        26920 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
    3553        26920 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1254;
    3554        26920 :                 {
    3555        26920 :                   tree res_op0;
    3556        26920 :                   {
    3557        26920 :                     tree _o1[1], _r1;
    3558        26920 :                     _o1[0] = captures[2];
    3559        26920 :                     if (TREE_TYPE (_o1[0]) != type)
    3560              :                       {
    3561        26814 :                         _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3562              :                       }
    3563              :                     else
    3564              :                       _r1 = _o1[0];
    3565        26920 :                     res_op0 = _r1;
    3566              :                   }
    3567        26920 :                   tree res_op1;
    3568        26920 :                   {
    3569        26920 :                     tree _o1[2], _r1;
    3570        26920 :                     _o1[0] = captures[3];
    3571        26920 :                     _o1[1] = captures[4];
    3572        26920 :                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3573        26920 :                     res_op1 = _r1;
    3574              :                   }
    3575        26920 :                   tree _r;
    3576        26920 :                   _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3577        26920 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    3578        26920 :                   return _r;
    3579              :                 }
    3580            0 : next_after_fail1254:;
    3581              :               }
    3582            0 :               break;
    3583              :             }
    3584              :           default:;
    3585              :           }
    3586              :         break;
    3587              :       }
    3588     43278754 :     default:;
    3589              :     }
    3590     43278754 : if (integer_zerop (_p0))
    3591              :   {
    3592          646 :     {
    3593          646 :       tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
    3594          646 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1255;
    3595          646 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1255;
    3596          646 :       {
    3597          646 :         tree res_op0;
    3598          646 :         {
    3599          646 :           tree _o1[1], _r1;
    3600          646 :           _o1[0] = captures[0];
    3601          646 :           if (TREE_TYPE (_o1[0]) != type)
    3602              :             {
    3603          646 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3604              :             }
    3605              :           else
    3606              :             _r1 = _o1[0];
    3607          646 :           res_op0 = _r1;
    3608              :         }
    3609          646 :         tree _r;
    3610          646 :         _r = non_lvalue_loc (loc, res_op0);
    3611          646 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    3612          646 :         return _r;
    3613              :       }
    3614              : next_after_fail1255:;
    3615              :     }
    3616              :   }
    3617     43278108 :   switch (TREE_CODE (_p1))
    3618              :     {
    3619      8984144 :     CASE_CONVERT:
    3620      8984144 :       {
    3621      8984144 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3622      8984144 :         switch (TREE_CODE (_q30))
    3623              :           {
    3624       197207 :           case MINUS_EXPR:
    3625       197207 :             {
    3626       197207 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3627       197207 :               tree _q41 = TREE_OPERAND (_q30, 1);
    3628       197207 :               switch (TREE_CODE (_q40))
    3629              :                 {
    3630        91532 :                 CASE_CONVERT:
    3631        91532 :                   {
    3632        91532 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3633        91532 :                     switch (TREE_CODE (_q41))
    3634              :                       {
    3635         7910 :                       CASE_CONVERT:
    3636         7910 :                         {
    3637         7910 :                           tree _q70 = TREE_OPERAND (_q41, 0);
    3638         7910 :                           if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    3639              :                             {
    3640         4703 :                               {
    3641         4703 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q50 };
    3642         4703 :                                 if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
    3643         4703 :  && ((
    3644              : 
    3645              :  && useless_type_conversion_p (type, TREE_TYPE (captures[3])))
    3646              :  || (
    3647              : 1
    3648         4703 :  && type == TREE_TYPE (captures[3])))
    3649              : )
    3650              :                                   {
    3651         3314 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1256;
    3652         3314 :                                     {
    3653         3314 :                                       tree _r;
    3654         3314 :                                       _r = captures[3];
    3655         3314 :                                       if (TREE_SIDE_EFFECTS (captures[0]))
    3656            0 :                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3657         3314 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 902, __FILE__, __LINE__, true);
    3658         3314 :                                       return _r;
    3659              :                                     }
    3660            0 : next_after_fail1256:;
    3661              :                                   }
    3662              :                               }
    3663              :                             }
    3664              :                           break;
    3665              :                         }
    3666              :                       default:;
    3667              :                       }
    3668              :                     break;
    3669              :                   }
    3670              :                 default:;
    3671              :                 }
    3672              :               break;
    3673              :             }
    3674          568 :           case POINTER_DIFF_EXPR:
    3675          568 :             {
    3676          568 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3677          568 :               tree _q41 = TREE_OPERAND (_q30, 1);
    3678          568 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
    3679              :                 {
    3680            7 :                   {
    3681            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
    3682            7 :                     if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
    3683              : )
    3684              :                       {
    3685            7 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1257;
    3686            7 :                         {
    3687            7 :                           tree res_op0;
    3688            7 :                           res_op0 = captures[3];
    3689            7 :                           tree _r;
    3690            7 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3691            7 :                           if (TREE_SIDE_EFFECTS (captures[4]))
    3692            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3693            7 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 903, __FILE__, __LINE__, true);
    3694            7 :                           return _r;
    3695              :                         }
    3696            0 : next_after_fail1257:;
    3697              :                       }
    3698              :                   }
    3699              :                 }
    3700              :               break;
    3701              :             }
    3702              :           default:;
    3703              :           }
    3704              :         break;
    3705              :       }
    3706        27343 :     case MINUS_EXPR:
    3707        27343 :       {
    3708        27343 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3709        27343 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3710        27343 :         switch (TREE_CODE (_q30))
    3711              :           {
    3712        23455 :           CASE_CONVERT:
    3713        23455 :             {
    3714        23455 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3715        23455 :               switch (TREE_CODE (_q31))
    3716              :                 {
    3717         7340 :                 CASE_CONVERT:
    3718         7340 :                   {
    3719         7340 :                     tree _q60 = TREE_OPERAND (_q31, 0);
    3720         7340 :                     if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    3721              :                       {
    3722           20 :                         {
    3723           20 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _p1, _q40 };
    3724           20 :                           if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
    3725           20 :  && ((
    3726              : 
    3727              :  && useless_type_conversion_p (type, TREE_TYPE (captures[3])))
    3728              :  || (
    3729              : 1
    3730           20 :  && type == TREE_TYPE (captures[3])))
    3731              : )
    3732              :                             {
    3733            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1258;
    3734            0 :                               {
    3735            0 :                                 tree _r;
    3736            0 :                                 _r = captures[3];
    3737            0 :                                 if (TREE_SIDE_EFFECTS (captures[0]))
    3738            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3739            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 902, __FILE__, __LINE__, true);
    3740            0 :                                 return _r;
    3741              :                               }
    3742            0 : next_after_fail1258:;
    3743              :                             }
    3744              :                         }
    3745              :                       }
    3746              :                     break;
    3747              :                   }
    3748              :                 default:;
    3749              :                 }
    3750              :               break;
    3751              :             }
    3752          974 :           case INTEGER_CST:
    3753          974 :             {
    3754          974 :               switch (TREE_CODE (_q31))
    3755              :                 {
    3756           16 :                 case BIT_AND_EXPR:
    3757           16 :                   {
    3758           16 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    3759           16 :                     tree _q51 = TREE_OPERAND (_q31, 1);
    3760           16 :                     switch (TREE_CODE (_q50))
    3761              :                       {
    3762           16 :                       CASE_CONVERT:
    3763           16 :                         {
    3764           16 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    3765           16 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    3766              :                             {
    3767            0 :                               switch (TREE_CODE (_q51))
    3768              :                                 {
    3769            0 :                                 case INTEGER_CST:
    3770            0 :                                   {
    3771            0 :                                     {
    3772            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q51 };
    3773            0 :                                       if (tree_int_cst_min_precision (captures[3], UNSIGNED) <= tree_ctz (captures[2])
    3774              : )
    3775              :                                         {
    3776            0 :                                           {
    3777            0 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[3]));
    3778            0 :                                               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1259;
    3779            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1259;
    3780            0 :                                               {
    3781            0 :                                                 tree res_op0;
    3782            0 :                                                 {
    3783            0 :                                                   tree _o1[2], _r1;
    3784            0 :                                                   _o1[0] = captures[0];
    3785            0 :                                                   _o1[1] =  algn;
    3786            0 :                                                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3787            0 :                                                   res_op0 = _r1;
    3788              :                                                 }
    3789            0 :                                                 tree res_op1;
    3790            0 :                                                 res_op1 = captures[2];
    3791            0 :                                                 tree _r;
    3792            0 :                                                 _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3793            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 904, __FILE__, __LINE__, true);
    3794            0 :                                                 return _r;
    3795              :                                               }
    3796            0 : next_after_fail1259:;
    3797              :                                           }
    3798              :                                         }
    3799              :                                     }
    3800            0 :                                     break;
    3801              :                                   }
    3802              :                                 default:;
    3803              :                                 }
    3804              :                             }
    3805           16 :                           switch (TREE_CODE (_q60))
    3806              :                             {
    3807            0 :                             case POINTER_PLUS_EXPR:
    3808            0 :                               {
    3809            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    3810            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    3811            0 :                                 if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
    3812              :                                   {
    3813            0 :                                     switch (TREE_CODE (_q71))
    3814              :                                       {
    3815            0 :                                       case INTEGER_CST:
    3816            0 :                                         {
    3817            0 :                                           switch (TREE_CODE (_q51))
    3818              :                                             {
    3819            0 :                                             case INTEGER_CST:
    3820            0 :                                               {
    3821            0 :                                                 {
    3822            0 :                                                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q71, _q51 };
    3823            0 :                                                   {
    3824            0 :  auto mask_width = tree_int_cst_min_precision (captures[4], UNSIGNED);
    3825            0 :                                                       if (mask_width <= tree_ctz (captures[2]) && mask_width <= tree_ctz (captures[3])
    3826              : )
    3827              :                                                         {
    3828            0 :                                                           {
    3829            0 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[4]));
    3830            0 :                                                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1260;
    3831            0 :                                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1260;
    3832            0 :                                                               {
    3833            0 :                                                                 tree res_op0;
    3834            0 :                                                                 {
    3835            0 :                                                                   tree _o1[2], _r1;
    3836            0 :                                                                   _o1[0] = captures[0];
    3837            0 :                                                                   _o1[1] =  algn;
    3838            0 :                                                                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3839            0 :                                                                   res_op0 = _r1;
    3840              :                                                                 }
    3841            0 :                                                                 tree res_op1;
    3842            0 :                                                                 res_op1 = captures[2];
    3843            0 :                                                                 tree _r;
    3844            0 :                                                                 _r = fold_build2_loc (loc, POINTER_PLUS_EXPR, type, res_op0, res_op1);
    3845            0 :                                                                 if (TREE_SIDE_EFFECTS (captures[3]))
    3846            0 :                                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3847            0 :                                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 905, __FILE__, __LINE__, true);
    3848            0 :                                                                 return _r;
    3849              :                                                               }
    3850            0 : next_after_fail1260:;
    3851              :                                                           }
    3852              :                                                         }
    3853              :                                                   }
    3854              :                                                 }
    3855            0 :                                                 break;
    3856              :                                               }
    3857              :                                             default:;
    3858              :                                             }
    3859              :                                           break;
    3860              :                                         }
    3861              :                                       default:;
    3862              :                                       }
    3863              :                                   }
    3864              :                                 break;
    3865              :                               }
    3866              :                             default:;
    3867              :                             }
    3868              :                           break;
    3869              :                         }
    3870              :                       default:;
    3871              :                       }
    3872              :                     break;
    3873              :                   }
    3874              :                 default:;
    3875              :                 }
    3876              :               break;
    3877              :             }
    3878              :           default:;
    3879              :           }
    3880              :         break;
    3881              :       }
    3882            0 :     case POINTER_DIFF_EXPR:
    3883            0 :       {
    3884            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3885            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3886            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
    3887              :           {
    3888            0 :             {
    3889            0 :               tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
    3890            0 :               if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
    3891              : )
    3892              :                 {
    3893            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1261;
    3894            0 :                   {
    3895            0 :                     tree res_op0;
    3896            0 :                     res_op0 = captures[3];
    3897            0 :                     tree _r;
    3898            0 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3899            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
    3900            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3901            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 903, __FILE__, __LINE__, true);
    3902            0 :                     return _r;
    3903              :                   }
    3904            0 : next_after_fail1261:;
    3905              :                 }
    3906              :             }
    3907              :           }
    3908              :         break;
    3909              :       }
    3910       340026 :     case NEGATE_EXPR:
    3911       340026 :       {
    3912       340026 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3913       340026 :         switch (TREE_CODE (_q30))
    3914              :           {
    3915           22 :           case BIT_AND_EXPR:
    3916           22 :             {
    3917           22 :               tree _q40 = TREE_OPERAND (_q30, 0);
    3918           22 :               tree _q41 = TREE_OPERAND (_q30, 1);
    3919           22 :               switch (TREE_CODE (_q40))
    3920              :                 {
    3921           22 :                 CASE_CONVERT:
    3922           22 :                   {
    3923           22 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    3924           22 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    3925              :                       {
    3926            1 :                         switch (TREE_CODE (_q41))
    3927              :                           {
    3928            1 :                           case INTEGER_CST:
    3929            1 :                             {
    3930            1 :                               {
    3931            1 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    3932            1 :                                 {
    3933            1 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[1]));
    3934            1 :                                     if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1262;
    3935            1 :                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1262;
    3936            1 :                                     {
    3937            1 :                                       tree res_op0;
    3938            1 :                                       res_op0 = captures[0];
    3939            1 :                                       tree res_op1;
    3940            1 :                                       res_op1 =  algn;
    3941            1 :                                       tree _r;
    3942            1 :                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    3943            1 :                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    3944            1 :                                       return _r;
    3945              :                                     }
    3946            0 : next_after_fail1262:;
    3947              :                                 }
    3948              :                               }
    3949            0 :                               break;
    3950              :                             }
    3951              :                           default:;
    3952              :                           }
    3953              :                       }
    3954           21 :                     switch (TREE_CODE (_q50))
    3955              :                       {
    3956            0 :                       case POINTER_PLUS_EXPR:
    3957            0 :                         {
    3958            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    3959            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    3960            0 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    3961              :                             {
    3962            0 :                               switch (TREE_CODE (_q61))
    3963              :                                 {
    3964            0 :                                 case INTEGER_CST:
    3965            0 :                                   {
    3966            0 :                                     switch (TREE_CODE (_q41))
    3967              :                                       {
    3968            0 :                                       case INTEGER_CST:
    3969            0 :                                         {
    3970            0 :                                           {
    3971            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q61, _q41 };
    3972            0 :                                             if (tree_int_cst_min_precision (captures[2], UNSIGNED) <= tree_ctz (captures[1])
    3973              : )
    3974              :                                               {
    3975            0 :                                                 {
    3976            0 :  tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[2]));
    3977            0 :                                                     if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1263;
    3978            0 :                                                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1263;
    3979            0 :                                                     {
    3980            0 :                                                       tree res_op0;
    3981            0 :                                                       res_op0 = captures[0];
    3982            0 :                                                       tree res_op1;
    3983            0 :                                                       res_op1 =  algn;
    3984            0 :                                                       tree _r;
    3985            0 :                                                       _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    3986            0 :                                                       if (TREE_SIDE_EFFECTS (captures[1]))
    3987            0 :                                                         _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3988            0 :                                                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
    3989            0 :                                                       return _r;
    3990              :                                                     }
    3991            0 : next_after_fail1263:;
    3992              :                                                 }
    3993              :                                               }
    3994              :                                           }
    3995            0 :                                           break;
    3996              :                                         }
    3997              :                                       default:;
    3998              :                                       }
    3999              :                                     break;
    4000              :                                   }
    4001              :                                 default:;
    4002              :                                 }
    4003              :                             }
    4004              :                           break;
    4005              :                         }
    4006              :                       default:;
    4007              :                       }
    4008              :                     break;
    4009              :                   }
    4010              :                 default:;
    4011              :                 }
    4012              :               break;
    4013              :             }
    4014              :           default:;
    4015              :           }
    4016              :         break;
    4017              :       }
    4018              :     default:;
    4019              :     }
    4020              :   return NULL_TREE;
    4021              : }
    4022              : 
    4023              : tree
    4024     35979698 : generic_simplify_NE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4025              : {
    4026     35979698 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4027     35979698 :   switch (TREE_CODE (_p1))
    4028              :     {
    4029         2247 :     case NEGATE_EXPR:
    4030         2247 :       {
    4031         2247 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4032         2247 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4033              :           {
    4034            0 :             {
    4035            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4036            0 :               tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, NE_EXPR);
    4037            0 :               if (res) return res;
    4038              :             }
    4039              :           }
    4040              :         break;
    4041              :       }
    4042     35979698 :     default:;
    4043              :     }
    4044     35979698 :   switch (TREE_CODE (_p0))
    4045              :     {
    4046         6198 :     case NEGATE_EXPR:
    4047         6198 :       {
    4048         6198 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4049         6198 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4050              :           {
    4051           88 :             {
    4052           88 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4053           88 :               tree res = generic_simplify_202 (loc, type, _p0, _p1, captures, NE_EXPR);
    4054           88 :               if (res) return res;
    4055              :             }
    4056              :           }
    4057              :         break;
    4058              :       }
    4059            0 :     case CEIL_MOD_EXPR:
    4060            0 :       {
    4061            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4062            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4063            0 :         if (integer_pow2p (_q21))
    4064              :           {
    4065            0 :             if (integer_zerop (_p1))
    4066              :               {
    4067            0 :                 {
    4068            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4069            0 :                   tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, NE_EXPR, CEIL_MOD_EXPR);
    4070            0 :                   if (res) return res;
    4071              :                 }
    4072              :               }
    4073              :           }
    4074              :         break;
    4075              :       }
    4076         1623 :     case FLOOR_MOD_EXPR:
    4077         1623 :       {
    4078         1623 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4079         1623 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4080         1623 :         if (integer_pow2p (_q21))
    4081              :           {
    4082           20 :             if (integer_zerop (_p1))
    4083              :               {
    4084           20 :                 {
    4085           20 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4086           20 :                   tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, NE_EXPR, FLOOR_MOD_EXPR);
    4087           20 :                   if (res) return res;
    4088              :                 }
    4089              :               }
    4090              :           }
    4091              :         break;
    4092              :       }
    4093            0 :     case ROUND_MOD_EXPR:
    4094            0 :       {
    4095            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4096            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4097            0 :         if (integer_pow2p (_q21))
    4098              :           {
    4099            0 :             if (integer_zerop (_p1))
    4100              :               {
    4101            0 :                 {
    4102            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4103            0 :                   tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, NE_EXPR, ROUND_MOD_EXPR);
    4104            0 :                   if (res) return res;
    4105              :                 }
    4106              :               }
    4107              :           }
    4108              :         break;
    4109              :       }
    4110        80894 :     case TRUNC_MOD_EXPR:
    4111        80894 :       {
    4112        80894 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4113        80894 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4114        80894 :         if (integer_pow2p (_q21))
    4115              :           {
    4116        20912 :             if (integer_zerop (_p1))
    4117              :               {
    4118        19470 :                 {
    4119        19470 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4120        19470 :                   tree res = generic_simplify_203 (loc, type, _p0, _p1, captures, NE_EXPR, TRUNC_MOD_EXPR);
    4121        19470 :                   if (res) return res;
    4122              :                 }
    4123              :               }
    4124              :           }
    4125              :         break;
    4126              :       }
    4127      6885907 :     CASE_CONVERT:
    4128      6885907 :       {
    4129      6885907 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4130      6885907 :         switch (TREE_CODE (_p1))
    4131              :           {
    4132           69 :           case LSHIFT_EXPR:
    4133           69 :             {
    4134           69 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4135           69 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4136           69 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4137              :                 {
    4138            0 :                   {
    4139            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4140            0 :                     tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, NE_EXPR);
    4141            0 :                     if (res) return res;
    4142              :                   }
    4143              :                 }
    4144              :               break;
    4145              :             }
    4146      6885907 :           default:;
    4147              :           }
    4148      6885907 :       {
    4149      6885907 :         tree _p1_pops[1];
    4150      6885907 :         if (tree_nop_convert (_p1, _p1_pops))
    4151              :           {
    4152      2978379 :             tree _q40 = _p1_pops[0];
    4153      2978379 :             switch (TREE_CODE (_q40))
    4154              :               {
    4155            0 :               case LSHIFT_EXPR:
    4156            0 :                 {
    4157            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4158            0 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4159            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4160              :                     {
    4161            0 :                       {
    4162            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    4163            0 :                         tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, NE_EXPR);
    4164            0 :                         if (res) return res;
    4165              :                       }
    4166              :                     }
    4167              :                   break;
    4168              :                 }
    4169              :               default:;
    4170              :               }
    4171              :           }
    4172              :       }
    4173      6885907 :         switch (TREE_CODE (_q20))
    4174              :           {
    4175            0 :           case EXACT_DIV_EXPR:
    4176            0 :             {
    4177            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4178            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4179            0 :               switch (TREE_CODE (_q31))
    4180              :                 {
    4181            0 :                 case INTEGER_CST:
    4182            0 :                   {
    4183            0 :                     switch (TREE_CODE (_p1))
    4184              :                       {
    4185            0 :                       CASE_CONVERT:
    4186            0 :                         {
    4187            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4188            0 :                           switch (TREE_CODE (_q60))
    4189              :                             {
    4190            0 :                             case EXACT_DIV_EXPR:
    4191            0 :                               {
    4192            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4193            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4194            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    4195              :                                   {
    4196            0 :                                     {
    4197            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    4198            0 :                                       tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, NE_EXPR);
    4199            0 :                                       if (res) return res;
    4200              :                                     }
    4201              :                                   }
    4202              :                                 break;
    4203              :                               }
    4204              :                             default:;
    4205              :                             }
    4206              :                           break;
    4207              :                         }
    4208              :                       default:;
    4209              :                       }
    4210              :                     break;
    4211              :                   }
    4212              :                 default:;
    4213              :                 }
    4214              :               break;
    4215              :             }
    4216      6885907 :           default:;
    4217              :           }
    4218      6885907 :         switch (TREE_CODE (_p1))
    4219              :           {
    4220        20295 :           case PLUS_EXPR:
    4221        20295 :             {
    4222        20295 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4223        20295 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4224        20295 :               switch (TREE_CODE (_q41))
    4225              :                 {
    4226          203 :                 CASE_CONVERT:
    4227          203 :                   {
    4228          203 :                     tree _q60 = TREE_OPERAND (_q41, 0);
    4229          203 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4230              :                       {
    4231            0 :                         {
    4232            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4233            0 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    4234            0 :                           if (res) return res;
    4235              :                         }
    4236              :                       }
    4237              :                     break;
    4238              :                   }
    4239        20295 :                 default:;
    4240              :                 }
    4241        20295 :               switch (TREE_CODE (_q40))
    4242              :                 {
    4243          800 :                 CASE_CONVERT:
    4244          800 :                   {
    4245          800 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4246          800 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4247              :                       {
    4248           15 :                         {
    4249           15 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4250           15 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    4251           15 :                           if (res) return res;
    4252              :                         }
    4253              :                       }
    4254              :                     break;
    4255              :                   }
    4256        20288 :                 default:;
    4257              :                 }
    4258        20288 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4259              :                 {
    4260            0 :                   {
    4261            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4262            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    4263            0 :                     if (res) return res;
    4264              :                   }
    4265              :                 }
    4266        20288 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    4267              :                 {
    4268            0 :                   {
    4269            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4270            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    4271            0 :                     if (res) return res;
    4272              :                   }
    4273              :                 }
    4274              :               break;
    4275              :             }
    4276      6885900 :           default:;
    4277              :           }
    4278      6885900 :       {
    4279      6885900 :         tree _p1_pops[1];
    4280      6885900 :         if (tree_nop_convert (_p1, _p1_pops))
    4281              :           {
    4282      2978379 :             tree _q40 = _p1_pops[0];
    4283      2978379 :             switch (TREE_CODE (_q40))
    4284              :               {
    4285          140 :               case PLUS_EXPR:
    4286          140 :                 {
    4287          140 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4288          140 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4289          140 :                   switch (TREE_CODE (_q51))
    4290              :                     {
    4291            0 :                     CASE_CONVERT:
    4292            0 :                       {
    4293            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4294            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4295              :                           {
    4296            0 :                             {
    4297            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4298            0 :                               tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4299            0 :                               if (res) return res;
    4300              :                             }
    4301              :                           }
    4302              :                         break;
    4303              :                       }
    4304          140 :                     default:;
    4305              :                     }
    4306          140 :                   switch (TREE_CODE (_q50))
    4307              :                     {
    4308           73 :                     CASE_CONVERT:
    4309           73 :                       {
    4310           73 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    4311           73 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4312              :                           {
    4313            0 :                             {
    4314            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4315            0 :                               tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4316            0 :                               if (res) return res;
    4317              :                             }
    4318              :                           }
    4319              :                         break;
    4320              :                       }
    4321          140 :                     default:;
    4322              :                     }
    4323          140 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4324              :                     {
    4325            0 :                       {
    4326            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4327            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4328            0 :                         if (res) return res;
    4329              :                       }
    4330              :                     }
    4331          140 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4332              :                     {
    4333            0 :                       {
    4334            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4335            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4336            0 :                         if (res) return res;
    4337              :                       }
    4338              :                     }
    4339              :                   break;
    4340              :                 }
    4341              :               default:;
    4342              :               }
    4343              :           }
    4344              :       }
    4345      6885900 :         break;
    4346              :       }
    4347     35960201 :     default:;
    4348              :     }
    4349     35960201 : {
    4350     35960201 :   tree _p0_pops[1];
    4351     35960201 :   if (tree_nop_convert (_p0, _p0_pops))
    4352              :     {
    4353      4707180 :       tree _q20 = _p0_pops[0];
    4354      4707180 :       switch (TREE_CODE (_q20))
    4355              :         {
    4356           15 :         case LSHIFT_EXPR:
    4357           15 :           {
    4358           15 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4359           15 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4360           15 :             switch (TREE_CODE (_p1))
    4361              :               {
    4362            1 :               CASE_CONVERT:
    4363            1 :                 {
    4364            1 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4365            1 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4366              :                     {
    4367            0 :                       {
    4368            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4369            0 :                         tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, NE_EXPR);
    4370            0 :                         if (res) return res;
    4371              :                       }
    4372              :                     }
    4373              :                   break;
    4374              :                 }
    4375           15 :               default:;
    4376              :               }
    4377           15 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4378              :               {
    4379            1 :                 {
    4380            1 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4381            1 :                   tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, NE_EXPR);
    4382            1 :                   if (res) return res;
    4383              :                 }
    4384              :               }
    4385              :             break;
    4386              :           }
    4387        31259 :         case PLUS_EXPR:
    4388        31259 :           {
    4389        31259 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4390        31259 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4391        31259 :             switch (TREE_CODE (_q31))
    4392              :               {
    4393           37 :               CASE_CONVERT:
    4394           37 :                 {
    4395           37 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4396           37 :                   switch (TREE_CODE (_p1))
    4397              :                     {
    4398            0 :                     CASE_CONVERT:
    4399            0 :                       {
    4400            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4401            0 :                         if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    4402              :                           {
    4403            0 :                             {
    4404            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4405            0 :                               tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4406            0 :                               if (res) return res;
    4407              :                             }
    4408              :                           }
    4409              :                         break;
    4410              :                       }
    4411              :                     default:;
    4412              :                     }
    4413              :                   break;
    4414              :                 }
    4415        31259 :               default:;
    4416              :               }
    4417        31259 :             switch (TREE_CODE (_q30))
    4418              :               {
    4419        26676 :               CASE_CONVERT:
    4420        26676 :                 {
    4421        26676 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4422        26676 :                   switch (TREE_CODE (_p1))
    4423              :                     {
    4424          383 :                     CASE_CONVERT:
    4425          383 :                       {
    4426          383 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4427          383 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    4428              :                           {
    4429           90 :                             {
    4430           90 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4431           90 :                               tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4432           90 :                               if (res) return res;
    4433              :                             }
    4434              :                           }
    4435              :                         break;
    4436              :                       }
    4437        26586 :                     default:;
    4438              :                     }
    4439        26586 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4440              :                     {
    4441           11 :                       {
    4442           11 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4443           11 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4444           11 :                         if (res) return res;
    4445              :                       }
    4446              :                     }
    4447              :                   break;
    4448              :                 }
    4449        31158 :               default:;
    4450              :               }
    4451        31158 :             switch (TREE_CODE (_q31))
    4452              :               {
    4453           37 :               CASE_CONVERT:
    4454           37 :                 {
    4455           37 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4456           37 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    4457              :                     {
    4458            0 :                       {
    4459            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4460            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4461            0 :                         if (res) return res;
    4462              :                       }
    4463              :                     }
    4464              :                   break;
    4465              :                 }
    4466        31158 :               default:;
    4467              :               }
    4468        31158 :             switch (TREE_CODE (_p1))
    4469              :               {
    4470          368 :               CASE_CONVERT:
    4471          368 :                 {
    4472          368 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4473          368 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4474              :                     {
    4475            0 :                       {
    4476            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4477            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4478            0 :                         if (res) return res;
    4479              :                       }
    4480              :                     }
    4481          368 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4482              :                     {
    4483           68 :                       {
    4484           68 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4485           68 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4486           68 :                         if (res) return res;
    4487              :                       }
    4488              :                     }
    4489              :                   break;
    4490              :                 }
    4491        31090 :               default:;
    4492              :               }
    4493        31090 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4494              :               {
    4495            0 :                 {
    4496            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4497            0 :                   tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4498            0 :                   if (res) return res;
    4499              :                 }
    4500              :               }
    4501        31090 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4502              :               {
    4503            0 :                 {
    4504            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4505            0 :                   tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    4506            0 :                   if (res) return res;
    4507              :                 }
    4508              :               }
    4509              :             break;
    4510              :           }
    4511              :         default:;
    4512              :         }
    4513              :     }
    4514              : }
    4515     35960031 :   {
    4516     35960031 :     tree _p1_pops[1];
    4517     35960031 :     if (tree_nop_convert (_p1, _p1_pops))
    4518              :       {
    4519      3344362 :         tree _q30 = _p1_pops[0];
    4520      3344362 :         switch (TREE_CODE (_q30))
    4521              :           {
    4522            0 :           case LSHIFT_EXPR:
    4523            0 :             {
    4524            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4525            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4526            0 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    4527              :                 {
    4528            0 :                   {
    4529            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    4530            0 :                     tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, NE_EXPR);
    4531            0 :                     if (res) return res;
    4532              :                   }
    4533              :                 }
    4534              :               break;
    4535              :             }
    4536              :           default:;
    4537              :           }
    4538              :       }
    4539              :   }
    4540     35960031 :   switch (TREE_CODE (_p0))
    4541              :     {
    4542         5186 :     case LSHIFT_EXPR:
    4543         5186 :       {
    4544         5186 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4545         5186 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4546         5186 :         switch (TREE_CODE (_p1))
    4547              :           {
    4548           35 :           CASE_CONVERT:
    4549           35 :             {
    4550           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4551           35 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4552              :                 {
    4553            4 :                   {
    4554            4 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4555            4 :                     tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, NE_EXPR);
    4556            4 :                     if (res) return res;
    4557              :                   }
    4558              :                 }
    4559              :               break;
    4560              :             }
    4561         5185 :           default:;
    4562              :           }
    4563         5185 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4564              :           {
    4565           27 :             {
    4566           27 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4567           27 :               tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, NE_EXPR);
    4568           27 :               if (res) return res;
    4569              :             }
    4570              :           }
    4571         5181 :         if (tree_zero_one_valued_p (_q20))
    4572              :           {
    4573          476 :             switch (TREE_CODE (_q21))
    4574              :               {
    4575          116 :               case INTEGER_CST:
    4576          116 :                 {
    4577          116 :                   if (integer_zerop (_p1))
    4578              :                     {
    4579            5 :                       {
    4580            5 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4581            5 :                         if (tree_fits_shwi_p (captures[1])
    4582            5 :  && tree_to_shwi (captures[1]) > 0
    4583           10 :  && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    4584              : )
    4585              :                           {
    4586            5 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1516;
    4587            5 :                             {
    4588            5 :                               tree res_op0;
    4589            5 :                               res_op0 = captures[0];
    4590            5 :                               tree _r;
    4591            5 :                               _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4592            5 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    4593            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4594            5 :                               if (TREE_SIDE_EFFECTS (captures[2]))
    4595            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    4596            5 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    4597            5 :                               return _r;
    4598              :                             }
    4599            0 : next_after_fail1516:;
    4600              :                           }
    4601              :                       }
    4602              :                     }
    4603              :                   break;
    4604              :                 }
    4605              :               default:;
    4606              :               }
    4607              :           }
    4608              :         break;
    4609              :       }
    4610     35960021 :     default:;
    4611              :     }
    4612     35960021 :   switch (TREE_CODE (_p1))
    4613              :     {
    4614          268 :     case LSHIFT_EXPR:
    4615          268 :       {
    4616          268 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4617          268 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4618          268 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4619              :           {
    4620            0 :             {
    4621            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    4622            0 :               tree res = generic_simplify_204 (loc, type, _p0, _p1, captures, NE_EXPR);
    4623            0 :               if (res) return res;
    4624              :             }
    4625              :           }
    4626              :         break;
    4627              :       }
    4628     35960021 :     default:;
    4629              :     }
    4630     35960021 :   switch (TREE_CODE (_p0))
    4631              :     {
    4632          155 :     case VIEW_CONVERT_EXPR:
    4633          155 :       {
    4634          155 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4635          155 :         if (tree_zero_one_valued_p (_q20))
    4636              :           {
    4637            0 :             if (integer_zerop (_p1))
    4638              :               {
    4639            0 :                 {
    4640            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    4641            0 :                   tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, NE_EXPR);
    4642            0 :                   if (res) return res;
    4643              :                 }
    4644              :               }
    4645              :           }
    4646              :         break;
    4647              :       }
    4648        20506 :     case RSHIFT_EXPR:
    4649        20506 :       {
    4650        20506 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4651        20506 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4652        20506 :         switch (TREE_CODE (_q21))
    4653              :           {
    4654        18176 :           case INTEGER_CST:
    4655        18176 :             {
    4656        18176 :               switch (TREE_CODE (_p1))
    4657              :                 {
    4658          210 :                 case RSHIFT_EXPR:
    4659          210 :                   {
    4660          210 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4661          210 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4662          210 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4663              :                       {
    4664           15 :                         switch (TREE_CODE (_q51))
    4665              :                           {
    4666           15 :                           case INTEGER_CST:
    4667           15 :                             {
    4668           15 :                               {
    4669           15 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4670           15 :                                 tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
    4671           15 :                                 if (res) return res;
    4672              :                               }
    4673            3 :                               break;
    4674              :                             }
    4675              :                           default:;
    4676              :                           }
    4677              :                       }
    4678              :                     break;
    4679              :                   }
    4680        18164 :                 default:;
    4681              :                 }
    4682        18164 :             if (integer_zerop (_p1))
    4683              :               {
    4684         7617 :                 {
    4685         7617 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4686         7617 :                   tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
    4687         7617 :                   if (res) return res;
    4688              :                 }
    4689              :               }
    4690              :               break;
    4691              :             }
    4692              :           default:;
    4693              :           }
    4694              :         break;
    4695              :       }
    4696        95289 :     case MULT_EXPR:
    4697        95289 :       {
    4698        95289 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4699        95289 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4700        95289 :         switch (TREE_CODE (_p1))
    4701              :           {
    4702         2845 :           case MULT_EXPR:
    4703         2845 :             {
    4704         2845 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4705         2845 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4706         2845 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4707              :                 {
    4708         1591 :                   {
    4709         1591 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4710         1591 :                     tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, NE_EXPR);
    4711         1591 :                     if (res) return res;
    4712              :                   }
    4713              :                 }
    4714         2841 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4715              :                 {
    4716           53 :                   {
    4717           53 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    4718           53 :                     tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, NE_EXPR);
    4719           53 :                     if (res) return res;
    4720              :                   }
    4721              :                 }
    4722         2841 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4723              :                 {
    4724           22 :                   {
    4725           22 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    4726           22 :                     tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, NE_EXPR);
    4727           22 :                     if (res) return res;
    4728              :                   }
    4729              :                 }
    4730         2841 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4731              :                 {
    4732          257 :                   {
    4733          257 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    4734          257 :                     tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, NE_EXPR);
    4735          257 :                     if (res) return res;
    4736              :                   }
    4737              :                 }
    4738              :               break;
    4739              :             }
    4740        95285 :           default:;
    4741              :           }
    4742        95285 :         switch (TREE_CODE (_q21))
    4743              :           {
    4744        77780 :           case INTEGER_CST:
    4745        77780 :             {
    4746        77780 :               switch (TREE_CODE (_p1))
    4747              :                 {
    4748         1986 :                 case MULT_EXPR:
    4749         1986 :                   {
    4750         1986 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4751         1986 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4752         1986 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4753              :                       {
    4754         1062 :                         {
    4755         1062 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4756         1062 :                           tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, NE_EXPR);
    4757         1062 :                           if (res) return res;
    4758              :                         }
    4759              :                       }
    4760              :                     break;
    4761              :                   }
    4762              :                 default:;
    4763              :                 }
    4764              :               break;
    4765              :             }
    4766              :           default:;
    4767              :           }
    4768              :         break;
    4769              :       }
    4770         2057 :     case EXACT_DIV_EXPR:
    4771         2057 :       {
    4772         2057 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4773         2057 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4774         2057 :         switch (TREE_CODE (_q21))
    4775              :           {
    4776         2057 :           case INTEGER_CST:
    4777         2057 :             {
    4778         2057 :               switch (TREE_CODE (_p1))
    4779              :                 {
    4780           22 :                 case EXACT_DIV_EXPR:
    4781           22 :                   {
    4782           22 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4783           22 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4784           22 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4785              :                       {
    4786           12 :                         {
    4787           12 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    4788           12 :                           tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, NE_EXPR);
    4789           12 :                           if (res) return res;
    4790              :                         }
    4791              :                       }
    4792              :                     break;
    4793              :                   }
    4794              :                 default:;
    4795              :                 }
    4796              :               break;
    4797              :             }
    4798              :           default:;
    4799              :           }
    4800              :         break;
    4801              :       }
    4802        11294 :     case TRUNC_DIV_EXPR:
    4803        11294 :       {
    4804        11294 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4805        11294 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4806        11294 :         switch (TREE_CODE (_q21))
    4807              :           {
    4808         8560 :           case INTEGER_CST:
    4809         8560 :             {
    4810         8560 :               switch (TREE_CODE (_p1))
    4811              :                 {
    4812         2432 :                 case INTEGER_CST:
    4813         2432 :                   {
    4814         2432 :                     {
    4815         2432 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4816         2432 :                       tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, NE_EXPR);
    4817         2432 :                       if (res) return res;
    4818              :                     }
    4819          325 :                     break;
    4820              :                   }
    4821              :                 default:;
    4822              :                 }
    4823              :               break;
    4824              :             }
    4825              :           default:;
    4826              :           }
    4827              :         break;
    4828              :       }
    4829      1508837 :     case PLUS_EXPR:
    4830      1508837 :       {
    4831      1508837 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4832      1508837 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4833      1508837 :         switch (TREE_CODE (_p1))
    4834              :           {
    4835       188560 :           case PLUS_EXPR:
    4836       188560 :             {
    4837       188560 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4838       188560 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4839       188560 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4840              :                 {
    4841          959 :                   {
    4842          959 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4843         1918 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4844         1887 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4845          845 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4846              : )
    4847              :                       {
    4848          928 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1517;
    4849          928 :                         {
    4850          928 :                           tree res_op0;
    4851          928 :                           res_op0 = captures[0];
    4852          928 :                           tree res_op1;
    4853          928 :                           res_op1 = captures[2];
    4854          928 :                           tree _r;
    4855          928 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4856          928 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4857            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4858          928 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    4859          928 :                           return _r;
    4860              :                         }
    4861            0 : next_after_fail1517:;
    4862              :                       }
    4863              :                   }
    4864              :                 }
    4865       187632 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4866              :                 {
    4867            0 :                   {
    4868            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    4869            0 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4870            0 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4871            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4872              : )
    4873              :                       {
    4874            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1518;
    4875            0 :                         {
    4876            0 :                           tree res_op0;
    4877            0 :                           res_op0 = captures[0];
    4878            0 :                           tree res_op1;
    4879            0 :                           res_op1 = captures[2];
    4880            0 :                           tree _r;
    4881            0 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4882            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4883            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4884            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    4885            0 :                           return _r;
    4886              :                         }
    4887            0 : next_after_fail1518:;
    4888              :                       }
    4889              :                   }
    4890              :                 }
    4891       187632 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4892              :                 {
    4893           98 :                   {
    4894           98 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    4895          196 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4896          196 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4897           98 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4898              : )
    4899              :                       {
    4900           98 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1519;
    4901           98 :                         {
    4902           98 :                           tree res_op0;
    4903           98 :                           res_op0 = captures[0];
    4904           98 :                           tree res_op1;
    4905           98 :                           res_op1 = captures[2];
    4906           98 :                           tree _r;
    4907           98 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4908           98 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4909            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4910           98 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    4911           98 :                           return _r;
    4912              :                         }
    4913            0 : next_after_fail1519:;
    4914              :                       }
    4915              :                   }
    4916              :                 }
    4917       187534 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4918              :                 {
    4919       107055 :                   {
    4920       107055 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    4921       214110 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4922       214087 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4923       107032 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4924              : )
    4925              :                       {
    4926       107032 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1520;
    4927       107032 :                         {
    4928       107032 :                           tree res_op0;
    4929       107032 :                           res_op0 = captures[0];
    4930       107032 :                           tree res_op1;
    4931       107032 :                           res_op1 = captures[2];
    4932       107032 :                           tree _r;
    4933       107032 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    4934       107032 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    4935            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4936       107032 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
    4937       107032 :                           return _r;
    4938              :                         }
    4939            0 : next_after_fail1520:;
    4940              :                       }
    4941              :                   }
    4942              :                 }
    4943              :               break;
    4944              :             }
    4945      1400779 :           default:;
    4946              :           }
    4947      1400779 :         switch (TREE_CODE (_q21))
    4948              :           {
    4949          747 :           CASE_CONVERT:
    4950          747 :             {
    4951          747 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4952          747 :               switch (TREE_CODE (_p1))
    4953              :                 {
    4954           88 :                 CASE_CONVERT:
    4955           88 :                   {
    4956           88 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4957           88 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    4958              :                       {
    4959            0 :                         {
    4960            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    4961            0 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    4962            0 :                           if (res) return res;
    4963              :                         }
    4964              :                       }
    4965              :                     break;
    4966              :                   }
    4967              :                 default:;
    4968              :                 }
    4969              :               break;
    4970              :             }
    4971      1400779 :           default:;
    4972              :           }
    4973      1400779 :         switch (TREE_CODE (_q20))
    4974              :           {
    4975       141896 :           CASE_CONVERT:
    4976       141896 :             {
    4977       141896 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4978       141896 :               switch (TREE_CODE (_p1))
    4979              :                 {
    4980         3684 :                 CASE_CONVERT:
    4981         3684 :                   {
    4982         3684 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    4983         3684 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4984              :                       {
    4985          398 :                         {
    4986          398 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    4987          398 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    4988          398 :                           if (res) return res;
    4989              :                         }
    4990              :                       }
    4991              :                     break;
    4992              :                   }
    4993       141498 :                 default:;
    4994              :                 }
    4995       141498 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4996              :                 {
    4997            0 :                   {
    4998            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    4999            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    5000            0 :                     if (res) return res;
    5001              :                   }
    5002              :                 }
    5003              :               break;
    5004              :             }
    5005      1400381 :           default:;
    5006              :           }
    5007      1400381 :         switch (TREE_CODE (_q21))
    5008              :           {
    5009          747 :           CASE_CONVERT:
    5010          747 :             {
    5011          747 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5012          747 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5013              :                 {
    5014            0 :                   {
    5015            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5016            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    5017            0 :                     if (res) return res;
    5018              :                   }
    5019              :                 }
    5020              :               break;
    5021              :             }
    5022      1400381 :           default:;
    5023              :           }
    5024      1400381 :         switch (TREE_CODE (_p1))
    5025              :           {
    5026        43404 :           CASE_CONVERT:
    5027        43404 :             {
    5028        43404 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5029        43404 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5030              :                 {
    5031            0 :                   {
    5032            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5033            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    5034            0 :                     if (res) return res;
    5035              :                   }
    5036              :                 }
    5037        43404 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5038              :                 {
    5039            0 :                   {
    5040            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5041            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    5042            0 :                     if (res) return res;
    5043              :                   }
    5044              :                 }
    5045              :               break;
    5046              :             }
    5047      1400381 :           default:;
    5048              :           }
    5049      1400381 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5050              :           {
    5051        79850 :             {
    5052        79850 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5053        79850 :               tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    5054        79850 :               if (res) return res;
    5055              :             }
    5056              :           }
    5057      1321235 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5058              :           {
    5059        19216 :             {
    5060        19216 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5061        19216 :               tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    5062        19216 :               if (res) return res;
    5063              :             }
    5064              :           }
    5065              :         break;
    5066              :       }
    5067       518812 :     case POINTER_PLUS_EXPR:
    5068       518812 :       {
    5069       518812 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5070       518812 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5071       518812 :         switch (TREE_CODE (_p1))
    5072              :           {
    5073        33983 :           case POINTER_PLUS_EXPR:
    5074        33983 :             {
    5075        33983 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5076        33983 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5077        33983 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5078              :                 {
    5079         8405 :                   {
    5080         8405 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5081         8405 :                     tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, NE_EXPR);
    5082         8405 :                     if (res) return res;
    5083              :                   }
    5084              :                 }
    5085              :               break;
    5086              :             }
    5087       510407 :           default:;
    5088              :           }
    5089       510407 :         switch (TREE_CODE (_q20))
    5090              :           {
    5091        70550 :           CASE_CONVERT:
    5092        70550 :             {
    5093        70550 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5094        70550 :               switch (TREE_CODE (_p1))
    5095              :                 {
    5096           80 :                 CASE_CONVERT:
    5097           80 :                   {
    5098           80 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5099           80 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5100              :                       {
    5101            0 :                         {
    5102            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5103            0 :                           tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    5104            0 :                           if (res) return res;
    5105              :                         }
    5106              :                       }
    5107              :                     break;
    5108              :                   }
    5109        70550 :                 default:;
    5110              :                 }
    5111        70550 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5112              :                 {
    5113           74 :                   {
    5114           74 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5115           74 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    5116           74 :                     if (res) return res;
    5117              :                   }
    5118              :                 }
    5119              :               break;
    5120              :             }
    5121       510333 :           default:;
    5122              :           }
    5123       510333 :         switch (TREE_CODE (_p1))
    5124              :           {
    5125         3503 :           CASE_CONVERT:
    5126         3503 :             {
    5127         3503 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5128         3503 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5129              :                 {
    5130            0 :                   {
    5131            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5132            0 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    5133            0 :                     if (res) return res;
    5134              :                   }
    5135              :                 }
    5136              :               break;
    5137              :             }
    5138       510333 :           default:;
    5139              :           }
    5140       510333 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5141              :           {
    5142        10131 :             {
    5143        10131 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5144        10131 :               tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    5145        10131 :               if (res) return res;
    5146              :             }
    5147              :           }
    5148              :         break;
    5149              :       }
    5150       105738 :     case MINUS_EXPR:
    5151       105738 :       {
    5152       105738 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5153       105738 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5154       105738 :         switch (TREE_CODE (_p1))
    5155              :           {
    5156         5878 :           case MINUS_EXPR:
    5157         5878 :             {
    5158         5878 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5159         5878 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5160         5878 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5161              :                 {
    5162          170 :                   {
    5163          170 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5164          340 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5165          173 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5166            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5167              : )
    5168              :                       {
    5169            3 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1521;
    5170            3 :                         {
    5171            3 :                           tree res_op0;
    5172            3 :                           res_op0 = captures[0];
    5173            3 :                           tree res_op1;
    5174            3 :                           res_op1 = captures[2];
    5175            3 :                           tree _r;
    5176            3 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    5177            3 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5178            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5179            3 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
    5180            3 :                           return _r;
    5181              :                         }
    5182            0 : next_after_fail1521:;
    5183              :                       }
    5184              :                   }
    5185              :                 }
    5186         5875 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5187              :                 {
    5188          166 :                   {
    5189          166 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5190          332 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    5191          166 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    5192            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
    5193              : )
    5194              :                       {
    5195            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1522;
    5196            0 :                         {
    5197            0 :                           tree res_op0;
    5198            0 :                           res_op0 = captures[2];
    5199            0 :                           tree res_op1;
    5200            0 :                           res_op1 = captures[1];
    5201            0 :                           tree _r;
    5202            0 :                           _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    5203            0 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    5204            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5205            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 924, __FILE__, __LINE__, true);
    5206            0 :                           return _r;
    5207              :                         }
    5208            0 : next_after_fail1522:;
    5209              :                       }
    5210              :                   }
    5211              :                 }
    5212              :               break;
    5213              :             }
    5214       105735 :           default:;
    5215              :           }
    5216       105735 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5217              :           {
    5218         1748 :             {
    5219         1748 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5220         1748 :               tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, NE_EXPR);
    5221         1748 :               if (res) return res;
    5222              :             }
    5223              :           }
    5224              :         break;
    5225              :       }
    5226        26923 :     case POINTER_DIFF_EXPR:
    5227        26923 :       {
    5228        26923 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5229        26923 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5230        26923 :         switch (TREE_CODE (_p1))
    5231              :           {
    5232         2263 :           case POINTER_DIFF_EXPR:
    5233         2263 :             {
    5234         2263 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5235         2263 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5236         2263 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5237              :                 {
    5238            0 :                   {
    5239            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5240            0 :                     tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, NE_EXPR);
    5241            0 :                     if (res) return res;
    5242              :                   }
    5243              :                 }
    5244         2263 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5245              :                 {
    5246            0 :                   {
    5247            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5248            0 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, NE_EXPR);
    5249            0 :                     if (res) return res;
    5250              :                   }
    5251              :                 }
    5252              :               break;
    5253              :             }
    5254              :           default:;
    5255              :           }
    5256              :         break;
    5257              :       }
    5258     35730579 :     default:;
    5259              :     }
    5260     35730579 : {
    5261     35730579 :   tree _p0_pops[1];
    5262     35730579 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    5263              :     {
    5264       533932 :       tree _q20 = _p0_pops[0];
    5265       533932 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5266              :         {
    5267           24 :           if (tree_truth_valued_p (_p1))
    5268              :             {
    5269            0 :               {
    5270            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5271            0 :                 tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, NE_EXPR);
    5272            0 :                 if (res) return res;
    5273              :               }
    5274              :             }
    5275              :         }
    5276              :     }
    5277              : }
    5278     35730579 : if (tree_truth_valued_p (_p0))
    5279              :   {
    5280      5337426 :     {
    5281      5337426 :       tree _p1_pops[1];
    5282      5337426 :       if (tree_logical_inverted_value (_p1, _p1_pops))
    5283              :         {
    5284         1139 :           tree _q30 = _p1_pops[0];
    5285         1139 :           if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5286              :             {
    5287            0 :               {
    5288            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5289            0 :                 tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, NE_EXPR);
    5290            0 :                 if (res) return res;
    5291              :               }
    5292              :             }
    5293              :         }
    5294              :     }
    5295              :   }
    5296     35730579 :   switch (TREE_CODE (_p1))
    5297              :     {
    5298       121428 :     case PLUS_EXPR:
    5299       121428 :       {
    5300       121428 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5301       121428 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5302       121428 :         switch (TREE_CODE (_q31))
    5303              :           {
    5304          342 :           CASE_CONVERT:
    5305          342 :             {
    5306          342 :               tree _q50 = TREE_OPERAND (_q31, 0);
    5307          342 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5308              :                 {
    5309            0 :                   {
    5310            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5311            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    5312            0 :                     if (res) return res;
    5313              :                   }
    5314              :                 }
    5315              :               break;
    5316              :             }
    5317       121428 :           default:;
    5318              :           }
    5319       121428 :         switch (TREE_CODE (_q30))
    5320              :           {
    5321         5587 :           CASE_CONVERT:
    5322         5587 :             {
    5323         5587 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5324         5587 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5325              :                 {
    5326            0 :                   {
    5327            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5328            0 :                     tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    5329            0 :                     if (res) return res;
    5330              :                   }
    5331              :                 }
    5332              :               break;
    5333              :             }
    5334       121428 :           default:;
    5335              :           }
    5336       121428 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5337              :           {
    5338            0 :             {
    5339            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5340            0 :               tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    5341            0 :               if (res) return res;
    5342              :             }
    5343              :           }
    5344       121428 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5345              :           {
    5346            8 :             {
    5347            8 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5348            8 :               tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, NE_EXPR);
    5349            8 :               if (res) return res;
    5350              :             }
    5351              :           }
    5352              :         break;
    5353              :       }
    5354     35730571 :     default:;
    5355              :     }
    5356     35730571 : {
    5357     35730571 :   tree _p1_pops[1];
    5358     35730571 :   if (tree_nop_convert (_p1, _p1_pops))
    5359              :     {
    5360      3343962 :       tree _q30 = _p1_pops[0];
    5361      3343962 :       switch (TREE_CODE (_q30))
    5362              :         {
    5363         1658 :         case PLUS_EXPR:
    5364         1658 :           {
    5365         1658 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5366         1658 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5367         1658 :             switch (TREE_CODE (_q41))
    5368              :               {
    5369            3 :               CASE_CONVERT:
    5370            3 :                 {
    5371            3 :                   tree _q60 = TREE_OPERAND (_q41, 0);
    5372            3 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    5373              :                     {
    5374            0 :                       {
    5375            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5376            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    5377            0 :                         if (res) return res;
    5378              :                       }
    5379              :                     }
    5380              :                   break;
    5381              :                 }
    5382         1658 :               default:;
    5383              :               }
    5384         1658 :             switch (TREE_CODE (_q40))
    5385              :               {
    5386         1102 :               CASE_CONVERT:
    5387         1102 :                 {
    5388         1102 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5389         1102 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5390              :                     {
    5391            0 :                       {
    5392            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5393            0 :                         tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    5394            0 :                         if (res) return res;
    5395              :                       }
    5396              :                     }
    5397              :                   break;
    5398              :                 }
    5399         1658 :               default:;
    5400              :               }
    5401         1658 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    5402              :               {
    5403            0 :                 {
    5404            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5405            0 :                   tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    5406            0 :                   if (res) return res;
    5407              :                 }
    5408              :               }
    5409         1658 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5410              :               {
    5411            0 :                 {
    5412            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5413            0 :                   tree res = generic_simplify_205 (loc, type, _p0, _p1, captures, NE_EXPR);
    5414            0 :                   if (res) return res;
    5415              :                 }
    5416              :               }
    5417              :             break;
    5418              :           }
    5419              :         default:;
    5420              :         }
    5421              :     }
    5422              : }
    5423     35730571 :   switch (TREE_CODE (_p0))
    5424              :     {
    5425      6885722 :     CASE_CONVERT:
    5426      6885722 :       {
    5427      6885722 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5428      6885722 :         switch (TREE_CODE (_p1))
    5429              :           {
    5430          179 :           case POINTER_PLUS_EXPR:
    5431          179 :             {
    5432          179 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5433          179 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5434          179 :               switch (TREE_CODE (_q40))
    5435              :                 {
    5436           48 :                 CASE_CONVERT:
    5437           48 :                   {
    5438           48 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5439           48 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5440              :                       {
    5441            0 :                         {
    5442            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5443            0 :                           tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    5444            0 :                           if (res) return res;
    5445              :                         }
    5446              :                       }
    5447              :                     break;
    5448              :                   }
    5449          179 :                 default:;
    5450              :                 }
    5451          179 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    5452              :                 {
    5453            0 :                   {
    5454            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5455            0 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    5456            0 :                     if (res) return res;
    5457              :                   }
    5458              :                 }
    5459              :               break;
    5460              :             }
    5461      6885722 :           default:;
    5462              :           }
    5463      6885722 :       {
    5464      6885722 :         tree _p1_pops[1];
    5465      6885722 :         if (tree_nop_convert (_p1, _p1_pops))
    5466              :           {
    5467      2978221 :             tree _q40 = _p1_pops[0];
    5468      2978221 :             switch (TREE_CODE (_q40))
    5469              :               {
    5470           48 :               case POINTER_PLUS_EXPR:
    5471           48 :                 {
    5472           48 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5473           48 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    5474           48 :                   switch (TREE_CODE (_q50))
    5475              :                     {
    5476            8 :                     CASE_CONVERT:
    5477            8 :                       {
    5478            8 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    5479            8 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5480              :                           {
    5481            0 :                             {
    5482            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5483            0 :                               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5484            0 :                               if (res) return res;
    5485              :                             }
    5486              :                           }
    5487              :                         break;
    5488              :                       }
    5489           48 :                     default:;
    5490              :                     }
    5491           48 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5492              :                     {
    5493            0 :                       {
    5494            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5495            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5496            0 :                         if (res) return res;
    5497              :                       }
    5498              :                     }
    5499              :                   break;
    5500              :                 }
    5501              :               default:;
    5502              :               }
    5503              :           }
    5504              :       }
    5505      6885722 :         break;
    5506              :       }
    5507     35730571 :     default:;
    5508              :     }
    5509     35730571 : {
    5510     35730571 :   tree _p0_pops[1];
    5511     35730571 :   if (tree_nop_convert (_p0, _p0_pops))
    5512              :     {
    5513      4707010 :       tree _q20 = _p0_pops[0];
    5514      4707010 :       switch (TREE_CODE (_q20))
    5515              :         {
    5516          185 :         case POINTER_PLUS_EXPR:
    5517          185 :           {
    5518          185 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5519          185 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5520          185 :             switch (TREE_CODE (_q30))
    5521              :               {
    5522           24 :               CASE_CONVERT:
    5523           24 :                 {
    5524           24 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    5525           24 :                   switch (TREE_CODE (_p1))
    5526              :                     {
    5527            8 :                     CASE_CONVERT:
    5528            8 :                       {
    5529            8 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    5530            8 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    5531              :                           {
    5532            0 :                             {
    5533            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5534            0 :                               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5535            0 :                               if (res) return res;
    5536              :                             }
    5537              :                           }
    5538              :                         break;
    5539              :                       }
    5540           24 :                     default:;
    5541              :                     }
    5542           24 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5543              :                     {
    5544            0 :                       {
    5545            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5546            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5547            0 :                         if (res) return res;
    5548              :                       }
    5549              :                     }
    5550              :                   break;
    5551              :                 }
    5552          185 :               default:;
    5553              :               }
    5554          185 :             switch (TREE_CODE (_p1))
    5555              :               {
    5556           50 :               CASE_CONVERT:
    5557           50 :                 {
    5558           50 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5559           50 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5560              :                     {
    5561            0 :                       {
    5562            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5563            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5564            0 :                         if (res) return res;
    5565              :                       }
    5566              :                     }
    5567              :                   break;
    5568              :                 }
    5569          185 :               default:;
    5570              :               }
    5571          185 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5572              :               {
    5573            0 :                 {
    5574            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5575            0 :                   tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5576            0 :                   if (res) return res;
    5577              :                 }
    5578              :               }
    5579              :             break;
    5580              :           }
    5581              :         default:;
    5582              :         }
    5583              :     }
    5584              : }
    5585     35730571 :   switch (TREE_CODE (_p1))
    5586              :     {
    5587        29573 :     case POINTER_PLUS_EXPR:
    5588        29573 :       {
    5589        29573 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5590        29573 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5591        29573 :         switch (TREE_CODE (_q30))
    5592              :           {
    5593         2754 :           CASE_CONVERT:
    5594         2754 :             {
    5595         2754 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5596         2754 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5597              :                 {
    5598            0 :                   {
    5599            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5600            0 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    5601            0 :                     if (res) return res;
    5602              :                   }
    5603              :                 }
    5604              :               break;
    5605              :             }
    5606        29573 :           default:;
    5607              :           }
    5608        29573 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5609              :           {
    5610            0 :             {
    5611            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5612            0 :               tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, NE_EXPR);
    5613            0 :               if (res) return res;
    5614              :             }
    5615              :           }
    5616              :         break;
    5617              :       }
    5618     35730571 :     default:;
    5619              :     }
    5620     35730571 : {
    5621     35730571 :   tree _p1_pops[1];
    5622     35730571 :   if (tree_nop_convert (_p1, _p1_pops))
    5623              :     {
    5624      3343962 :       tree _q30 = _p1_pops[0];
    5625      3343962 :       switch (TREE_CODE (_q30))
    5626              :         {
    5627          387 :         case POINTER_PLUS_EXPR:
    5628          387 :           {
    5629          387 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5630          387 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5631          387 :             switch (TREE_CODE (_q40))
    5632              :               {
    5633            8 :               CASE_CONVERT:
    5634            8 :                 {
    5635            8 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5636            8 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5637              :                     {
    5638            0 :                       {
    5639            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5640            0 :                         tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5641            0 :                         if (res) return res;
    5642              :                       }
    5643              :                     }
    5644              :                   break;
    5645              :                 }
    5646          387 :               default:;
    5647              :               }
    5648          387 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5649              :               {
    5650            0 :                 {
    5651            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5652            0 :                   tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, NE_EXPR);
    5653            0 :                   if (res) return res;
    5654              :                 }
    5655              :               }
    5656              :             break;
    5657              :           }
    5658              :         default:;
    5659              :         }
    5660              :     }
    5661              : }
    5662     35730571 :   switch (TREE_CODE (_p0))
    5663              :     {
    5664       500202 :     case POINTER_PLUS_EXPR:
    5665       500202 :       {
    5666       500202 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5667       500202 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5668       500202 :         switch (TREE_CODE (_p1))
    5669              :           {
    5670        44149 :           case ADDR_EXPR:
    5671        44149 :             {
    5672        44149 :               {
    5673        44149 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5674        44149 :                 tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, NE_EXPR);
    5675        44149 :                 if (res) return res;
    5676              :               }
    5677        32846 :               break;
    5678              :             }
    5679       488899 :           default:;
    5680              :           }
    5681       488899 :         switch (TREE_CODE (_q20))
    5682              :           {
    5683         4900 :           case ADDR_EXPR:
    5684         4900 :             {
    5685         4900 :               switch (TREE_CODE (_p1))
    5686              :                 {
    5687          264 :                 case POINTER_PLUS_EXPR:
    5688          264 :                   {
    5689          264 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5690          264 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5691          264 :                     switch (TREE_CODE (_q50))
    5692              :                       {
    5693            0 :                       case ADDR_EXPR:
    5694            0 :                         {
    5695            0 :                           {
    5696            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    5697            0 :                             tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, NE_EXPR);
    5698            0 :                             if (res) return res;
    5699              :                           }
    5700            0 :                           break;
    5701              :                         }
    5702              :                       default:;
    5703              :                       }
    5704              :                     break;
    5705              :                   }
    5706              :                 default:;
    5707              :                 }
    5708              :               break;
    5709              :             }
    5710              :           default:;
    5711              :           }
    5712              :         break;
    5713              :       }
    5714       195971 :     case ADDR_EXPR:
    5715       195971 :       {
    5716       195971 :         switch (TREE_CODE (_p1))
    5717              :           {
    5718            0 :           case POINTER_PLUS_EXPR:
    5719            0 :             {
    5720            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    5721            0 :               tree _q31 = TREE_OPERAND (_p1, 1);
    5722            0 :               {
    5723            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5724            0 :                 tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, NE_EXPR);
    5725            0 :                 if (res) return res;
    5726              :               }
    5727            0 :               break;
    5728              :             }
    5729              :           default:;
    5730              :           }
    5731              :         break;
    5732              :       }
    5733     35719268 :     default:;
    5734              :     }
    5735     35719268 :   switch (TREE_CODE (_p1))
    5736              :     {
    5737        30311 :     case MINUS_EXPR:
    5738        30311 :       {
    5739        30311 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5740        30311 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5741        30311 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5742              :           {
    5743            0 :             {
    5744            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5745            0 :               tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, NE_EXPR);
    5746            0 :               if (res) return res;
    5747              :             }
    5748              :           }
    5749              :         break;
    5750              :       }
    5751     35719268 :     default:;
    5752              :     }
    5753     35719268 :   switch (TREE_CODE (_p0))
    5754              :     {
    5755         9187 :     case TRUNC_DIV_EXPR:
    5756         9187 :       {
    5757         9187 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5758         9187 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5759         9187 :         if (integer_zerop (_p1))
    5760              :           {
    5761         1035 :             {
    5762         1035 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5763         1035 :               tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
    5764         1035 :               if (res) return res;
    5765              :             }
    5766              :           }
    5767              :         break;
    5768              :       }
    5769      6885722 :     CASE_CONVERT:
    5770      6885722 :       {
    5771      6885722 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5772      6885722 :         switch (TREE_CODE (_p1))
    5773              :           {
    5774      3119627 :           CASE_CONVERT:
    5775      3119627 :             {
    5776      3119627 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5777      3119627 :               switch (TREE_CODE (_q40))
    5778              :                 {
    5779            0 :                 case MINUS_EXPR:
    5780            0 :                   {
    5781            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5782            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5783            0 :                     switch (TREE_CODE (_q50))
    5784              :                       {
    5785            0 :                       case INTEGER_CST:
    5786            0 :                         {
    5787            0 :                           switch (TREE_CODE (_q51))
    5788              :                             {
    5789            0 :                             CASE_CONVERT:
    5790            0 :                               {
    5791            0 :                                 tree _q70 = TREE_OPERAND (_q51, 0);
    5792            0 :                                 if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    5793              :                                   {
    5794            0 :                                     {
    5795            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    5796            0 :                                       tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5797            0 :                                       if (res) return res;
    5798              :                                     }
    5799              :                                   }
    5800              :                                 break;
    5801              :                               }
    5802              :                             default:;
    5803              :                             }
    5804              :                           break;
    5805              :                         }
    5806              :                       default:;
    5807              :                       }
    5808              :                     break;
    5809              :                   }
    5810              :                 default:;
    5811              :                 }
    5812              :               break;
    5813              :             }
    5814      6885722 :           default:;
    5815              :           }
    5816      6885722 :         switch (TREE_CODE (_q20))
    5817              :           {
    5818           99 :           case MINUS_EXPR:
    5819           99 :             {
    5820           99 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5821           99 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5822           99 :               switch (TREE_CODE (_q30))
    5823              :                 {
    5824           49 :                 case INTEGER_CST:
    5825           49 :                   {
    5826           49 :                     switch (TREE_CODE (_q31))
    5827              :                       {
    5828            0 :                       CASE_CONVERT:
    5829            0 :                         {
    5830            0 :                           tree _q50 = TREE_OPERAND (_q31, 0);
    5831            0 :                           switch (TREE_CODE (_p1))
    5832              :                             {
    5833            0 :                             CASE_CONVERT:
    5834            0 :                               {
    5835            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    5836            0 :                                 if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    5837              :                                   {
    5838            0 :                                     {
    5839            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    5840            0 :                                       tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5841            0 :                                       if (res) return res;
    5842              :                                     }
    5843              :                                   }
    5844              :                                 break;
    5845              :                               }
    5846            0 :                             default:;
    5847              :                             }
    5848            0 :                           if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    5849              :                             {
    5850            0 :                               {
    5851            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    5852            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5853            0 :                                 if (res) return res;
    5854              :                               }
    5855              :                             }
    5856              :                           break;
    5857              :                         }
    5858           49 :                       default:;
    5859              :                       }
    5860           49 :                     switch (TREE_CODE (_p1))
    5861              :                       {
    5862            0 :                       CASE_CONVERT:
    5863            0 :                         {
    5864            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    5865            0 :                           if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    5866              :                             {
    5867            0 :                               {
    5868            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    5869            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5870            0 :                                 if (res) return res;
    5871              :                               }
    5872              :                             }
    5873              :                           break;
    5874              :                         }
    5875           49 :                       default:;
    5876              :                       }
    5877           49 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    5878              :                       {
    5879            0 :                         {
    5880            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    5881            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5882            0 :                           if (res) return res;
    5883              :                         }
    5884              :                       }
    5885              :                     break;
    5886              :                   }
    5887              :                 default:;
    5888              :                 }
    5889              :               break;
    5890              :             }
    5891      6885722 :           default:;
    5892              :           }
    5893      6885722 :         switch (TREE_CODE (_p1))
    5894              :           {
    5895      3119627 :           CASE_CONVERT:
    5896      3119627 :             {
    5897      3119627 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5898      3119627 :               switch (TREE_CODE (_q40))
    5899              :                 {
    5900            0 :                 case MINUS_EXPR:
    5901            0 :                   {
    5902            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5903            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5904            0 :                     switch (TREE_CODE (_q50))
    5905              :                       {
    5906            0 :                       case INTEGER_CST:
    5907            0 :                         {
    5908            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5909              :                             {
    5910            0 :                               {
    5911            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    5912            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5913            0 :                                 if (res) return res;
    5914              :                               }
    5915              :                             }
    5916              :                           break;
    5917              :                         }
    5918              :                       default:;
    5919              :                       }
    5920              :                     break;
    5921              :                   }
    5922              :                 default:;
    5923              :                 }
    5924              :               break;
    5925              :             }
    5926        21676 :           case MINUS_EXPR:
    5927        21676 :             {
    5928        21676 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5929        21676 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5930        21676 :               switch (TREE_CODE (_q40))
    5931              :                 {
    5932          401 :                 case INTEGER_CST:
    5933          401 :                   {
    5934          401 :                     switch (TREE_CODE (_q41))
    5935              :                       {
    5936           20 :                       CASE_CONVERT:
    5937           20 :                         {
    5938           20 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    5939           20 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5940              :                             {
    5941            0 :                               {
    5942            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    5943            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5944            0 :                                 if (res) return res;
    5945              :                               }
    5946              :                             }
    5947              :                           break;
    5948              :                         }
    5949          401 :                       default:;
    5950              :                       }
    5951          401 :                     if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    5952              :                       {
    5953            0 :                         {
    5954            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    5955            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5956            0 :                           if (res) return res;
    5957              :                         }
    5958              :                       }
    5959              :                     break;
    5960              :                   }
    5961              :                 default:;
    5962              :                 }
    5963              :               break;
    5964              :             }
    5965              :           default:;
    5966              :           }
    5967              :         break;
    5968              :       }
    5969       104027 :     case MINUS_EXPR:
    5970       104027 :       {
    5971       104027 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5972       104027 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5973       104027 :         switch (TREE_CODE (_q20))
    5974              :           {
    5975         2115 :           case INTEGER_CST:
    5976         2115 :             {
    5977         2115 :               switch (TREE_CODE (_q21))
    5978              :                 {
    5979          182 :                 CASE_CONVERT:
    5980          182 :                   {
    5981          182 :                     tree _q40 = TREE_OPERAND (_q21, 0);
    5982          182 :                     switch (TREE_CODE (_p1))
    5983              :                       {
    5984            0 :                       CASE_CONVERT:
    5985            0 :                         {
    5986            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    5987            0 :                           if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    5988              :                             {
    5989            0 :                               {
    5990            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    5991            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    5992            0 :                                 if (res) return res;
    5993              :                               }
    5994              :                             }
    5995              :                           break;
    5996              :                         }
    5997          182 :                       default:;
    5998              :                       }
    5999          182 :                     if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6000              :                       {
    6001            0 :                         {
    6002            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6003            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    6004            0 :                           if (res) return res;
    6005              :                         }
    6006              :                       }
    6007              :                     break;
    6008              :                   }
    6009         2115 :                 default:;
    6010              :                 }
    6011         2115 :               switch (TREE_CODE (_p1))
    6012              :                 {
    6013          306 :                 CASE_CONVERT:
    6014          306 :                   {
    6015          306 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6016          306 :                     if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6017              :                       {
    6018            0 :                         {
    6019            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6020            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    6021            0 :                           if (res) return res;
    6022              :                         }
    6023              :                       }
    6024              :                     break;
    6025              :                   }
    6026         2115 :                 default:;
    6027              :                 }
    6028         2115 :               if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6029              :                 {
    6030           19 :                   {
    6031           19 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6032           19 :                     tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    6033           19 :                     if (res) return res;
    6034              :                   }
    6035              :                 }
    6036              :               break;
    6037              :             }
    6038              :           default:;
    6039              :           }
    6040              :         break;
    6041              :       }
    6042     35719152 :     default:;
    6043              :     }
    6044     35719152 :   switch (TREE_CODE (_p1))
    6045              :     {
    6046      3512470 :     CASE_CONVERT:
    6047      3512470 :       {
    6048      3512470 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6049      3512470 :         switch (TREE_CODE (_q30))
    6050              :           {
    6051          556 :           case MINUS_EXPR:
    6052          556 :             {
    6053          556 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6054          556 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6055          556 :               switch (TREE_CODE (_q40))
    6056              :                 {
    6057           17 :                 case INTEGER_CST:
    6058           17 :                   {
    6059           17 :                     switch (TREE_CODE (_q41))
    6060              :                       {
    6061            0 :                       CASE_CONVERT:
    6062            0 :                         {
    6063            0 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6064            0 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6065              :                             {
    6066            0 :                               {
    6067            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6068            0 :                                 tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    6069            0 :                                 if (res) return res;
    6070              :                               }
    6071              :                             }
    6072              :                           break;
    6073              :                         }
    6074           17 :                       default:;
    6075              :                       }
    6076           17 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6077              :                       {
    6078            0 :                         {
    6079            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6080            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    6081            0 :                           if (res) return res;
    6082              :                         }
    6083              :                       }
    6084              :                     break;
    6085              :                   }
    6086              :                 default:;
    6087              :                 }
    6088              :               break;
    6089              :             }
    6090              :           default:;
    6091              :           }
    6092              :         break;
    6093              :       }
    6094        30311 :     case MINUS_EXPR:
    6095        30311 :       {
    6096        30311 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6097        30311 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6098        30311 :         switch (TREE_CODE (_q30))
    6099              :           {
    6100          612 :           case INTEGER_CST:
    6101          612 :             {
    6102          612 :               switch (TREE_CODE (_q31))
    6103              :                 {
    6104           32 :                 CASE_CONVERT:
    6105           32 :                   {
    6106           32 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    6107           32 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6108              :                       {
    6109            0 :                         {
    6110            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6111            0 :                           tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    6112            0 :                           if (res) return res;
    6113              :                         }
    6114              :                       }
    6115              :                     break;
    6116              :                   }
    6117          612 :                 default:;
    6118              :                 }
    6119          612 :               if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6120              :                 {
    6121            0 :                   {
    6122            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6123            0 :                     tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, NE_EXPR);
    6124            0 :                     if (res) return res;
    6125              :                   }
    6126              :                 }
    6127              :               break;
    6128              :             }
    6129              :           default:;
    6130              :           }
    6131              :         break;
    6132              :       }
    6133     35719152 :     default:;
    6134              :     }
    6135     35719152 :   switch (TREE_CODE (_p0))
    6136              :     {
    6137        18040 :     case LT_EXPR:
    6138        18040 :       {
    6139        18040 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6140        18040 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6141        18040 :         switch (TREE_CODE (_p1))
    6142              :           {
    6143           18 :           case GT_EXPR:
    6144           18 :             {
    6145           18 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6146           18 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6147           18 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6148              :                 {
    6149            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6150              :                     {
    6151            0 :                       {
    6152            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6153            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6154            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6155            0 :                         const enum tree_code rcmp = NE_EXPR;
    6156            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6157            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6158            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6159            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6160              : )
    6161              :                           {
    6162            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1523;
    6163            0 :                             {
    6164            0 :                               tree res_op0;
    6165            0 :                               res_op0 = captures[0];
    6166            0 :                               tree res_op1;
    6167            0 :                               res_op1 = captures[1];
    6168            0 :                               tree _r;
    6169            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6170            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6171            0 :                               return _r;
    6172              :                             }
    6173            0 : next_after_fail1523:;
    6174              :                           }
    6175              :                       }
    6176              :                     }
    6177              :                 }
    6178              :               break;
    6179              :             }
    6180           23 :           case EQ_EXPR:
    6181           23 :             {
    6182           23 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6183           23 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6184           23 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6185              :                 {
    6186            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6187              :                     {
    6188            0 :                       {
    6189            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6190            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6191            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6192            0 :                         const enum tree_code rcmp = LE_EXPR;
    6193            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6194            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6195            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6196            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6197              : )
    6198              :                           {
    6199            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1524;
    6200            0 :                             {
    6201            0 :                               tree res_op0;
    6202            0 :                               res_op0 = captures[0];
    6203            0 :                               tree res_op1;
    6204            0 :                               res_op1 = captures[1];
    6205            0 :                               tree _r;
    6206            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6207            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6208            0 :                               return _r;
    6209              :                             }
    6210            0 : next_after_fail1524:;
    6211              :                           }
    6212              :                       }
    6213              :                     }
    6214              :                 }
    6215              :               break;
    6216              :             }
    6217           23 :           case NE_EXPR:
    6218           23 :             {
    6219           23 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6220           23 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6221           23 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6222              :                 {
    6223            9 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6224              :                     {
    6225            0 :                       {
    6226            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6227            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6228            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6229            0 :                         const enum tree_code rcmp = GT_EXPR;
    6230            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6231            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6232            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6233            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6234              : )
    6235              :                           {
    6236            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1525;
    6237            0 :                             {
    6238            0 :                               tree res_op0;
    6239            0 :                               res_op0 = captures[0];
    6240            0 :                               tree res_op1;
    6241            0 :                               res_op1 = captures[1];
    6242            0 :                               tree _r;
    6243            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6244            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6245            0 :                               return _r;
    6246              :                             }
    6247            0 : next_after_fail1525:;
    6248              :                           }
    6249              :                       }
    6250              :                     }
    6251              :                 }
    6252              :               break;
    6253              :             }
    6254              :           default:;
    6255              :           }
    6256              :         break;
    6257              :       }
    6258        11913 :     case LE_EXPR:
    6259        11913 :       {
    6260        11913 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6261        11913 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6262        11913 :         switch (TREE_CODE (_p1))
    6263              :           {
    6264           25 :           case GE_EXPR:
    6265           25 :             {
    6266           25 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6267           25 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6268           25 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6269              :                 {
    6270            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6271              :                     {
    6272            0 :                       {
    6273            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6274            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6275            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6276            0 :                         const enum tree_code rcmp = NE_EXPR;
    6277            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6278            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6279            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6280            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6281              : )
    6282              :                           {
    6283            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1526;
    6284            0 :                             {
    6285            0 :                               tree res_op0;
    6286            0 :                               res_op0 = captures[0];
    6287            0 :                               tree res_op1;
    6288            0 :                               res_op1 = captures[1];
    6289            0 :                               tree _r;
    6290            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6291            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6292            0 :                               return _r;
    6293              :                             }
    6294            0 : next_after_fail1526:;
    6295              :                           }
    6296              :                       }
    6297              :                     }
    6298              :                 }
    6299              :               break;
    6300              :             }
    6301           41 :           case EQ_EXPR:
    6302           41 :             {
    6303           41 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6304           41 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6305           41 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6306              :                 {
    6307            9 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6308              :                     {
    6309            0 :                       {
    6310            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6311            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6312            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6313            0 :                         const enum tree_code rcmp = LT_EXPR;
    6314            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6315            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6316            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6317            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6318              : )
    6319              :                           {
    6320            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1527;
    6321            0 :                             {
    6322            0 :                               tree res_op0;
    6323            0 :                               res_op0 = captures[0];
    6324            0 :                               tree res_op1;
    6325            0 :                               res_op1 = captures[1];
    6326            0 :                               tree _r;
    6327            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6328            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6329            0 :                               return _r;
    6330              :                             }
    6331            0 : next_after_fail1527:;
    6332              :                           }
    6333              :                       }
    6334              :                     }
    6335              :                 }
    6336              :               break;
    6337              :             }
    6338           13 :           case NE_EXPR:
    6339           13 :             {
    6340           13 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6341           13 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6342           13 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6343              :                 {
    6344            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6345              :                     {
    6346            0 :                       {
    6347            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6348            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6349            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6350            0 :                         const enum tree_code rcmp = GE_EXPR;
    6351            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6352            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6353            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6354            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6355              : )
    6356              :                           {
    6357            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1528;
    6358            0 :                             {
    6359            0 :                               tree res_op0;
    6360            0 :                               res_op0 = captures[0];
    6361            0 :                               tree res_op1;
    6362            0 :                               res_op1 = captures[1];
    6363            0 :                               tree _r;
    6364            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6365            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6366            0 :                               return _r;
    6367              :                             }
    6368            0 : next_after_fail1528:;
    6369              :                           }
    6370              :                       }
    6371              :                     }
    6372              :                 }
    6373              :               break;
    6374              :             }
    6375              :           default:;
    6376              :           }
    6377              :         break;
    6378              :       }
    6379        35463 :     case GT_EXPR:
    6380        35463 :       {
    6381        35463 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6382        35463 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6383        35463 :         switch (TREE_CODE (_p1))
    6384              :           {
    6385           77 :           case GT_EXPR:
    6386           77 :             {
    6387           77 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6388           77 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6389           77 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6390              :                 {
    6391            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6392              :                     {
    6393            0 :                       {
    6394            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6395            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6396            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6397            0 :                         const enum tree_code rcmp = NE_EXPR;
    6398            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6399            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6400            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6401            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6402              : )
    6403              :                           {
    6404            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1529;
    6405            0 :                             {
    6406            0 :                               tree res_op0;
    6407            0 :                               res_op0 = captures[0];
    6408            0 :                               tree res_op1;
    6409            0 :                               res_op1 = captures[1];
    6410            0 :                               tree _r;
    6411            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6412            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6413            0 :                               return _r;
    6414              :                             }
    6415            0 : next_after_fail1529:;
    6416              :                           }
    6417              :                       }
    6418            0 :                       {
    6419            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6420            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6421            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6422            0 :                         const enum tree_code rcmp = NE_EXPR;
    6423            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6424            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6425            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6426            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6427              : )
    6428              :                           {
    6429            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1530;
    6430            0 :                             {
    6431            0 :                               tree res_op0;
    6432            0 :                               res_op0 = captures[0];
    6433            0 :                               tree res_op1;
    6434            0 :                               res_op1 = captures[1];
    6435            0 :                               tree _r;
    6436            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6437            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6438            0 :                               return _r;
    6439              :                             }
    6440            0 : next_after_fail1530:;
    6441              :                           }
    6442              :                       }
    6443              :                     }
    6444              :                 }
    6445              :               break;
    6446              :             }
    6447           29 :           case EQ_EXPR:
    6448           29 :             {
    6449           29 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6450           29 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6451           29 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6452              :                 {
    6453            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6454              :                     {
    6455            0 :                       {
    6456            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6457            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6458            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6459            0 :                         const enum tree_code rcmp = LE_EXPR;
    6460            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6461            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6462            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6463            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6464              : )
    6465              :                           {
    6466            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1531;
    6467            0 :                             {
    6468            0 :                               tree res_op0;
    6469            0 :                               res_op0 = captures[0];
    6470            0 :                               tree res_op1;
    6471            0 :                               res_op1 = captures[1];
    6472            0 :                               tree _r;
    6473            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6474            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6475            0 :                               return _r;
    6476              :                             }
    6477            0 : next_after_fail1531:;
    6478              :                           }
    6479              :                       }
    6480              :                     }
    6481              :                 }
    6482              :               break;
    6483              :             }
    6484           53 :           case NE_EXPR:
    6485           53 :             {
    6486           53 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6487           53 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6488           53 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6489              :                 {
    6490            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6491              :                     {
    6492            0 :                       {
    6493            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6494            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6495            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6496            0 :                         const enum tree_code rcmp = GT_EXPR;
    6497            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6498            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6499            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6500            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6501              : )
    6502              :                           {
    6503            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1532;
    6504            0 :                             {
    6505            0 :                               tree res_op0;
    6506            0 :                               res_op0 = captures[0];
    6507            0 :                               tree res_op1;
    6508            0 :                               res_op1 = captures[1];
    6509            0 :                               tree _r;
    6510            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6511            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6512            0 :                               return _r;
    6513              :                             }
    6514            0 : next_after_fail1532:;
    6515              :                           }
    6516              :                       }
    6517              :                     }
    6518              :                 }
    6519              :               break;
    6520              :             }
    6521           32 :           case LT_EXPR:
    6522           32 :             {
    6523           32 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6524           32 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6525           32 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6526              :                 {
    6527            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6528              :                     {
    6529            0 :                       {
    6530            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6531            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6532            0 :                         const enum tree_code cmp2 = GT_EXPR;
    6533            0 :                         const enum tree_code rcmp = NE_EXPR;
    6534            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6535            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6536            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6537            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6538              : )
    6539              :                           {
    6540            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1533;
    6541            0 :                             {
    6542            0 :                               tree res_op0;
    6543            0 :                               res_op0 = captures[0];
    6544            0 :                               tree res_op1;
    6545            0 :                               res_op1 = captures[1];
    6546            0 :                               tree _r;
    6547            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6548            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6549            0 :                               return _r;
    6550              :                             }
    6551            0 : next_after_fail1533:;
    6552              :                           }
    6553              :                       }
    6554              :                     }
    6555              :                 }
    6556              :               break;
    6557              :             }
    6558              :           default:;
    6559              :           }
    6560              :         break;
    6561              :       }
    6562         6117 :     case GE_EXPR:
    6563         6117 :       {
    6564         6117 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6565         6117 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6566         6117 :         switch (TREE_CODE (_p1))
    6567              :           {
    6568           76 :           case GE_EXPR:
    6569           76 :             {
    6570           76 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6571           76 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6572           76 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6573              :                 {
    6574            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6575              :                     {
    6576            0 :                       {
    6577            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6578            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6579            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6580            0 :                         const enum tree_code rcmp = NE_EXPR;
    6581            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6582            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6583            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6584            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6585              : )
    6586              :                           {
    6587            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1534;
    6588            0 :                             {
    6589            0 :                               tree res_op0;
    6590            0 :                               res_op0 = captures[0];
    6591            0 :                               tree res_op1;
    6592            0 :                               res_op1 = captures[1];
    6593            0 :                               tree _r;
    6594            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6595            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6596            0 :                               return _r;
    6597              :                             }
    6598            0 : next_after_fail1534:;
    6599              :                           }
    6600              :                       }
    6601            0 :                       {
    6602            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6603            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6604            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6605            0 :                         const enum tree_code rcmp = NE_EXPR;
    6606            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6607            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6608            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6609            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6610              : )
    6611              :                           {
    6612            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1535;
    6613            0 :                             {
    6614            0 :                               tree res_op0;
    6615            0 :                               res_op0 = captures[0];
    6616            0 :                               tree res_op1;
    6617            0 :                               res_op1 = captures[1];
    6618            0 :                               tree _r;
    6619            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6620            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6621            0 :                               return _r;
    6622              :                             }
    6623            0 : next_after_fail1535:;
    6624              :                           }
    6625              :                       }
    6626              :                     }
    6627              :                 }
    6628              :               break;
    6629              :             }
    6630           52 :           case EQ_EXPR:
    6631           52 :             {
    6632           52 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6633           52 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6634           52 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6635              :                 {
    6636            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6637              :                     {
    6638            0 :                       {
    6639            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6640            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6641            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6642            0 :                         const enum tree_code rcmp = LT_EXPR;
    6643            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6644            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6645            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6646            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6647              : )
    6648              :                           {
    6649            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1536;
    6650            0 :                             {
    6651            0 :                               tree res_op0;
    6652            0 :                               res_op0 = captures[0];
    6653            0 :                               tree res_op1;
    6654            0 :                               res_op1 = captures[1];
    6655            0 :                               tree _r;
    6656            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6657            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6658            0 :                               return _r;
    6659              :                             }
    6660            0 : next_after_fail1536:;
    6661              :                           }
    6662              :                       }
    6663              :                     }
    6664              :                 }
    6665              :               break;
    6666              :             }
    6667           11 :           case NE_EXPR:
    6668           11 :             {
    6669           11 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6670           11 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6671           11 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6672              :                 {
    6673            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6674              :                     {
    6675            0 :                       {
    6676            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6677            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6678            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6679            0 :                         const enum tree_code rcmp = GE_EXPR;
    6680            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6681            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6682            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6683            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6684              : )
    6685              :                           {
    6686            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1537;
    6687            0 :                             {
    6688            0 :                               tree res_op0;
    6689            0 :                               res_op0 = captures[0];
    6690            0 :                               tree res_op1;
    6691            0 :                               res_op1 = captures[1];
    6692            0 :                               tree _r;
    6693            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6694            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6695            0 :                               return _r;
    6696              :                             }
    6697            0 : next_after_fail1537:;
    6698              :                           }
    6699              :                       }
    6700              :                     }
    6701              :                 }
    6702              :               break;
    6703              :             }
    6704           16 :           case LE_EXPR:
    6705           16 :             {
    6706           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6707           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6708           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6709              :                 {
    6710            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6711              :                     {
    6712            0 :                       {
    6713            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6714            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6715            0 :                         const enum tree_code cmp2 = GE_EXPR;
    6716            0 :                         const enum tree_code rcmp = NE_EXPR;
    6717            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6718            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6719            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6720            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6721              : )
    6722              :                           {
    6723            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1538;
    6724            0 :                             {
    6725            0 :                               tree res_op0;
    6726            0 :                               res_op0 = captures[0];
    6727            0 :                               tree res_op1;
    6728            0 :                               res_op1 = captures[1];
    6729            0 :                               tree _r;
    6730            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6731            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6732            0 :                               return _r;
    6733              :                             }
    6734            0 : next_after_fail1538:;
    6735              :                           }
    6736              :                       }
    6737              :                     }
    6738              :                 }
    6739              :               break;
    6740              :             }
    6741              :           default:;
    6742              :           }
    6743              :         break;
    6744              :       }
    6745        63463 :     case EQ_EXPR:
    6746        63463 :       {
    6747        63463 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6748        63463 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6749        63463 :         switch (TREE_CODE (_p1))
    6750              :           {
    6751            5 :           case LT_EXPR:
    6752            5 :             {
    6753            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6754            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6755            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6756              :                 {
    6757            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6758              :                     {
    6759            0 :                       {
    6760            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6761            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6762            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6763            0 :                         const enum tree_code rcmp = LE_EXPR;
    6764            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6765            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6766            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6767            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6768              : )
    6769              :                           {
    6770            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1539;
    6771            0 :                             {
    6772            0 :                               tree res_op0;
    6773            0 :                               res_op0 = captures[0];
    6774            0 :                               tree res_op1;
    6775            0 :                               res_op1 = captures[1];
    6776            0 :                               tree _r;
    6777            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6778            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6779            0 :                               return _r;
    6780              :                             }
    6781            0 : next_after_fail1539:;
    6782              :                           }
    6783              :                       }
    6784              :                     }
    6785              :                 }
    6786              :               break;
    6787              :             }
    6788           42 :           case LE_EXPR:
    6789           42 :             {
    6790           42 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6791           42 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6792           42 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6793              :                 {
    6794            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6795              :                     {
    6796            0 :                       {
    6797            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6798            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6799            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6800            0 :                         const enum tree_code rcmp = LT_EXPR;
    6801            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6802            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6803            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6804            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6805              : )
    6806              :                           {
    6807            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1540;
    6808            0 :                             {
    6809            0 :                               tree res_op0;
    6810            0 :                               res_op0 = captures[0];
    6811            0 :                               tree res_op1;
    6812            0 :                               res_op1 = captures[1];
    6813            0 :                               tree _r;
    6814            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6815            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6816            0 :                               return _r;
    6817              :                             }
    6818            0 : next_after_fail1540:;
    6819              :                           }
    6820              :                       }
    6821              :                     }
    6822              :                 }
    6823              :               break;
    6824              :             }
    6825            7 :           case GT_EXPR:
    6826            7 :             {
    6827            7 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6828            7 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6829            7 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6830              :                 {
    6831            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6832              :                     {
    6833            0 :                       {
    6834            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6835            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6836            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6837            0 :                         const enum tree_code rcmp = LE_EXPR;
    6838            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6839            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6840            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6841            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6842              : )
    6843              :                           {
    6844            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1541;
    6845            0 :                             {
    6846            0 :                               tree res_op0;
    6847            0 :                               res_op0 = captures[0];
    6848            0 :                               tree res_op1;
    6849            0 :                               res_op1 = captures[1];
    6850            0 :                               tree _r;
    6851            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6852            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6853            0 :                               return _r;
    6854              :                             }
    6855            0 : next_after_fail1541:;
    6856              :                           }
    6857              :                       }
    6858              :                     }
    6859              :                 }
    6860              :               break;
    6861              :             }
    6862           14 :           case GE_EXPR:
    6863           14 :             {
    6864           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6865           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6866           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6867              :                 {
    6868            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6869              :                     {
    6870            0 :                       {
    6871            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6872            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6873            0 :                         const enum tree_code cmp2 = EQ_EXPR;
    6874            0 :                         const enum tree_code rcmp = LT_EXPR;
    6875            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6876            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6877            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6878            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6879              : )
    6880              :                           {
    6881            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1542;
    6882            0 :                             {
    6883            0 :                               tree res_op0;
    6884            0 :                               res_op0 = captures[0];
    6885            0 :                               tree res_op1;
    6886            0 :                               res_op1 = captures[1];
    6887            0 :                               tree _r;
    6888            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6889            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6890            0 :                               return _r;
    6891              :                             }
    6892            0 : next_after_fail1542:;
    6893              :                           }
    6894              :                       }
    6895              :                     }
    6896              :                 }
    6897              :               break;
    6898              :             }
    6899              :           default:;
    6900              :           }
    6901              :         break;
    6902              :       }
    6903        68867 :     case NE_EXPR:
    6904        68867 :       {
    6905        68867 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6906        68867 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6907        68867 :         switch (TREE_CODE (_p1))
    6908              :           {
    6909            7 :           case LT_EXPR:
    6910            7 :             {
    6911            7 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6912            7 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6913            7 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6914              :                 {
    6915            7 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6916              :                     {
    6917            0 :                       {
    6918            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6919            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6920            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6921            0 :                         const enum tree_code rcmp = GT_EXPR;
    6922            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6923            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6924            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6925            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6926              : )
    6927              :                           {
    6928            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1543;
    6929            0 :                             {
    6930            0 :                               tree res_op0;
    6931            0 :                               res_op0 = captures[0];
    6932            0 :                               tree res_op1;
    6933            0 :                               res_op1 = captures[1];
    6934            0 :                               tree _r;
    6935            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6936            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6937            0 :                               return _r;
    6938              :                             }
    6939            0 : next_after_fail1543:;
    6940              :                           }
    6941              :                       }
    6942              :                     }
    6943              :                 }
    6944              :               break;
    6945              :             }
    6946          302 :           case LE_EXPR:
    6947          302 :             {
    6948          302 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6949          302 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6950          302 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6951              :                 {
    6952            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6953              :                     {
    6954            0 :                       {
    6955            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6956            0 :                         const enum tree_code cmp1 = LE_EXPR;
    6957            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6958            0 :                         const enum tree_code rcmp = GE_EXPR;
    6959            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6960            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6961            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6962            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    6963              : )
    6964              :                           {
    6965            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1544;
    6966            0 :                             {
    6967            0 :                               tree res_op0;
    6968            0 :                               res_op0 = captures[0];
    6969            0 :                               tree res_op1;
    6970            0 :                               res_op1 = captures[1];
    6971            0 :                               tree _r;
    6972            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    6973            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    6974            0 :                               return _r;
    6975              :                             }
    6976            0 : next_after_fail1544:;
    6977              :                           }
    6978              :                       }
    6979              :                     }
    6980              :                 }
    6981              :               break;
    6982              :             }
    6983          323 :           case GT_EXPR:
    6984          323 :             {
    6985          323 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6986          323 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6987          323 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6988              :                 {
    6989            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6990              :                     {
    6991            0 :                       {
    6992            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6993            0 :                         const enum tree_code cmp1 = LT_EXPR;
    6994            0 :                         const enum tree_code cmp2 = NE_EXPR;
    6995            0 :                         const enum tree_code rcmp = GT_EXPR;
    6996            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    6997            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    6998            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    6999            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7000              : )
    7001              :                           {
    7002            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1545;
    7003            0 :                             {
    7004            0 :                               tree res_op0;
    7005            0 :                               res_op0 = captures[0];
    7006            0 :                               tree res_op1;
    7007            0 :                               res_op1 = captures[1];
    7008            0 :                               tree _r;
    7009            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7010            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    7011            0 :                               return _r;
    7012              :                             }
    7013            0 : next_after_fail1545:;
    7014              :                           }
    7015              :                       }
    7016              :                     }
    7017              :                 }
    7018              :               break;
    7019              :             }
    7020            2 :           case GE_EXPR:
    7021            2 :             {
    7022            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7023            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7024            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7025              :                 {
    7026            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7027              :                     {
    7028            0 :                       {
    7029            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7030            0 :                         const enum tree_code cmp1 = LE_EXPR;
    7031            0 :                         const enum tree_code cmp2 = NE_EXPR;
    7032            0 :                         const enum tree_code rcmp = GE_EXPR;
    7033            0 :                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    7034            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    7035            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[1]))
    7036            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    7037              : )
    7038              :                           {
    7039            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1546;
    7040            0 :                             {
    7041            0 :                               tree res_op0;
    7042            0 :                               res_op0 = captures[0];
    7043            0 :                               tree res_op1;
    7044            0 :                               res_op1 = captures[1];
    7045            0 :                               tree _r;
    7046            0 :                               _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    7047            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    7048            0 :                               return _r;
    7049              :                             }
    7050            0 : next_after_fail1546:;
    7051              :                           }
    7052              :                       }
    7053              :                     }
    7054              :                 }
    7055              :               break;
    7056              :             }
    7057              :           default:;
    7058              :           }
    7059              :         break;
    7060              :       }
    7061         8310 :     case MIN_EXPR:
    7062         8310 :       {
    7063         8310 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7064         8310 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7065         8310 :         switch (TREE_CODE (_p1))
    7066              :           {
    7067            0 :           case MAX_EXPR:
    7068            0 :             {
    7069            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7070            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7071            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7072              :                 {
    7073            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7074              :                     {
    7075            0 :                       {
    7076            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7077            0 :                         if (!HONOR_NANS (captures[0])
    7078              : )
    7079              :                           {
    7080            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1547;
    7081            0 :                             {
    7082            0 :                               tree res_op0;
    7083            0 :                               res_op0 = captures[0];
    7084            0 :                               tree res_op1;
    7085            0 :                               res_op1 = captures[1];
    7086            0 :                               tree _r;
    7087            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7088            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    7089            0 :                               return _r;
    7090              :                             }
    7091            0 : next_after_fail1547:;
    7092              :                           }
    7093              :                       }
    7094              :                     }
    7095              :                 }
    7096            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7097              :                 {
    7098            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7099              :                     {
    7100            0 :                       {
    7101            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7102            0 :                         if (!HONOR_NANS (captures[0])
    7103              : )
    7104              :                           {
    7105            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1548;
    7106            0 :                             {
    7107            0 :                               tree res_op0;
    7108            0 :                               res_op0 = captures[0];
    7109            0 :                               tree res_op1;
    7110            0 :                               res_op1 = captures[1];
    7111            0 :                               tree _r;
    7112            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7113            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    7114            0 :                               return _r;
    7115              :                             }
    7116            0 : next_after_fail1548:;
    7117              :                           }
    7118              :                       }
    7119              :                     }
    7120              :                 }
    7121              :               break;
    7122              :             }
    7123         8310 :           default:;
    7124              :           }
    7125         8310 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7126              :           {
    7127            0 :             {
    7128            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7129            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7130            0 :               if (res) return res;
    7131              :             }
    7132              :           }
    7133         8310 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7134              :           {
    7135          616 :             {
    7136          616 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7137          616 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7138          616 :               if (res) return res;
    7139              :             }
    7140              :           }
    7141              :         break;
    7142              :       }
    7143         7965 :     case MAX_EXPR:
    7144         7965 :       {
    7145         7965 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7146         7965 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7147         7965 :         switch (TREE_CODE (_p1))
    7148              :           {
    7149            0 :           case MIN_EXPR:
    7150            0 :             {
    7151            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7152            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7153            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7154              :                 {
    7155            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7156              :                     {
    7157            0 :                       {
    7158            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7159            0 :                         if (!HONOR_NANS (captures[0])
    7160              : )
    7161              :                           {
    7162            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1549;
    7163            0 :                             {
    7164            0 :                               tree res_op0;
    7165            0 :                               res_op0 = captures[0];
    7166            0 :                               tree res_op1;
    7167            0 :                               res_op1 = captures[1];
    7168            0 :                               tree _r;
    7169            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7170            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    7171            0 :                               return _r;
    7172              :                             }
    7173            0 : next_after_fail1549:;
    7174              :                           }
    7175              :                       }
    7176              :                     }
    7177              :                 }
    7178            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7179              :                 {
    7180            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7181              :                     {
    7182            0 :                       {
    7183            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7184            0 :                         if (!HONOR_NANS (captures[0])
    7185              : )
    7186              :                           {
    7187            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1550;
    7188            0 :                             {
    7189            0 :                               tree res_op0;
    7190            0 :                               res_op0 = captures[0];
    7191            0 :                               tree res_op1;
    7192            0 :                               res_op1 = captures[1];
    7193            0 :                               tree _r;
    7194            0 :                               _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    7195            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    7196            0 :                               return _r;
    7197              :                             }
    7198            0 : next_after_fail1550:;
    7199              :                           }
    7200              :                       }
    7201              :                     }
    7202              :                 }
    7203              :               break;
    7204              :             }
    7205         7965 :           default:;
    7206              :           }
    7207         7965 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7208              :           {
    7209            0 :             {
    7210            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7211            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7212            0 :               if (res) return res;
    7213              :             }
    7214              :           }
    7215         7965 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7216              :           {
    7217          425 :             {
    7218          425 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    7219          425 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7220          425 :               if (res) return res;
    7221              :             }
    7222              :           }
    7223              :         break;
    7224              :       }
    7225     35719023 :     default:;
    7226              :     }
    7227     35719023 : if (tree_with_possible_nonzero_bits (_p0))
    7228              :   {
    7229     15403748 :     if (tree_with_known_nonzero_bits (_p1))
    7230              :       {
    7231     13937580 :         {
    7232     13937580 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7233     13937580 :           tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, NE_EXPR);
    7234     13937580 :           if (res) return res;
    7235              :         }
    7236              :       }
    7237              :   }
    7238     35659575 : if (tree_with_known_nonzero_bits (_p0))
    7239              :   {
    7240     11308846 :     if (tree_with_possible_nonzero_bits (_p1))
    7241              :       {
    7242     11258400 :         {
    7243     11258400 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    7244     11258400 :           tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, NE_EXPR);
    7245     11258400 :           if (res) return res;
    7246              :         }
    7247              :       }
    7248              :   }
    7249     35658158 :   switch (TREE_CODE (_p1))
    7250              :     {
    7251          146 :     case MIN_EXPR:
    7252          146 :       {
    7253          146 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7254          146 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7255          146 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7256              :           {
    7257            0 :             {
    7258            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7259            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7260            0 :               if (res) return res;
    7261              :             }
    7262              :           }
    7263          146 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7264              :           {
    7265            0 :             {
    7266            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7267            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MIN_EXPR, NE_EXPR, GT_EXPR);
    7268            0 :               if (res) return res;
    7269              :             }
    7270              :           }
    7271              :         break;
    7272              :       }
    7273         1590 :     case MAX_EXPR:
    7274         1590 :       {
    7275         1590 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7276         1590 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7277         1590 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7278              :           {
    7279            0 :             {
    7280            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    7281            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7282            0 :               if (res) return res;
    7283              :             }
    7284              :           }
    7285         1590 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7286              :           {
    7287            0 :             {
    7288            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    7289            0 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, MAX_EXPR, NE_EXPR, LT_EXPR);
    7290            0 :               if (res) return res;
    7291              :             }
    7292              :           }
    7293              :         break;
    7294              :       }
    7295     35658158 :     default:;
    7296              :     }
    7297     35658158 :   switch (TREE_CODE (_p0))
    7298              :     {
    7299         8310 :     case MIN_EXPR:
    7300         8310 :       {
    7301         8310 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7302         8310 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7303         8310 :         switch (TREE_CODE (_q21))
    7304              :           {
    7305          680 :           case INTEGER_CST:
    7306          680 :             {
    7307          680 :               switch (TREE_CODE (_p1))
    7308              :                 {
    7309            0 :                 case INTEGER_CST:
    7310            0 :                   {
    7311            0 :                     {
    7312            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7313            0 :                       tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, NE_EXPR);
    7314            0 :                       if (res) return res;
    7315              :                     }
    7316            0 :                     break;
    7317              :                   }
    7318              :                 default:;
    7319              :                 }
    7320              :               break;
    7321              :             }
    7322              :           default:;
    7323              :           }
    7324              :         break;
    7325              :       }
    7326         7836 :     case MAX_EXPR:
    7327         7836 :       {
    7328         7836 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7329         7836 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7330         7836 :         switch (TREE_CODE (_q21))
    7331              :           {
    7332         6778 :           case INTEGER_CST:
    7333         6778 :             {
    7334         6778 :               switch (TREE_CODE (_p1))
    7335              :                 {
    7336          683 :                 case INTEGER_CST:
    7337          683 :                   {
    7338          683 :                     {
    7339          683 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7340          683 :                       tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, NE_EXPR);
    7341          683 :                       if (res) return res;
    7342              :                     }
    7343            0 :                     break;
    7344              :                   }
    7345              :                 default:;
    7346              :                 }
    7347              :               break;
    7348              :             }
    7349         7153 :           default:;
    7350              :           }
    7351         7153 :         if (integer_zerop (_p1))
    7352              :           {
    7353           34 :             {
    7354           34 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7355           34 :               tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, NE_EXPR);
    7356           34 :               if (res) return res;
    7357              :             }
    7358              :           }
    7359              :         break;
    7360              :       }
    7361      1258061 :     case BIT_AND_EXPR:
    7362      1258061 :       {
    7363      1258061 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7364      1258061 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7365      1258061 :         switch (TREE_CODE (_q20))
    7366              :           {
    7367         3613 :           case LSHIFT_EXPR:
    7368         3613 :             {
    7369         3613 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7370         3613 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7371         3613 :               if (integer_pow2p (_q30))
    7372              :                 {
    7373         3593 :                   if (integer_pow2p (_q21))
    7374              :                     {
    7375            5 :                       if (integer_zerop (_p1))
    7376              :                         {
    7377            5 :                           {
    7378            5 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7379            5 :                             tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7380            5 :                             if (res) return res;
    7381              :                           }
    7382              :                         }
    7383              :                     }
    7384              :                 }
    7385         3608 :               switch (TREE_CODE (_q31))
    7386              :                 {
    7387           13 :                 case INTEGER_CST:
    7388           13 :                   {
    7389           13 :                     switch (TREE_CODE (_q21))
    7390              :                       {
    7391           13 :                       case INTEGER_CST:
    7392           13 :                         {
    7393           13 :                           switch (TREE_CODE (_p1))
    7394              :                             {
    7395           13 :                             case INTEGER_CST:
    7396           13 :                               {
    7397           13 :                                 {
    7398           13 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7399           13 :                                   tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, NE_EXPR);
    7400           13 :                                   if (res) return res;
    7401              :                                 }
    7402            0 :                                 break;
    7403              :                               }
    7404              :                             default:;
    7405              :                             }
    7406              :                           break;
    7407              :                         }
    7408              :                       default:;
    7409              :                       }
    7410              :                     break;
    7411              :                   }
    7412         3595 :                 default:;
    7413              :                 }
    7414         3595 :               if (integer_onep (_q30))
    7415              :                 {
    7416         3587 :                   if (integer_pow2p (_q21))
    7417              :                     {
    7418            0 :                       if (integer_zerop (_p1))
    7419              :                         {
    7420            0 :                           {
    7421            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
    7422            0 :                             tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7423            0 :                             if (res) return res;
    7424              :                           }
    7425              :                         }
    7426              :                     }
    7427              :                 }
    7428              :               break;
    7429              :             }
    7430         4790 :           case RSHIFT_EXPR:
    7431         4790 :             {
    7432         4790 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7433         4790 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7434         4790 :               if (integer_pow2p (_q30))
    7435              :                 {
    7436           33 :                   if (integer_pow2p (_q21))
    7437              :                     {
    7438            1 :                       if (integer_zerop (_p1))
    7439              :                         {
    7440            1 :                           {
    7441            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7442            1 :                             tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7443            1 :                             if (res) return res;
    7444              :                           }
    7445              :                         }
    7446              :                     }
    7447              :                 }
    7448         4789 :               switch (TREE_CODE (_q31))
    7449              :                 {
    7450          329 :                 case INTEGER_CST:
    7451          329 :                   {
    7452          329 :                     switch (TREE_CODE (_q21))
    7453              :                       {
    7454          305 :                       case INTEGER_CST:
    7455          305 :                         {
    7456          305 :                           switch (TREE_CODE (_p1))
    7457              :                             {
    7458          280 :                             case INTEGER_CST:
    7459          280 :                               {
    7460          280 :                                 {
    7461          280 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7462          280 :                                   tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, NE_EXPR);
    7463          280 :                                   if (res) return res;
    7464              :                                 }
    7465           14 :                                 break;
    7466              :                               }
    7467              :                             default:;
    7468              :                             }
    7469              :                           break;
    7470              :                         }
    7471              :                       default:;
    7472              :                       }
    7473              :                     break;
    7474              :                   }
    7475              :                 default:;
    7476              :                 }
    7477              :               break;
    7478              :             }
    7479      1257776 :           default:;
    7480              :           }
    7481      1257776 :       {
    7482      1257776 :         tree _q20_pops[1];
    7483      1257776 :         if (tree_nop_convert (_q20, _q20_pops))
    7484              :           {
    7485       138004 :             tree _q30 = _q20_pops[0];
    7486       138004 :             switch (TREE_CODE (_q30))
    7487              :               {
    7488        37188 :               case LSHIFT_EXPR:
    7489        37188 :                 {
    7490        37188 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7491        37188 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    7492        37188 :                   if (integer_onep (_q40))
    7493              :                     {
    7494        37188 :                       if (integer_pow2p (_q21))
    7495              :                         {
    7496            0 :                           if (integer_zerop (_p1))
    7497              :                             {
    7498            0 :                               {
    7499            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
    7500            0 :                                 tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    7501            0 :                                 if (res) return res;
    7502              :                               }
    7503              :                             }
    7504              :                         }
    7505              :                     }
    7506              :                   break;
    7507              :                 }
    7508              :               default:;
    7509              :               }
    7510              :           }
    7511              :       }
    7512      1257776 :         break;
    7513              :       }
    7514         5176 :     case LSHIFT_EXPR:
    7515         5176 :       {
    7516         5176 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7517         5176 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7518         5176 :         switch (TREE_CODE (_q20))
    7519              :           {
    7520          534 :           case INTEGER_CST:
    7521          534 :             {
    7522          534 :               switch (TREE_CODE (_p1))
    7523              :                 {
    7524          159 :                 case INTEGER_CST:
    7525          159 :                   {
    7526          159 :                     {
    7527          159 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7528          159 :                       tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, NE_EXPR);
    7529          159 :                       if (res) return res;
    7530              :                     }
    7531           88 :                     break;
    7532              :                   }
    7533              :                 default:;
    7534              :                 }
    7535              :               break;
    7536              :             }
    7537              :           default:;
    7538              :           }
    7539              :         break;
    7540              :       }
    7541          414 :     case LROTATE_EXPR:
    7542          414 :       {
    7543          414 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7544          414 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7545          414 :         switch (TREE_CODE (_p1))
    7546              :           {
    7547            0 :           case LROTATE_EXPR:
    7548            0 :             {
    7549            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7550            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7551            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7552              :                 {
    7553            0 :                   {
    7554            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7555            0 :                     tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
    7556            0 :                     if (res) return res;
    7557              :                   }
    7558              :                 }
    7559              :               break;
    7560              :             }
    7561          414 :           default:;
    7562              :           }
    7563          414 :         switch (TREE_CODE (_q21))
    7564              :           {
    7565          112 :           case INTEGER_CST:
    7566          112 :             {
    7567          112 :               switch (TREE_CODE (_p1))
    7568              :                 {
    7569          112 :                 case INTEGER_CST:
    7570          112 :                   {
    7571          112 :                     {
    7572          112 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7573          112 :                       tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
    7574          112 :                       if (res) return res;
    7575              :                     }
    7576            0 :                     break;
    7577              :                   }
    7578              :                 default:;
    7579              :                 }
    7580              :               break;
    7581              :             }
    7582          302 :           default:;
    7583              :           }
    7584          302 :         switch (TREE_CODE (_p1))
    7585              :           {
    7586          197 :           case INTEGER_CST:
    7587          197 :             {
    7588          197 :               {
    7589          197 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7590          197 :                 tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR);
    7591          197 :                 if (res) return res;
    7592              :               }
    7593          197 :               break;
    7594              :             }
    7595              :           default:;
    7596              :           }
    7597              :         break;
    7598              :       }
    7599          491 :     case RROTATE_EXPR:
    7600          491 :       {
    7601          491 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7602          491 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7603          491 :         switch (TREE_CODE (_p1))
    7604              :           {
    7605            0 :           case RROTATE_EXPR:
    7606            0 :             {
    7607            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7608            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7609            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7610              :                 {
    7611            0 :                   {
    7612            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7613            0 :                     tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
    7614            0 :                     if (res) return res;
    7615              :                   }
    7616              :                 }
    7617              :               break;
    7618              :             }
    7619          491 :           default:;
    7620              :           }
    7621          491 :         switch (TREE_CODE (_q21))
    7622              :           {
    7623          281 :           case INTEGER_CST:
    7624          281 :             {
    7625          281 :               switch (TREE_CODE (_p1))
    7626              :                 {
    7627           12 :                 case INTEGER_CST:
    7628           12 :                   {
    7629           12 :                     {
    7630           12 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7631           12 :                       tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
    7632           12 :                       if (res) return res;
    7633              :                     }
    7634            0 :                     break;
    7635              :                   }
    7636              :                 default:;
    7637              :                 }
    7638              :               break;
    7639              :             }
    7640          479 :           default:;
    7641              :           }
    7642          479 :         switch (TREE_CODE (_p1))
    7643              :           {
    7644          194 :           case INTEGER_CST:
    7645          194 :             {
    7646          194 :               {
    7647          194 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7648          194 :                 tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR);
    7649          194 :                 if (res) return res;
    7650              :               }
    7651          194 :               break;
    7652              :             }
    7653              :           default:;
    7654              :           }
    7655              :         break;
    7656              :       }
    7657          260 :     case VEC_COND_EXPR:
    7658          260 :       {
    7659          260 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7660          260 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7661          260 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7662          260 :         switch (TREE_CODE (_p1))
    7663              :           {
    7664            8 :           case VEC_COND_EXPR:
    7665            8 :             {
    7666            8 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7667            8 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7668            8 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7669            8 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7670              :                 {
    7671            0 :                   {
    7672            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7673            0 :                     if (VECTOR_TYPE_P (type)
    7674            0 :  && (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
    7675            0 :  || types_match (type, TREE_TYPE (captures[2]))
    7676            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7677              :  || (optimize_vectors_before_lowering_p ()
    7678            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7679              : )
    7680              :                       {
    7681            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1551;
    7682            0 :                         {
    7683            0 :                           tree res_op0;
    7684            0 :                           res_op0 = captures[1];
    7685            0 :                           tree res_op1;
    7686            0 :                           {
    7687            0 :                             tree _o1[2], _r1;
    7688            0 :                             _o1[0] = captures[2];
    7689            0 :                             _o1[1] = captures[5];
    7690            0 :                             _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7691            0 :                             if (EXPR_P (_r1))
    7692            0 :                               goto next_after_fail1551;
    7693            0 :                             res_op1 = _r1;
    7694              :                           }
    7695            0 :                           tree res_op2;
    7696            0 :                           {
    7697            0 :                             tree _o1[2], _r1;
    7698            0 :                             _o1[0] = captures[3];
    7699            0 :                             _o1[1] = captures[6];
    7700            0 :                             _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7701            0 :                             if (EXPR_P (_r1))
    7702            0 :                               goto next_after_fail1551;
    7703            0 :                             res_op2 = _r1;
    7704              :                           }
    7705            0 :                           tree _r;
    7706            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7707            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    7708            0 :                           return _r;
    7709              :                         }
    7710            0 : next_after_fail1551:;
    7711              :                       }
    7712              :                   }
    7713              :                 }
    7714              :               break;
    7715              :             }
    7716          260 :           default:;
    7717              :           }
    7718          260 :         {
    7719          260 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7720          260 :           if (VECTOR_TYPE_P (type)
    7721          260 :  && (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
    7722          258 :  || types_match (type, TREE_TYPE (captures[2]))
    7723          258 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7724              :  || (optimize_vectors_before_lowering_p ()
    7725           27 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7726              : )
    7727              :             {
    7728          258 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1552;
    7729          258 :               {
    7730          258 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1552;
    7731           80 :                 tree res_op0;
    7732           80 :                 res_op0 = captures[1];
    7733           80 :                 tree res_op1;
    7734           80 :                 {
    7735           80 :                   tree _o1[2], _r1;
    7736           80 :                   _o1[0] = captures[2];
    7737           80 :                   _o1[1] = unshare_expr (captures[4]);
    7738           80 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7739           80 :                   if (EXPR_P (_r1))
    7740            8 :                     goto next_after_fail1552;
    7741           72 :                   res_op1 = _r1;
    7742              :                 }
    7743           72 :                 tree res_op2;
    7744           72 :                 {
    7745           72 :                   tree _o1[2], _r1;
    7746           72 :                   _o1[0] = captures[3];
    7747           72 :                   _o1[1] = captures[4];
    7748           72 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7749           72 :                   if (EXPR_P (_r1))
    7750            0 :                     goto next_after_fail1552;
    7751           72 :                   res_op2 = _r1;
    7752              :                 }
    7753           72 :                 tree _r;
    7754           72 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7755           72 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    7756           72 :                 return _r;
    7757              :               }
    7758          188 : next_after_fail1552:;
    7759              :             }
    7760              :         }
    7761          188 :         break;
    7762              :       }
    7763      2332530 :     case CALL_EXPR:
    7764      2332530 :       switch (get_call_combined_fn (_p0))
    7765              :         {
    7766            2 :         case CFN_BUILT_IN_BSWAP128:
    7767            2 :           if (call_expr_nargs (_p0) == 1)
    7768              :     {
    7769            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7770            2 :               switch (TREE_CODE (_p1))
    7771              :                 {
    7772            0 :                 case INTEGER_CST:
    7773            0 :                   {
    7774            0 :                     {
    7775            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7776            0 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128);
    7777            0 :                       if (res) return res;
    7778              :                     }
    7779            0 :                     break;
    7780              :                   }
    7781            1 :                 case CALL_EXPR:
    7782            1 :                   switch (get_call_combined_fn (_p1))
    7783              :                     {
    7784            0 :                     case CFN_BUILT_IN_BSWAP128:
    7785            0 :                       if (call_expr_nargs (_p1) == 1)
    7786              :     {
    7787            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7788            0 :                           {
    7789            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7790            0 :                             tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128);
    7791            0 :                             if (res) return res;
    7792              :                           }
    7793              :                         }
    7794              :                       break;
    7795              :                     default:;
    7796              :                     }
    7797              :                   break;
    7798              :                 default:;
    7799              :                 }
    7800              :             }
    7801              :           break;
    7802           11 :         case CFN_BUILT_IN_BSWAP16:
    7803           11 :           if (call_expr_nargs (_p0) == 1)
    7804              :     {
    7805           11 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7806           11 :               switch (TREE_CODE (_p1))
    7807              :                 {
    7808            9 :                 case INTEGER_CST:
    7809            9 :                   {
    7810            9 :                     {
    7811            9 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7812            9 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16);
    7813            9 :                       if (res) return res;
    7814              :                     }
    7815            9 :                     break;
    7816              :                   }
    7817            1 :                 case CALL_EXPR:
    7818            1 :                   switch (get_call_combined_fn (_p1))
    7819              :                     {
    7820            1 :                     case CFN_BUILT_IN_BSWAP16:
    7821            1 :                       if (call_expr_nargs (_p1) == 1)
    7822              :     {
    7823            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7824            1 :                           {
    7825            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7826            1 :                             tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16);
    7827            1 :                             if (res) return res;
    7828              :                           }
    7829              :                         }
    7830              :                       break;
    7831              :                     default:;
    7832              :                     }
    7833              :                   break;
    7834              :                 default:;
    7835              :                 }
    7836              :             }
    7837              :           break;
    7838            7 :         case CFN_BUILT_IN_BSWAP32:
    7839            7 :           if (call_expr_nargs (_p0) == 1)
    7840              :     {
    7841            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7842            7 :               switch (TREE_CODE (_p1))
    7843              :                 {
    7844            3 :                 case INTEGER_CST:
    7845            3 :                   {
    7846            3 :                     {
    7847            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7848            3 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32);
    7849            3 :                       if (res) return res;
    7850              :                     }
    7851            3 :                     break;
    7852              :                   }
    7853            3 :                 case CALL_EXPR:
    7854            3 :                   switch (get_call_combined_fn (_p1))
    7855              :                     {
    7856            3 :                     case CFN_BUILT_IN_BSWAP32:
    7857            3 :                       if (call_expr_nargs (_p1) == 1)
    7858              :     {
    7859            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7860            3 :                           {
    7861            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7862            3 :                             tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32);
    7863            3 :                             if (res) return res;
    7864              :                           }
    7865              :                         }
    7866              :                       break;
    7867              :                     default:;
    7868              :                     }
    7869              :                   break;
    7870              :                 default:;
    7871              :                 }
    7872              :             }
    7873              :           break;
    7874            7 :         case CFN_BUILT_IN_BSWAP64:
    7875            7 :           if (call_expr_nargs (_p0) == 1)
    7876              :     {
    7877            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7878            7 :               switch (TREE_CODE (_p1))
    7879              :                 {
    7880            3 :                 case INTEGER_CST:
    7881            3 :                   {
    7882            3 :                     {
    7883            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7884            3 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64);
    7885            3 :                       if (res) return res;
    7886              :                     }
    7887            3 :                     break;
    7888              :                   }
    7889            3 :                 case CALL_EXPR:
    7890            3 :                   switch (get_call_combined_fn (_p1))
    7891              :                     {
    7892            3 :                     case CFN_BUILT_IN_BSWAP64:
    7893            3 :                       if (call_expr_nargs (_p1) == 1)
    7894              :     {
    7895            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7896            3 :                           {
    7897            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7898            3 :                             tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64);
    7899            3 :                             if (res) return res;
    7900              :                           }
    7901              :                         }
    7902              :                       break;
    7903              :                     default:;
    7904              :                     }
    7905              :                   break;
    7906              :                 default:;
    7907              :                 }
    7908              :             }
    7909              :           break;
    7910              :         default:;
    7911              :         }
    7912              :       break;
    7913     35656916 :     default:;
    7914              :     }
    7915     35656916 :   switch (TREE_CODE (_p1))
    7916              :     {
    7917           16 :     case VEC_COND_EXPR:
    7918           16 :       {
    7919           16 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7920           16 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7921           16 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7922           16 :         {
    7923           16 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7924           16 :           if (VECTOR_TYPE_P (type)
    7925           16 :  && (TREE_CODE_CLASS (NE_EXPR) != tcc_comparison
    7926           16 :  || types_match (type, TREE_TYPE (captures[3]))
    7927           16 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    7928              :  || (optimize_vectors_before_lowering_p ()
    7929            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    7930              : )
    7931              :             {
    7932           16 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1553;
    7933           16 :               {
    7934           16 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1553;
    7935            0 :                 tree res_op0;
    7936            0 :                 res_op0 = captures[2];
    7937            0 :                 tree res_op1;
    7938            0 :                 {
    7939            0 :                   tree _o1[2], _r1;
    7940            0 :                   _o1[0] = unshare_expr (captures[0]);
    7941            0 :                   _o1[1] = captures[3];
    7942            0 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7943            0 :                   if (EXPR_P (_r1))
    7944            0 :                     goto next_after_fail1553;
    7945            0 :                   res_op1 = _r1;
    7946              :                 }
    7947            0 :                 tree res_op2;
    7948            0 :                 {
    7949            0 :                   tree _o1[2], _r1;
    7950            0 :                   _o1[0] = captures[0];
    7951            0 :                   _o1[1] = captures[4];
    7952            0 :                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    7953            0 :                   if (EXPR_P (_r1))
    7954            0 :                     goto next_after_fail1553;
    7955            0 :                   res_op2 = _r1;
    7956              :                 }
    7957            0 :                 tree _r;
    7958            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7959            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    7960            0 :                 return _r;
    7961              :               }
    7962           16 : next_after_fail1553:;
    7963              :             }
    7964              :         }
    7965           16 :         break;
    7966              :       }
    7967     35656916 :     default:;
    7968              :     }
    7969     35656916 :   switch (TREE_CODE (_p0))
    7970              :     {
    7971        96850 :     case COND_EXPR:
    7972        96850 :       {
    7973        96850 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7974        96850 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7975        96850 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7976        96850 :         switch (TREE_CODE (_p1))
    7977              :           {
    7978          276 :           case COND_EXPR:
    7979          276 :             {
    7980          276 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7981          276 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7982          276 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7983          276 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    7984              :                 {
    7985           72 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    7986              :                     {
    7987           72 :                       {
    7988           72 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    7989           72 :                         const enum tree_code eqne = NE_EXPR;
    7990           72 :                         if (!HONOR_NANS (captures[1])
    7991           56 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    7992           49 :  && types_match (type, TREE_TYPE (captures[0]))
    7993           49 :  && expr_no_side_effects_p (captures[1])
    7994          114 :  && expr_no_side_effects_p (captures[2])
    7995              : )
    7996              :                           {
    7997           42 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1554;
    7998           42 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1554;
    7999           42 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1554;
    8000           42 :                             {
    8001           42 :                               tree res_op0;
    8002           42 :                               {
    8003           42 :                                 tree _o1[2], _r1;
    8004           42 :                                 {
    8005           42 :                                   tree _o2[2], _r2;
    8006           42 :                                   _o2[0] = captures[0];
    8007           42 :                                   _o2[1] = captures[3];
    8008           42 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8009           42 :                                   _o1[0] = _r2;
    8010              :                                 }
    8011           42 :                                 {
    8012           42 :                                   tree _o2[2], _r2;
    8013           42 :                                   _o2[0] = captures[1];
    8014           42 :                                   _o2[1] = captures[2];
    8015           42 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8016           42 :                                   _o1[1] = _r2;
    8017              :                                 }
    8018           42 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8019           42 :                                 res_op0 = _r1;
    8020              :                               }
    8021           42 :                               tree res_op1;
    8022           42 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8023           42 :                               tree res_op2;
    8024           42 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8025           42 :                               tree _r;
    8026           42 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8027           42 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    8028           42 :                               return _r;
    8029              :                             }
    8030           30 : next_after_fail1554:;
    8031              :                           }
    8032              :                       }
    8033              :                     }
    8034              :                 }
    8035          234 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8036              :                 {
    8037            0 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8038              :                     {
    8039            0 :                       {
    8040            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8041            0 :                         const enum tree_code eqne = NE_EXPR;
    8042            0 :                         if (!HONOR_NANS (captures[1])
    8043            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8044            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8045            0 :  && expr_no_side_effects_p (captures[1])
    8046            0 :  && expr_no_side_effects_p (captures[2])
    8047              : )
    8048              :                           {
    8049            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1555;
    8050            0 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1555;
    8051            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1555;
    8052            0 :                             {
    8053            0 :                               tree res_op0;
    8054            0 :                               {
    8055            0 :                                 tree _o1[2], _r1;
    8056            0 :                                 {
    8057            0 :                                   tree _o2[2], _r2;
    8058            0 :                                   _o2[0] = captures[0];
    8059            0 :                                   _o2[1] = captures[3];
    8060            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8061            0 :                                   _o1[0] = _r2;
    8062              :                                 }
    8063            0 :                                 {
    8064            0 :                                   tree _o2[2], _r2;
    8065            0 :                                   _o2[0] = captures[1];
    8066            0 :                                   _o2[1] = captures[2];
    8067            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8068            0 :                                   _o1[1] = _r2;
    8069              :                                 }
    8070            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8071            0 :                                 res_op0 = _r1;
    8072              :                               }
    8073            0 :                               tree res_op1;
    8074            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8075            0 :                               tree res_op2;
    8076            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8077            0 :                               tree _r;
    8078            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8079            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 979, __FILE__, __LINE__, true);
    8080            0 :                               return _r;
    8081              :                             }
    8082            0 : next_after_fail1555:;
    8083              :                           }
    8084              :                       }
    8085              :                     }
    8086              :                 }
    8087              :               break;
    8088              :             }
    8089              :           default:;
    8090              :           }
    8091              :         break;
    8092              :       }
    8093          188 :     case VEC_COND_EXPR:
    8094          188 :       {
    8095          188 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8096          188 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8097          188 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8098          188 :         switch (TREE_CODE (_p1))
    8099              :           {
    8100            8 :           case VEC_COND_EXPR:
    8101            8 :             {
    8102            8 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8103            8 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8104            8 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8105            8 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8106              :                 {
    8107            0 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8108              :                     {
    8109            0 :                       {
    8110            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8111            0 :                         const enum tree_code eqne = NE_EXPR;
    8112            0 :                         if (!HONOR_NANS (captures[1])
    8113            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8114            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8115            0 :  && expr_no_side_effects_p (captures[1])
    8116            0 :  && expr_no_side_effects_p (captures[2])
    8117              : )
    8118              :                           {
    8119            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1556;
    8120            0 :                             {
    8121            0 :                               tree res_op0;
    8122            0 :                               {
    8123            0 :                                 tree _o1[2], _r1;
    8124            0 :                                 {
    8125            0 :                                   tree _o2[2], _r2;
    8126            0 :                                   _o2[0] = captures[0];
    8127            0 :                                   _o2[1] = captures[3];
    8128            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8129            0 :                                   _o1[0] = _r2;
    8130              :                                 }
    8131            0 :                                 {
    8132            0 :                                   tree _o2[2], _r2;
    8133            0 :                                   _o2[0] = captures[1];
    8134            0 :                                   _o2[1] = captures[2];
    8135            0 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8136            0 :                                   _o1[1] = _r2;
    8137              :                                 }
    8138            0 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8139            0 :                                 res_op0 = _r1;
    8140              :                               }
    8141            0 :                               tree res_op1;
    8142            0 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8143            0 :                               tree res_op2;
    8144            0 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8145            0 :                               tree _r;
    8146            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8147            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    8148            0 :                               return _r;
    8149              :                             }
    8150            0 : next_after_fail1556:;
    8151              :                           }
    8152              :                       }
    8153              :                     }
    8154              :                 }
    8155            8 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8156              :                 {
    8157            8 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8158              :                     {
    8159            8 :                       {
    8160            8 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8161            8 :                         const enum tree_code eqne = NE_EXPR;
    8162            8 :                         if (!HONOR_NANS (captures[1])
    8163            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8164            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8165            0 :  && expr_no_side_effects_p (captures[1])
    8166            8 :  && expr_no_side_effects_p (captures[2])
    8167              : )
    8168              :                           {
    8169            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1557;
    8170            0 :                             {
    8171            0 :                               tree res_op0;
    8172            0 :                               {
    8173            0 :                                 tree _o1[2], _r1;
    8174            0 :                                 {
    8175            0 :                                   tree _o2[2], _r2;
    8176            0 :                                   _o2[0] = captures[0];
    8177            0 :                                   _o2[1] = captures[3];
    8178            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8179            0 :                                   _o1[0] = _r2;
    8180              :                                 }
    8181            0 :                                 {
    8182            0 :                                   tree _o2[2], _r2;
    8183            0 :                                   _o2[0] = captures[1];
    8184            0 :                                   _o2[1] = captures[2];
    8185            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8186            0 :                                   _o1[1] = _r2;
    8187              :                                 }
    8188            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8189            0 :                                 res_op0 = _r1;
    8190              :                               }
    8191            0 :                               tree res_op1;
    8192            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8193            0 :                               tree res_op2;
    8194            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8195            0 :                               tree _r;
    8196            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8197            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 979, __FILE__, __LINE__, true);
    8198            0 :                               return _r;
    8199              :                             }
    8200            0 : next_after_fail1557:;
    8201              :                           }
    8202              :                       }
    8203              :                     }
    8204              :                 }
    8205              :               break;
    8206              :             }
    8207              :           default:;
    8208              :           }
    8209              :         break;
    8210              :       }
    8211        18040 :     case LT_EXPR:
    8212        18040 :       {
    8213        18040 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8214        18040 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8215        18040 :         if (integer_zerop (_p1))
    8216              :           {
    8217        16547 :             {
    8218        16547 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8219        16547 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8220        16547 :               if (res) return res;
    8221              :             }
    8222              :           }
    8223        15106 :         if (integer_truep (_p1))
    8224              :           {
    8225          547 :             {
    8226          547 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8227          547 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8228          547 :               if (res) return res;
    8229              :             }
    8230              :           }
    8231              :         break;
    8232              :       }
    8233        11913 :     case LE_EXPR:
    8234        11913 :       {
    8235        11913 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8236        11913 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8237        11913 :         if (integer_zerop (_p1))
    8238              :           {
    8239         9359 :             {
    8240         9359 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8241         9359 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8242         9359 :               if (res) return res;
    8243              :             }
    8244              :           }
    8245        11119 :         if (integer_truep (_p1))
    8246              :           {
    8247          461 :             {
    8248          461 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8249          461 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8250          461 :               if (res) return res;
    8251              :             }
    8252              :           }
    8253              :         break;
    8254              :       }
    8255        63463 :     case EQ_EXPR:
    8256        63463 :       {
    8257        63463 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8258        63463 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8259        63463 :         if (integer_zerop (_p1))
    8260              :           {
    8261        35834 :             {
    8262        35834 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8263        35834 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8264        35834 :               if (res) return res;
    8265              :             }
    8266              :           }
    8267        62342 :         if (integer_truep (_p1))
    8268              :           {
    8269        21941 :             {
    8270        21941 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8271        21941 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8272        21941 :               if (res) return res;
    8273              :             }
    8274              :           }
    8275              :         break;
    8276              :       }
    8277        68867 :     case NE_EXPR:
    8278        68867 :       {
    8279        68867 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8280        68867 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8281        68867 :         if (integer_zerop (_p1))
    8282              :           {
    8283        57030 :             {
    8284        57030 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8285        57030 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8286        57030 :               if (res) return res;
    8287              :             }
    8288              :           }
    8289        34495 :         if (integer_truep (_p1))
    8290              :           {
    8291          141 :             {
    8292          141 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8293          141 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8294          141 :               if (res) return res;
    8295              :             }
    8296              :           }
    8297              :         break;
    8298              :       }
    8299         6117 :     case GE_EXPR:
    8300         6117 :       {
    8301         6117 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8302         6117 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8303         6117 :         if (integer_zerop (_p1))
    8304              :           {
    8305         4176 :             {
    8306         4176 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8307         4176 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8308         4176 :               if (res) return res;
    8309              :             }
    8310              :           }
    8311         5459 :         if (integer_truep (_p1))
    8312              :           {
    8313          477 :             {
    8314          477 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8315          477 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8316          477 :               if (res) return res;
    8317              :             }
    8318              :           }
    8319              :         break;
    8320              :       }
    8321        35463 :     case GT_EXPR:
    8322        35463 :       {
    8323        35463 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8324        35463 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8325        35463 :         if (integer_zerop (_p1))
    8326              :           {
    8327        33404 :             {
    8328        33404 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8329        33404 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8330        33404 :               if (res) return res;
    8331              :             }
    8332              :           }
    8333        29455 :         if (integer_truep (_p1))
    8334              :           {
    8335          320 :             {
    8336          320 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8337          320 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8338          320 :               if (res) return res;
    8339              :             }
    8340              :           }
    8341              :         break;
    8342              :       }
    8343       129073 :     case UNORDERED_EXPR:
    8344       129073 :       {
    8345       129073 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8346       129073 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8347       129073 :         if (integer_zerop (_p1))
    8348              :           {
    8349       126865 :             {
    8350       126865 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8351       126865 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8352       126865 :               if (res) return res;
    8353              :             }
    8354              :           }
    8355       128683 :         if (integer_truep (_p1))
    8356              :           {
    8357           42 :             {
    8358           42 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8359           42 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8360           42 :               if (res) return res;
    8361              :             }
    8362              :           }
    8363              :         break;
    8364              :       }
    8365          125 :     case ORDERED_EXPR:
    8366          125 :       {
    8367          125 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8368          125 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8369          125 :         if (integer_zerop (_p1))
    8370              :           {
    8371           42 :             {
    8372           42 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8373           42 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8374           42 :               if (res) return res;
    8375              :             }
    8376              :           }
    8377           83 :         if (integer_truep (_p1))
    8378              :           {
    8379            0 :             {
    8380            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8381            0 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8382            0 :               if (res) return res;
    8383              :             }
    8384              :           }
    8385              :         break;
    8386              :       }
    8387          213 :     case UNLT_EXPR:
    8388          213 :       {
    8389          213 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8390          213 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8391          213 :         if (integer_zerop (_p1))
    8392              :           {
    8393           28 :             {
    8394           28 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8395           28 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8396           28 :               if (res) return res;
    8397              :             }
    8398              :           }
    8399          185 :         if (integer_truep (_p1))
    8400              :           {
    8401          161 :             {
    8402          161 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8403          161 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8404          161 :               if (res) return res;
    8405              :             }
    8406              :           }
    8407              :         break;
    8408              :       }
    8409         1426 :     case UNLE_EXPR:
    8410         1426 :       {
    8411         1426 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8412         1426 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8413         1426 :         if (integer_zerop (_p1))
    8414              :           {
    8415          104 :             {
    8416          104 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8417          104 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8418          104 :               if (res) return res;
    8419              :             }
    8420              :           }
    8421         1322 :         if (integer_truep (_p1))
    8422              :           {
    8423         1298 :             {
    8424         1298 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8425         1298 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8426         1298 :               if (res) return res;
    8427              :             }
    8428              :           }
    8429              :         break;
    8430              :       }
    8431         2018 :     case UNGT_EXPR:
    8432         2018 :       {
    8433         2018 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8434         2018 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8435         2018 :         if (integer_zerop (_p1))
    8436              :           {
    8437           96 :             {
    8438           96 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8439           96 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8440           96 :               if (res) return res;
    8441              :             }
    8442              :           }
    8443         1922 :         if (integer_truep (_p1))
    8444              :           {
    8445         1778 :             {
    8446         1778 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8447         1778 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8448         1778 :               if (res) return res;
    8449              :             }
    8450              :           }
    8451              :         break;
    8452              :       }
    8453          391 :     case UNGE_EXPR:
    8454          391 :       {
    8455          391 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8456          391 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8457          391 :         if (integer_zerop (_p1))
    8458              :           {
    8459           16 :             {
    8460           16 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8461           16 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8462           16 :               if (res) return res;
    8463              :             }
    8464              :           }
    8465          375 :         if (integer_truep (_p1))
    8466              :           {
    8467          211 :             {
    8468          211 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8469          211 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8470          211 :               if (res) return res;
    8471              :             }
    8472              :           }
    8473              :         break;
    8474              :       }
    8475          161 :     case UNEQ_EXPR:
    8476          161 :       {
    8477          161 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8478          161 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8479          161 :         if (integer_zerop (_p1))
    8480              :           {
    8481            0 :             {
    8482            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8483            0 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8484            0 :               if (res) return res;
    8485              :             }
    8486              :           }
    8487          161 :         if (integer_truep (_p1))
    8488              :           {
    8489          124 :             {
    8490          124 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8491          124 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8492          124 :               if (res) return res;
    8493              :             }
    8494              :           }
    8495              :         break;
    8496              :       }
    8497           24 :     case LTGT_EXPR:
    8498           24 :       {
    8499           24 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8500           24 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8501           24 :         if (integer_zerop (_p1))
    8502              :           {
    8503            6 :             {
    8504            6 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8505            6 :               tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8506            6 :               if (res) return res;
    8507              :             }
    8508              :           }
    8509           24 :         if (integer_truep (_p1))
    8510              :           {
    8511            0 :             {
    8512            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8513            0 :               tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8514            0 :               if (res) return res;
    8515              :             }
    8516              :           }
    8517              :         break;
    8518              :       }
    8519       104026 :     case MINUS_EXPR:
    8520       104026 :       {
    8521       104026 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8522       104026 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8523       104026 :         if (integer_zerop (_p1))
    8524              :           {
    8525        35288 :             {
    8526        35288 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8527        35288 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, NE_EXPR);
    8528        35288 :               if (res) return res;
    8529              :             }
    8530              :           }
    8531              :         break;
    8532              :       }
    8533        26923 :     case POINTER_DIFF_EXPR:
    8534        26923 :       {
    8535        26923 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8536        26923 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8537        26923 :         if (integer_zerop (_p1))
    8538              :           {
    8539        14789 :             {
    8540        14789 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8541        14789 :               tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, NE_EXPR);
    8542        14789 :               if (res) return res;
    8543              :             }
    8544              :           }
    8545              :         break;
    8546              :       }
    8547        95275 :     case MULT_EXPR:
    8548        95275 :       {
    8549        95275 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8550        95275 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8551        95275 :         switch (TREE_CODE (_q21))
    8552              :           {
    8553        77770 :           case INTEGER_CST:
    8554        77770 :             {
    8555        77770 :               switch (TREE_CODE (_p1))
    8556              :                 {
    8557        51957 :                 case INTEGER_CST:
    8558        51957 :                   {
    8559        51957 :                     {
    8560        51957 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8561        51957 :                       tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR);
    8562        51957 :                       if (res) return res;
    8563              :                     }
    8564        35446 :                     break;
    8565              :                   }
    8566        61259 :                 default:;
    8567              :                 }
    8568        61259 :             if (integer_zerop (_p1))
    8569              :               {
    8570        12590 :                 {
    8571        12590 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8572        12590 :                   tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    8573        12590 :                   if (res) return res;
    8574              :                 }
    8575              :               }
    8576              :               break;
    8577              :             }
    8578              :           default:;
    8579              :           }
    8580              :         break;
    8581              :       }
    8582     35521687 :     default:;
    8583              :     }
    8584     35521687 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8585              :     {
    8586       105776 :       {
    8587       105776 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8588       105776 :         tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, NE_EXPR);
    8589       105776 :         if (res) return res;
    8590              :       }
    8591              :     }
    8592     35422624 :   switch (TREE_CODE (_p0))
    8593              :     {
    8594      6806052 :     CASE_CONVERT:
    8595      6806052 :       {
    8596      6806052 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8597      6806052 :         switch (TREE_CODE (_p1))
    8598              :           {
    8599      3040018 :           CASE_CONVERT:
    8600      3040018 :             {
    8601      3040018 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8602      3040018 :               {
    8603      3040018 :                 tree _q40_pops[1];
    8604      3040018 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    8605              :                   {
    8606            0 :                     tree _q50 = _q40_pops[0];
    8607            0 :                     {
    8608            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    8609            0 :                       tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, NE_EXPR);
    8610            0 :                       if (res) return res;
    8611              :                     }
    8612              :                   }
    8613              :               }
    8614      3040018 :               break;
    8615              :             }
    8616      6806052 :           default:;
    8617              :           }
    8618      6806052 :         {
    8619      6806052 :           tree _q20_pops[1];
    8620      6806052 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    8621              :             {
    8622        12766 :               tree _q30 = _q20_pops[0];
    8623        12766 :               switch (TREE_CODE (_p1))
    8624              :                 {
    8625            0 :                 CASE_CONVERT:
    8626            0 :                   {
    8627            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8628            0 :                     {
    8629            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    8630            0 :                       tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, NE_EXPR);
    8631            0 :                       if (res) return res;
    8632              :                     }
    8633            0 :                     break;
    8634              :                   }
    8635              :                 default:;
    8636              :                 }
    8637              :             }
    8638              :         }
    8639      6806052 :         break;
    8640              :       }
    8641     35422624 :     default:;
    8642              :     }
    8643     35422624 :   {
    8644     35422624 :     tree _p1_pops[1];
    8645     35422624 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    8646              :       {
    8647     25693561 :         tree _q30 = _p1_pops[0];
    8648     25693561 :         {
    8649     25693561 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8650     25693561 :           tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, NE_EXPR);
    8651     25693561 :           if (res) return res;
    8652              :         }
    8653              :       }
    8654              :   }
    8655     35422624 :   switch (TREE_CODE (_p0))
    8656              :     {
    8657        13400 :     case BIT_NOT_EXPR:
    8658        13400 :       {
    8659        13400 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8660        13400 :         switch (TREE_CODE (_p1))
    8661              :           {
    8662           11 :           case BIT_NOT_EXPR:
    8663           11 :             {
    8664           11 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8665           11 :               {
    8666           11 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8667           11 :                 tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, NE_EXPR);
    8668           11 :                 if (res) return res;
    8669              :               }
    8670            0 :               break;
    8671              :             }
    8672        13389 :           default:;
    8673              :           }
    8674        13389 :       {
    8675        13389 :         tree _p1_pops[1];
    8676        13389 :         if (tree_nop_convert (_p1, _p1_pops))
    8677              :           {
    8678           80 :             tree _q40 = _p1_pops[0];
    8679           80 :             switch (TREE_CODE (_q40))
    8680              :               {
    8681            0 :               case BIT_NOT_EXPR:
    8682            0 :                 {
    8683            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8684            0 :                   {
    8685            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8686            0 :                     tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, NE_EXPR);
    8687            0 :                     if (res) return res;
    8688              :                   }
    8689            0 :                   break;
    8690              :                 }
    8691              :               default:;
    8692              :               }
    8693              :           }
    8694              :       }
    8695        13389 :       if (CONSTANT_CLASS_P (_p1))
    8696              :         {
    8697        12203 :           {
    8698        12203 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8699        12203 :             tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    8700        12203 :             if (res) return res;
    8701              :           }
    8702              :         }
    8703              :         break;
    8704              :       }
    8705     35410410 :     default:;
    8706              :     }
    8707     35410410 : {
    8708     35410410 :   tree _p0_pops[1];
    8709     35410410 :   if (tree_maybe_bit_not (_p0, _p0_pops))
    8710              :     {
    8711       283945 :       tree _q20 = _p0_pops[0];
    8712       283945 :       {
    8713       283945 :         tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    8714       283945 :         tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, NE_EXPR);
    8715       283945 :         if (res) return res;
    8716              :       }
    8717              :     }
    8718              : }
    8719     35410408 : {
    8720     35410408 :   tree _p0_pops[1];
    8721     35410408 :   if (tree_nop_convert (_p0, _p0_pops))
    8722              :     {
    8723      4627431 :       tree _q20 = _p0_pops[0];
    8724      4627431 :       switch (TREE_CODE (_q20))
    8725              :         {
    8726            1 :         case BIT_NOT_EXPR:
    8727            1 :           {
    8728            1 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8729            1 :             switch (TREE_CODE (_p1))
    8730              :               {
    8731            0 :               case BIT_NOT_EXPR:
    8732            0 :                 {
    8733            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8734            0 :                   {
    8735            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8736            0 :                     tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, NE_EXPR);
    8737            0 :                     if (res) return res;
    8738              :                   }
    8739            0 :                   break;
    8740              :                 }
    8741            1 :               default:;
    8742              :               }
    8743            1 :           {
    8744            1 :             tree _p1_pops[1];
    8745            1 :             if (tree_nop_convert (_p1, _p1_pops))
    8746              :               {
    8747            0 :                 tree _q50 = _p1_pops[0];
    8748            0 :                 switch (TREE_CODE (_q50))
    8749              :                   {
    8750            0 :                   case BIT_NOT_EXPR:
    8751            0 :                     {
    8752            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8753            0 :                       {
    8754            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8755            0 :                         tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, NE_EXPR);
    8756            0 :                         if (res) return res;
    8757              :                       }
    8758            0 :                       break;
    8759              :                     }
    8760              :                   default:;
    8761              :                   }
    8762              :               }
    8763              :           }
    8764            1 :           if (CONSTANT_CLASS_P (_p1))
    8765              :             {
    8766            1 :               {
    8767            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8768            1 :                 tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    8769            1 :                 if (res) return res;
    8770              :               }
    8771              :             }
    8772              :             break;
    8773              :           }
    8774              :         default:;
    8775              :         }
    8776              :     }
    8777              : }
    8778     35410407 :   switch (TREE_CODE (_p1))
    8779              :     {
    8780       695301 :     case REAL_CST:
    8781       695301 :       {
    8782       695301 :         {
    8783       695301 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8784       695301 :           tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, NE_EXPR);
    8785       695301 :           if (res) return res;
    8786              :         }
    8787       627591 :         break;
    8788              :       }
    8789     35342697 :     default:;
    8790              :     }
    8791     35342697 :   switch (TREE_CODE (_p0))
    8792              :     {
    8793      1302022 :     case PLUS_EXPR:
    8794      1302022 :       {
    8795      1302022 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8796      1302022 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8797      1302022 :         switch (TREE_CODE (_q21))
    8798              :           {
    8799         3843 :           case REAL_CST:
    8800         3843 :             {
    8801         3843 :               switch (TREE_CODE (_p1))
    8802              :                 {
    8803         3067 :                 case REAL_CST:
    8804         3067 :                   {
    8805         3067 :                     {
    8806         3067 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8807         3067 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR);
    8808         3067 :                       if (res) return res;
    8809              :                     }
    8810         3067 :                     break;
    8811              :                   }
    8812              :                 default:;
    8813              :                 }
    8814              :               break;
    8815              :             }
    8816              :           default:;
    8817              :           }
    8818              :         break;
    8819              :       }
    8820        68734 :     case MINUS_EXPR:
    8821        68734 :       {
    8822        68734 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8823        68734 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8824        68734 :         switch (TREE_CODE (_q21))
    8825              :           {
    8826         3215 :           case REAL_CST:
    8827         3215 :             {
    8828         3215 :               switch (TREE_CODE (_p1))
    8829              :                 {
    8830         2849 :                 case REAL_CST:
    8831         2849 :                   {
    8832         2849 :                     {
    8833         2849 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8834         2849 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, MINUS_EXPR, NE_EXPR);
    8835         2849 :                       if (res) return res;
    8836              :                     }
    8837         2849 :                     break;
    8838              :                   }
    8839              :                 default:;
    8840              :                 }
    8841              :               break;
    8842              :             }
    8843        68734 :           default:;
    8844              :           }
    8845        68734 :         switch (TREE_CODE (_q20))
    8846              :           {
    8847           87 :           case REAL_CST:
    8848           87 :             {
    8849           87 :               switch (TREE_CODE (_p1))
    8850              :                 {
    8851           44 :                 case REAL_CST:
    8852           44 :                   {
    8853           44 :                     {
    8854           44 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8855           44 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, NE_EXPR);
    8856           44 :                       if (res) return res;
    8857              :                     }
    8858           44 :                     break;
    8859              :                   }
    8860              :                 default:;
    8861              :                 }
    8862              :               break;
    8863              :             }
    8864              :           default:;
    8865              :           }
    8866              :         break;
    8867              :       }
    8868         9955 :     case FLOAT_EXPR:
    8869         9955 :       {
    8870         9955 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8871         9955 :         switch (TREE_CODE (_p1))
    8872              :           {
    8873         1115 :           case FLOAT_EXPR:
    8874         1115 :             {
    8875         1115 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8876         1115 :               {
    8877         1115 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8878         1115 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    8879         1115 :                 if (res) return res;
    8880              :               }
    8881          971 :               break;
    8882              :             }
    8883         1808 :           case REAL_CST:
    8884         1808 :             {
    8885         1808 :               {
    8886         1808 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8887         1808 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    8888         1808 :                 if (res) return res;
    8889              :               }
    8890         1687 :               break;
    8891              :             }
    8892              :           default:;
    8893              :           }
    8894              :         break;
    8895              :       }
    8896         2045 :     case EXACT_DIV_EXPR:
    8897         2045 :       {
    8898         2045 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8899         2045 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8900         2045 :         switch (TREE_CODE (_p1))
    8901              :           {
    8902           36 :           case INTEGER_CST:
    8903           36 :             {
    8904           36 :               {
    8905           36 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8906           36 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, NE_EXPR);
    8907           36 :                 if (res) return res;
    8908              :               }
    8909            0 :               break;
    8910              :             }
    8911              :           default:;
    8912              :           }
    8913              :         break;
    8914              :       }
    8915         6198 :     case NEGATE_EXPR:
    8916         6198 :       {
    8917         6198 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8918         6198 :         switch (TREE_CODE (_p1))
    8919              :           {
    8920            4 :           case NEGATE_EXPR:
    8921            4 :             {
    8922            4 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8923            4 :               {
    8924            4 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8925            4 :                 tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    8926            4 :                 if (res) return res;
    8927              :               }
    8928            0 :               break;
    8929              :             }
    8930         6194 :           default:;
    8931              :           }
    8932         6194 :       if (CONSTANT_CLASS_P (_p1))
    8933              :         {
    8934          577 :           {
    8935          577 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8936          577 :             tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
    8937          577 :             if (res) return res;
    8938              :           }
    8939              :         }
    8940              :         break;
    8941              :       }
    8942         1940 :     case ABS_EXPR:
    8943         1940 :       {
    8944         1940 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8945         1940 :         if (zerop (_p1))
    8946              :           {
    8947           72 :             {
    8948           72 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8949           72 :               const enum tree_code eqne = NE_EXPR;
    8950           72 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1558;
    8951           72 :               {
    8952           72 :                 tree res_op0;
    8953           72 :                 res_op0 = captures[0];
    8954           72 :                 tree res_op1;
    8955           72 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    8956           72 :                 tree _r;
    8957           72 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    8958           72 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    8959            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    8960           72 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 980, __FILE__, __LINE__, true);
    8961           72 :                 return _r;
    8962              :               }
    8963            0 : next_after_fail1558:;
    8964              :             }
    8965              :           }
    8966              :         break;
    8967              :       }
    8968         1698 :     case ABSU_EXPR:
    8969         1698 :       {
    8970         1698 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8971         1698 :         if (zerop (_p1))
    8972              :           {
    8973           65 :             {
    8974           65 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8975           65 :               const enum tree_code eqne = NE_EXPR;
    8976           65 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1559;
    8977           65 :               {
    8978           65 :                 tree res_op0;
    8979           65 :                 res_op0 = captures[0];
    8980           65 :                 tree res_op1;
    8981           65 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    8982           65 :                 tree _r;
    8983           65 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    8984           65 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    8985            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    8986           65 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 980, __FILE__, __LINE__, true);
    8987           65 :                 return _r;
    8988              :               }
    8989            0 : next_after_fail1559:;
    8990              :             }
    8991              :           }
    8992              :         break;
    8993              :       }
    8994      6805972 :     CASE_CONVERT:
    8995      6805972 :       {
    8996      6805972 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8997      6805972 :         switch (TREE_CODE (_p1))
    8998              :           {
    8999      3040018 :           CASE_CONVERT:
    9000      3040018 :             {
    9001      3040018 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9002      3040018 :               {
    9003      3040018 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9004      3040018 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, NE_EXPR);
    9005      3040018 :                 if (res) return res;
    9006              :               }
    9007      2838619 :               break;
    9008              :             }
    9009      6604573 :           default:;
    9010              :           }
    9011      6604573 :         {
    9012      6604573 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    9013      6604573 :           tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, NE_EXPR);
    9014      6604573 :           if (res) return res;
    9015              :         }
    9016      4532567 :         switch (TREE_CODE (_q20))
    9017              :           {
    9018           12 :           case BIT_IOR_EXPR:
    9019           12 :             {
    9020           12 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9021           12 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9022           12 :               switch (TREE_CODE (_q31))
    9023              :                 {
    9024            0 :                 case INTEGER_CST:
    9025            0 :                   {
    9026            0 :                     switch (TREE_CODE (_p1))
    9027              :                       {
    9028            0 :                       case INTEGER_CST:
    9029            0 :                         {
    9030            0 :                           {
    9031            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9032            0 :                             tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, NE_EXPR);
    9033            0 :                             if (res) return res;
    9034              :                           }
    9035            0 :                           break;
    9036              :                         }
    9037              :                       default:;
    9038              :                       }
    9039              :                     break;
    9040              :                   }
    9041              :                 default:;
    9042              :                 }
    9043              :               break;
    9044              :             }
    9045              :           default:;
    9046              :           }
    9047              :         break;
    9048              :       }
    9049     14733765 :     case SSA_NAME:
    9050     14733765 :       {
    9051     14733765 :         switch (TREE_CODE (_p1))
    9052              :           {
    9053       300922 :           case ADDR_EXPR:
    9054       300922 :             {
    9055       300922 :               {
    9056       300922 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9057       300922 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, NE_EXPR);
    9058       300922 :                 if (res) return res;
    9059              :               }
    9060       300920 :               break;
    9061              :             }
    9062              :           default:;
    9063              :           }
    9064              :         break;
    9065              :       }
    9066       238346 :     case BIT_IOR_EXPR:
    9067       238346 :       {
    9068       238346 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9069       238346 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9070       238346 :         switch (TREE_CODE (_q21))
    9071              :           {
    9072          970 :           case INTEGER_CST:
    9073          970 :             {
    9074          970 :               switch (TREE_CODE (_p1))
    9075              :                 {
    9076          233 :                 case INTEGER_CST:
    9077          233 :                   {
    9078          233 :                     {
    9079          233 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9080          233 :                       tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, NE_EXPR);
    9081          233 :                       if (res) return res;
    9082              :                     }
    9083          233 :                     break;
    9084              :                   }
    9085              :                 default:;
    9086              :                 }
    9087              :               break;
    9088              :             }
    9089              :           default:;
    9090              :           }
    9091              :         break;
    9092              :       }
    9093        29458 :     case BIT_XOR_EXPR:
    9094        29458 :       {
    9095        29458 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9096        29458 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9097        29458 :         if (integer_zerop (_p1))
    9098              :           {
    9099        25133 :             {
    9100        25133 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9101        25133 :               tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, NE_EXPR);
    9102        25133 :               if (res) return res;
    9103              :             }
    9104              :           }
    9105         4325 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9106              :           {
    9107            1 :             {
    9108            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9109            1 :               tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, NE_EXPR);
    9110            1 :               if (res) return res;
    9111              :             }
    9112              :           }
    9113         4324 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9114              :           {
    9115            2 :             {
    9116            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9117            2 :               tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, NE_EXPR);
    9118            2 :               if (res) return res;
    9119              :             }
    9120              :           }
    9121              :         break;
    9122              :       }
    9123      2326438 :     case CALL_EXPR:
    9124      2326438 :       switch (get_call_combined_fn (_p0))
    9125              :         {
    9126           42 :         case CFN_BUILT_IN_SQRTF:
    9127           42 :           if (call_expr_nargs (_p0) == 1)
    9128              :     {
    9129           42 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9130           42 :               switch (TREE_CODE (_p1))
    9131              :                 {
    9132            0 :                 case REAL_CST:
    9133            0 :                   {
    9134            0 :                     {
    9135            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9136            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, NE_EXPR);
    9137            0 :                       if (res) return res;
    9138              :                     }
    9139            0 :                     break;
    9140              :                   }
    9141           42 :                 case CALL_EXPR:
    9142           42 :                   switch (get_call_combined_fn (_p1))
    9143              :                     {
    9144            0 :                     case CFN_BUILT_IN_SQRTF:
    9145            0 :                       if (call_expr_nargs (_p1) == 1)
    9146              :     {
    9147            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9148            0 :                           {
    9149            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9150            0 :                             tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, NE_EXPR);
    9151            0 :                             if (res) return res;
    9152              :                           }
    9153              :                         }
    9154              :                       break;
    9155              :                     default:;
    9156              :                     }
    9157              :                   break;
    9158              :                 default:;
    9159              :                 }
    9160              :             }
    9161              :           break;
    9162           42 :         case CFN_BUILT_IN_SQRTL:
    9163           42 :           if (call_expr_nargs (_p0) == 1)
    9164              :     {
    9165           42 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9166           42 :               switch (TREE_CODE (_p1))
    9167              :                 {
    9168            0 :                 case REAL_CST:
    9169            0 :                   {
    9170            0 :                     {
    9171            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9172            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, NE_EXPR);
    9173            0 :                       if (res) return res;
    9174              :                     }
    9175            0 :                     break;
    9176              :                   }
    9177           42 :                 case CALL_EXPR:
    9178           42 :                   switch (get_call_combined_fn (_p1))
    9179              :                     {
    9180            0 :                     case CFN_BUILT_IN_SQRTL:
    9181            0 :                       if (call_expr_nargs (_p1) == 1)
    9182              :     {
    9183            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9184            0 :                           {
    9185            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9186            0 :                             tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, NE_EXPR);
    9187            0 :                             if (res) return res;
    9188              :                           }
    9189              :                         }
    9190              :                       break;
    9191              :                     default:;
    9192              :                     }
    9193              :                   break;
    9194              :                 default:;
    9195              :                 }
    9196              :             }
    9197              :           break;
    9198           46 :         case CFN_BUILT_IN_SQRT:
    9199           46 :           if (call_expr_nargs (_p0) == 1)
    9200              :     {
    9201           46 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9202           46 :               switch (TREE_CODE (_p1))
    9203              :                 {
    9204            2 :                 case REAL_CST:
    9205            2 :                   {
    9206            2 :                     {
    9207            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9208            2 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, NE_EXPR);
    9209            2 :                       if (res) return res;
    9210              :                     }
    9211            2 :                     break;
    9212              :                   }
    9213           43 :                 case CALL_EXPR:
    9214           43 :                   switch (get_call_combined_fn (_p1))
    9215              :                     {
    9216            0 :                     case CFN_BUILT_IN_SQRT:
    9217            0 :                       if (call_expr_nargs (_p1) == 1)
    9218              :     {
    9219            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9220            0 :                           {
    9221            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9222            0 :                             tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, NE_EXPR);
    9223            0 :                             if (res) return res;
    9224              :                           }
    9225              :                         }
    9226              :                       break;
    9227              :                     default:;
    9228              :                     }
    9229              :                   break;
    9230              :                 default:;
    9231              :                 }
    9232              :             }
    9233              :           break;
    9234            0 :         case CFN_SQRT:
    9235            0 :           if (call_expr_nargs (_p0) == 1)
    9236              :     {
    9237            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9238            0 :               switch (TREE_CODE (_p1))
    9239              :                 {
    9240            0 :                 case REAL_CST:
    9241            0 :                   {
    9242            0 :                     {
    9243            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9244            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_SQRT, NE_EXPR);
    9245            0 :                       if (res) return res;
    9246              :                     }
    9247            0 :                     break;
    9248              :                   }
    9249            0 :                 case CALL_EXPR:
    9250            0 :                   switch (get_call_combined_fn (_p1))
    9251              :                     {
    9252            0 :                     case CFN_SQRT:
    9253            0 :                       if (call_expr_nargs (_p1) == 1)
    9254              :     {
    9255            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9256            0 :                           {
    9257            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9258            0 :                             tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_SQRT, NE_EXPR);
    9259            0 :                             if (res) return res;
    9260              :                           }
    9261              :                         }
    9262              :                       break;
    9263              :                     default:;
    9264              :                     }
    9265              :                   break;
    9266              :                 default:;
    9267              :                 }
    9268              :             }
    9269              :           break;
    9270              :         default:;
    9271              :         }
    9272              :       break;
    9273     33043153 :     default:;
    9274              :     }
    9275     33043153 :   switch (TREE_CODE (_p1))
    9276              :     {
    9277          840 :     case BIT_XOR_EXPR:
    9278          840 :       {
    9279          840 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9280          840 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9281          840 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9282              :           {
    9283            0 :             {
    9284            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9285            0 :               tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, NE_EXPR);
    9286            0 :               if (res) return res;
    9287              :             }
    9288              :           }
    9289          840 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9290              :           {
    9291            0 :             {
    9292            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9293            0 :               tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, NE_EXPR);
    9294            0 :               if (res) return res;
    9295              :             }
    9296              :           }
    9297              :         break;
    9298              :       }
    9299     33043153 :     default:;
    9300              :     }
    9301     33043153 :   switch (TREE_CODE (_p0))
    9302              :     {
    9303      1257764 :     case BIT_AND_EXPR:
    9304      1257764 :       {
    9305      1257764 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9306      1257764 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9307      1257764 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9308              :           {
    9309          179 :             {
    9310          179 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9311          179 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, NE_EXPR);
    9312          179 :               if (res) return res;
    9313              :             }
    9314              :           }
    9315      1257736 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9316              :           {
    9317         4473 :             {
    9318         4473 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9319         4473 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, NE_EXPR);
    9320         4473 :               if (res) return res;
    9321              :             }
    9322              :           }
    9323              :         break;
    9324              :       }
    9325     33043125 :     default:;
    9326              :     }
    9327     33043125 :   switch (TREE_CODE (_p1))
    9328              :     {
    9329        15790 :     case BIT_AND_EXPR:
    9330        15790 :       {
    9331        15790 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9332        15790 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9333        15790 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9334              :           {
    9335            0 :             {
    9336            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9337            0 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, NE_EXPR);
    9338            0 :               if (res) return res;
    9339              :             }
    9340              :           }
    9341        15790 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9342              :           {
    9343            0 :             {
    9344            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9345            0 :               tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, NE_EXPR);
    9346            0 :               if (res) return res;
    9347              :             }
    9348              :           }
    9349              :         break;
    9350              :       }
    9351     33043125 :     default:;
    9352              :     }
    9353     33043125 :   switch (TREE_CODE (_p0))
    9354              :     {
    9355      4532567 :     CASE_CONVERT:
    9356      4532567 :       {
    9357      4532567 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9358      4532567 :         switch (TREE_CODE (_q20))
    9359              :           {
    9360            0 :           case BIT_AND_EXPR:
    9361            0 :             {
    9362            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9363            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9364            0 :               switch (TREE_CODE (_q30))
    9365              :                 {
    9366            0 :                 CASE_CONVERT:
    9367            0 :                   {
    9368            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9369            0 :                     switch (TREE_CODE (_q31))
    9370              :                       {
    9371            0 :                       case INTEGER_CST:
    9372            0 :                         {
    9373            0 :                           switch (TREE_CODE (_p1))
    9374              :                             {
    9375            0 :                             CASE_CONVERT:
    9376            0 :                               {
    9377            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    9378            0 :                                 if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    9379              :                                   {
    9380            0 :                                     {
    9381            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
    9382            0 :                                       tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, NE_EXPR);
    9383            0 :                                       if (res) return res;
    9384              :                                     }
    9385              :                                   }
    9386              :                                 break;
    9387              :                               }
    9388              :                             default:;
    9389              :                             }
    9390              :                           break;
    9391              :                         }
    9392              :                       default:;
    9393              :                       }
    9394              :                     break;
    9395              :                   }
    9396              :                 default:;
    9397              :                 }
    9398              :               break;
    9399              :             }
    9400      4532567 :           default:;
    9401              :           }
    9402      4532567 :         switch (TREE_CODE (_p1))
    9403              :           {
    9404      2838619 :           CASE_CONVERT:
    9405      2838619 :             {
    9406      2838619 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9407      2838619 :               switch (TREE_CODE (_q40))
    9408              :                 {
    9409            0 :                 case BIT_AND_EXPR:
    9410            0 :                   {
    9411            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9412            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9413            0 :                     switch (TREE_CODE (_q50))
    9414              :                       {
    9415            0 :                       CASE_CONVERT:
    9416            0 :                         {
    9417            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    9418            0 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9419              :                             {
    9420            0 :                               switch (TREE_CODE (_q51))
    9421              :                                 {
    9422            0 :                                 case INTEGER_CST:
    9423            0 :                                   {
    9424            0 :                                     {
    9425            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
    9426            0 :                                       tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, NE_EXPR);
    9427            0 :                                       if (res) return res;
    9428              :                                     }
    9429            0 :                                     break;
    9430              :                                   }
    9431              :                                 default:;
    9432              :                                 }
    9433              :                             }
    9434              :                           break;
    9435              :                         }
    9436              :                       default:;
    9437              :                       }
    9438              :                     break;
    9439              :                   }
    9440              :                 default:;
    9441              :                 }
    9442              :               break;
    9443              :             }
    9444              :           default:;
    9445              :           }
    9446              :         break;
    9447              :       }
    9448       238346 :     case BIT_IOR_EXPR:
    9449       238346 :       {
    9450       238346 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9451       238346 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9452       238346 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9453              :           {
    9454          128 :             {
    9455          128 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9456          128 :               tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, NE_EXPR);
    9457          128 :               if (res) return res;
    9458              :             }
    9459              :           }
    9460       238338 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9461              :           {
    9462          253 :             {
    9463          253 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9464          253 :               tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, NE_EXPR);
    9465          253 :               if (res) return res;
    9466              :             }
    9467              :           }
    9468              :         break;
    9469              :       }
    9470     33043117 :     default:;
    9471              :     }
    9472     33043117 :   switch (TREE_CODE (_p1))
    9473              :     {
    9474          564 :     case BIT_IOR_EXPR:
    9475          564 :       {
    9476          564 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9477          564 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9478          564 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9479              :           {
    9480            0 :             {
    9481            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    9482            0 :               tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, NE_EXPR);
    9483            0 :               if (res) return res;
    9484              :             }
    9485              :           }
    9486          564 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9487              :           {
    9488            0 :             {
    9489            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
    9490            0 :               tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, NE_EXPR);
    9491            0 :               if (res) return res;
    9492              :             }
    9493              :           }
    9494              :         break;
    9495              :       }
    9496     33043117 :     default:;
    9497              :     }
    9498     33043117 :   switch (TREE_CODE (_p0))
    9499              :     {
    9500      4532567 :     CASE_CONVERT:
    9501      4532567 :       {
    9502      4532567 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9503      4532567 :         switch (TREE_CODE (_q20))
    9504              :           {
    9505            8 :           case BIT_XOR_EXPR:
    9506            8 :             {
    9507            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9508            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9509            8 :               switch (TREE_CODE (_q31))
    9510              :                 {
    9511            0 :                 case INTEGER_CST:
    9512            0 :                   {
    9513            0 :                     switch (TREE_CODE (_p1))
    9514              :                       {
    9515            0 :                       case INTEGER_CST:
    9516            0 :                         {
    9517            0 :                           {
    9518            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9519            0 :                             tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, NE_EXPR);
    9520            0 :                             if (res) return res;
    9521              :                           }
    9522            0 :                           break;
    9523              :                         }
    9524              :                       default:;
    9525              :                       }
    9526              :                     break;
    9527              :                   }
    9528              :                 default:;
    9529              :                 }
    9530              :               break;
    9531              :             }
    9532              :           default:;
    9533              :           }
    9534              :         break;
    9535              :       }
    9536         4322 :     case BIT_XOR_EXPR:
    9537         4322 :       {
    9538         4322 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9539         4322 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9540         4322 :         switch (TREE_CODE (_q21))
    9541              :           {
    9542          884 :           case INTEGER_CST:
    9543          884 :             {
    9544          884 :               switch (TREE_CODE (_p1))
    9545              :                 {
    9546           10 :                 case INTEGER_CST:
    9547           10 :                   {
    9548           10 :                     {
    9549           10 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9550           10 :                       tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, NE_EXPR);
    9551           10 :                       if (res) return res;
    9552              :                     }
    9553            0 :                     break;
    9554              :                   }
    9555              :                 default:;
    9556              :                 }
    9557              :               break;
    9558              :             }
    9559              :           default:;
    9560              :           }
    9561              :         break;
    9562              :       }
    9563     33043107 :     default:;
    9564              :     }
    9565     33043107 : {
    9566     33043107 :   tree _p0_pops[1];
    9567     33043107 :   if (tree_nop_convert (_p0, _p0_pops))
    9568              :     {
    9569      3819651 :       tree _q20 = _p0_pops[0];
    9570      3819651 :       if (integer_zerop (_p1))
    9571              :         {
    9572       892757 :           {
    9573       892757 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9574       892757 :             tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, NE_EXPR);
    9575       892757 :             if (res) return res;
    9576              :           }
    9577              :         }
    9578              :     }
    9579              : }
    9580     32502103 :   if (integer_zerop (_p1))
    9581              :     {
    9582     18059410 :       {
    9583     18059410 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9584     18059410 :         tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, NE_EXPR);
    9585     18059410 :         if (res) return res;
    9586              :       }
    9587              :     }
    9588     32326136 :   switch (TREE_CODE (_p0))
    9589              :     {
    9590      1257736 :     case BIT_AND_EXPR:
    9591      1257736 :       {
    9592      1257736 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9593      1257736 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9594      1257736 :         switch (TREE_CODE (_p1))
    9595              :           {
    9596        14364 :           case BIT_AND_EXPR:
    9597        14364 :             {
    9598        14364 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9599        14364 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9600        14364 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9601              :                 {
    9602        14119 :                   {
    9603        14119 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9604        14119 :                     tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, NE_EXPR);
    9605        14119 :                     if (res) return res;
    9606              :                   }
    9607              :                 }
    9608          245 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9609              :                 {
    9610            2 :                   {
    9611            2 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    9612            2 :                     tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, NE_EXPR);
    9613            2 :                     if (res) return res;
    9614              :                   }
    9615              :                 }
    9616          243 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9617              :                 {
    9618            1 :                   {
    9619            1 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    9620            1 :                     tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, NE_EXPR);
    9621            1 :                     if (res) return res;
    9622              :                   }
    9623              :                 }
    9624          242 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9625              :                 {
    9626            7 :                   {
    9627            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    9628            7 :                     tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, NE_EXPR);
    9629            7 :                     if (res) return res;
    9630              :                   }
    9631              :                 }
    9632              :               break;
    9633              :             }
    9634      1243607 :           default:;
    9635              :           }
    9636      1243607 :         if (integer_pow2p (_q21))
    9637              :           {
    9638       641802 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9639              :               {
    9640          579 :                 {
    9641          579 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9642          579 :                   tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
    9643          579 :                   if (res) return res;
    9644              :                 }
    9645              :               }
    9646              :           }
    9647      1243032 :         switch (TREE_CODE (_q20))
    9648              :           {
    9649       192953 :           CASE_CONVERT:
    9650       192953 :             {
    9651       192953 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9652       192953 :               if (integer_pow2p (_q21))
    9653              :                 {
    9654        95620 :                   if (integer_zerop (_p1))
    9655              :                     {
    9656        95525 :                       {
    9657        95525 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
    9658        95525 :                         tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
    9659        95525 :                         if (res) return res;
    9660              :                       }
    9661              :                     }
    9662              :                 }
    9663              :               break;
    9664              :             }
    9665      1239124 :           default:;
    9666              :           }
    9667      1239124 :         if (integer_pow2p (_q21))
    9668              :           {
    9669       637319 :             if (integer_zerop (_p1))
    9670              :               {
    9671       633894 :                 {
    9672       633894 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
    9673       633894 :                   tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, NE_EXPR, LT_EXPR);
    9674       633894 :                   if (res) return res;
    9675              :                 }
    9676              :               }
    9677              :           }
    9678              :         break;
    9679              :       }
    9680         5406 :     case GE_EXPR:
    9681         5406 :       {
    9682         5406 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9683         5406 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9684         5406 :         if (integer_zerop (_q21))
    9685              :           {
    9686          963 :             switch (TREE_CODE (_p1))
    9687              :               {
    9688            1 :               case GE_EXPR:
    9689            1 :                 {
    9690            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9691            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9692            1 :                   if (integer_zerop (_q51))
    9693              :                     {
    9694            1 :                       {
    9695            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9696            1 :                         tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR, LT_EXPR);
    9697            1 :                         if (res) return res;
    9698              :                       }
    9699              :                     }
    9700              :                   break;
    9701              :                 }
    9702            3 :               case LT_EXPR:
    9703            3 :                 {
    9704            3 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9705            3 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9706            3 :                   if (integer_zerop (_q51))
    9707              :                     {
    9708            3 :                       {
    9709            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    9710            3 :                         tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
    9711            3 :                         if (res) return res;
    9712              :                       }
    9713              :                     }
    9714              :                   break;
    9715              :                 }
    9716              :               default:;
    9717              :               }
    9718              :           }
    9719              :         break;
    9720              :       }
    9721        15050 :     case LT_EXPR:
    9722        15050 :       {
    9723        15050 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9724        15050 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9725        15050 :         if (integer_zerop (_q21))
    9726              :           {
    9727         8452 :             switch (TREE_CODE (_p1))
    9728              :               {
    9729           66 :               case LT_EXPR:
    9730           66 :                 {
    9731           66 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9732           66 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9733           66 :                   if (integer_zerop (_q51))
    9734              :                     {
    9735           66 :                       {
    9736           66 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9737           66 :                         tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LT_EXPR);
    9738           66 :                         if (res) return res;
    9739              :                       }
    9740              :                     }
    9741              :                   break;
    9742              :                 }
    9743           17 :               case GE_EXPR:
    9744           17 :                 {
    9745           17 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9746           17 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9747           17 :                   if (integer_zerop (_q51))
    9748              :                     {
    9749           17 :                       {
    9750           17 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9751           17 :                         tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
    9752           17 :                         if (res) return res;
    9753              :                       }
    9754              :                     }
    9755              :                   break;
    9756              :                 }
    9757              :               default:;
    9758              :               }
    9759              :           }
    9760              :         break;
    9761              :       }
    9762       238338 :     case BIT_IOR_EXPR:
    9763       238338 :       {
    9764       238338 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9765       238338 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9766       238338 :         switch (TREE_CODE (_q21))
    9767              :           {
    9768          261 :           CASE_CONVERT:
    9769          261 :             {
    9770          261 :               tree _q40 = TREE_OPERAND (_q21, 0);
    9771          261 :               switch (TREE_CODE (_q40))
    9772              :                 {
    9773            0 :                 case NE_EXPR:
    9774            0 :                   {
    9775            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9776            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9777            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9778              :                       {
    9779            0 :                         if (integer_zerop (_q51))
    9780              :                           {
    9781            0 :                             if (integer_zerop (_p1))
    9782              :                               {
    9783            0 :                                 {
    9784            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9785            0 :                                   tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, NE_EXPR);
    9786            0 :                                   if (res) return res;
    9787              :                                 }
    9788              :                               }
    9789              :                           }
    9790              :                       }
    9791              :                     break;
    9792              :                   }
    9793              :                 default:;
    9794              :                 }
    9795              :               break;
    9796              :             }
    9797       238338 :           default:;
    9798              :           }
    9799       238338 :         switch (TREE_CODE (_q20))
    9800              :           {
    9801          800 :           CASE_CONVERT:
    9802          800 :             {
    9803          800 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9804          800 :               switch (TREE_CODE (_q30))
    9805              :                 {
    9806            0 :                 case NE_EXPR:
    9807            0 :                   {
    9808            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9809            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    9810            0 :                     if (integer_zerop (_q41))
    9811              :                       {
    9812            0 :                         if ((_q21 == _q40 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q40, 0) && types_match (_q21, _q40)))
    9813              :                           {
    9814            0 :                             if (integer_zerop (_p1))
    9815              :                               {
    9816            0 :                                 {
    9817            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    9818            0 :                                   tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, NE_EXPR);
    9819            0 :                                   if (res) return res;
    9820              :                                 }
    9821              :                               }
    9822              :                           }
    9823              :                       }
    9824              :                     break;
    9825              :                   }
    9826              :                 default:;
    9827              :                 }
    9828              :               break;
    9829              :             }
    9830       238338 :           default:;
    9831              :           }
    9832       238338 :         switch (TREE_CODE (_q21))
    9833              :           {
    9834           24 :           case NE_EXPR:
    9835           24 :             {
    9836           24 :               tree _q40 = TREE_OPERAND (_q21, 0);
    9837           24 :               tree _q41 = TREE_OPERAND (_q21, 1);
    9838           24 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    9839              :                 {
    9840            0 :                   if (integer_zerop (_q41))
    9841              :                     {
    9842            0 :                       if (integer_zerop (_p1))
    9843              :                         {
    9844            0 :                           {
    9845            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9846            0 :                             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, NE_EXPR);
    9847            0 :                             if (res) return res;
    9848              :                           }
    9849              :                         }
    9850              :                     }
    9851              :                 }
    9852              :               break;
    9853              :             }
    9854       238338 :           default:;
    9855              :           }
    9856       238338 :         switch (TREE_CODE (_q20))
    9857              :           {
    9858            2 :           case NE_EXPR:
    9859            2 :             {
    9860            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9861            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9862            2 :               if (integer_zerop (_q31))
    9863              :                 {
    9864            1 :                   if ((_q21 == _q30 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q30, 0) && types_match (_q21, _q30)))
    9865              :                     {
    9866            0 :                       if (integer_zerop (_p1))
    9867              :                         {
    9868            0 :                           {
    9869            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    9870            0 :                             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, NE_EXPR);
    9871            0 :                             if (res) return res;
    9872              :                           }
    9873              :                         }
    9874              :                     }
    9875              :                 }
    9876              :               break;
    9877              :             }
    9878              :           default:;
    9879              :           }
    9880              :         break;
    9881              :       }
    9882      3991563 :     CASE_CONVERT:
    9883      3991563 :       {
    9884      3991563 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9885      3991563 :         switch (TREE_CODE (_q20))
    9886              :           {
    9887      2741603 :           case ADDR_EXPR:
    9888      2741603 :             {
    9889      2741603 :               switch (TREE_CODE (_p1))
    9890              :                 {
    9891      2712307 :                 CASE_CONVERT:
    9892      2712307 :                   {
    9893      2712307 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9894      2712307 :                     switch (TREE_CODE (_q40))
    9895              :                       {
    9896      2712307 :                       case ADDR_EXPR:
    9897      2712307 :                         {
    9898      2712307 :                           {
    9899      2712307 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    9900      2712307 :                             tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, NE_EXPR);
    9901      2712307 :                             if (res) return res;
    9902              :                           }
    9903           33 :                           break;
    9904              :                         }
    9905              :                       default:;
    9906              :                       }
    9907              :                     break;
    9908              :                   }
    9909        21265 :                 case ADDR_EXPR:
    9910        21265 :                   {
    9911        21265 :                     {
    9912        21265 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9913        21265 :                       tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, NE_EXPR);
    9914        21265 :                       if (res) return res;
    9915              :                     }
    9916         7935 :                     break;
    9917              :                   }
    9918              :                 default:;
    9919              :                 }
    9920              :               break;
    9921              :             }
    9922              :           default:;
    9923              :           }
    9924              :         break;
    9925              :       }
    9926        60114 :     case ADDR_EXPR:
    9927        60114 :       {
    9928        60114 :         switch (TREE_CODE (_p1))
    9929              :           {
    9930          203 :           CASE_CONVERT:
    9931          203 :             {
    9932          203 :               tree _q30 = TREE_OPERAND (_p1, 0);
    9933          203 :               switch (TREE_CODE (_q30))
    9934              :                 {
    9935          203 :                 case ADDR_EXPR:
    9936          203 :                   {
    9937          203 :                     {
    9938          203 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    9939          203 :                       tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, NE_EXPR);
    9940          203 :                       if (res) return res;
    9941              :                     }
    9942          143 :                     break;
    9943              :                   }
    9944              :                 default:;
    9945              :                 }
    9946              :               break;
    9947              :             }
    9948        51732 :           case ADDR_EXPR:
    9949        51732 :             {
    9950        51732 :               {
    9951        51732 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9952        51732 :                 tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, NE_EXPR);
    9953        51732 :                 if (res) return res;
    9954              :               }
    9955         3852 :               break;
    9956              :             }
    9957              :           default:;
    9958              :           }
    9959              :         break;
    9960              :       }
    9961     29521320 :     default:;
    9962              :     }
    9963     29521320 :   {
    9964     29521320 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9965     29521320 :     tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, NE_EXPR);
    9966     29521320 :     if (res) return res;
    9967              :   }
    9968     29512068 :   switch (TREE_CODE (_p0))
    9969              :     {
    9970      1265959 :     CASE_CONVERT:
    9971      1265959 :       {
    9972      1265959 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9973      1265959 :         switch (TREE_CODE (_p1))
    9974              :           {
    9975       809623 :           case INTEGER_CST:
    9976       809623 :             {
    9977       809623 :               {
    9978       809623 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9979       809623 :                 tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, NE_EXPR);
    9980       809623 :                 if (res) return res;
    9981              :               }
    9982       801112 :               break;
    9983              :             }
    9984      1257448 :           default:;
    9985              :           }
    9986      1257448 :         switch (TREE_CODE (_q20))
    9987              :           {
    9988            8 :           case NE_EXPR:
    9989            8 :             {
    9990            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9991            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9992            8 :               switch (TREE_CODE (_q31))
    9993              :                 {
    9994            8 :                 case INTEGER_CST:
    9995            8 :                   {
    9996            8 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9997              :                       {
    9998            0 :                         {
    9999            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10000            0 :                           tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   10001            0 :                           if (res) return res;
   10002              :                         }
   10003              :                       }
   10004              :                     break;
   10005              :                   }
   10006              :                 default:;
   10007              :                 }
   10008              :               break;
   10009              :             }
   10010            0 :           case EQ_EXPR:
   10011            0 :             {
   10012            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10013            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10014            0 :               switch (TREE_CODE (_q31))
   10015              :                 {
   10016            0 :                 case INTEGER_CST:
   10017            0 :                   {
   10018            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10019              :                       {
   10020            0 :                         {
   10021            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10022            0 :                           tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   10023            0 :                           if (res) return res;
   10024              :                         }
   10025              :                       }
   10026              :                     break;
   10027              :                   }
   10028              :                 default:;
   10029              :                 }
   10030              :               break;
   10031              :             }
   10032              :           default:;
   10033              :           }
   10034              :         break;
   10035              :       }
   10036     29503557 :     default:;
   10037              :     }
   10038     29503557 :   switch (TREE_CODE (_p1))
   10039              :     {
   10040       519128 :     CASE_CONVERT:
   10041       519128 :       {
   10042       519128 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10043       519128 :         switch (TREE_CODE (_q30))
   10044              :           {
   10045            0 :           case NE_EXPR:
   10046            0 :             {
   10047            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10048            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10049            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10050              :                 {
   10051            0 :                   switch (TREE_CODE (_q41))
   10052              :                     {
   10053            0 :                     case INTEGER_CST:
   10054            0 :                       {
   10055            0 :                         {
   10056            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10057            0 :                           tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   10058            0 :                           if (res) return res;
   10059              :                         }
   10060            0 :                         break;
   10061              :                       }
   10062              :                     default:;
   10063              :                     }
   10064              :                 }
   10065              :               break;
   10066              :             }
   10067            0 :           case EQ_EXPR:
   10068            0 :             {
   10069            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10070            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10071            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10072              :                 {
   10073            0 :                   switch (TREE_CODE (_q41))
   10074              :                     {
   10075            0 :                     case INTEGER_CST:
   10076            0 :                       {
   10077            0 :                         {
   10078            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10079            0 :                           tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
   10080            0 :                           if (res) return res;
   10081              :                         }
   10082            0 :                         break;
   10083              :                       }
   10084              :                     default:;
   10085              :                     }
   10086              :                 }
   10087              :               break;
   10088              :             }
   10089              :           default:;
   10090              :           }
   10091              :         break;
   10092              :       }
   10093     29503557 :     default:;
   10094              :     }
   10095     29503557 : if (integer_zerop (_p1))
   10096              :   {
   10097     17857654 :     {
   10098     17857654 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10099     17857654 :       if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
   10100     17857654 :  && types_match (type, TREE_TYPE (captures[0]))
   10101              : )
   10102              :         {
   10103      3324098 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1560;
   10104      3324098 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1560;
   10105      3324098 :           {
   10106      3324098 :             tree res_op0;
   10107      3324098 :             res_op0 = captures[0];
   10108      3324098 :             tree _r;
   10109      3324098 :             _r = non_lvalue_loc (loc, res_op0);
   10110      3324098 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
   10111      3324098 :             return _r;
   10112              :           }
   10113              : next_after_fail1560:;
   10114              :         }
   10115              :     }
   10116              :   }
   10117     26179459 :   switch (TREE_CODE (_p0))
   10118              :     {
   10119       958566 :     case BIT_AND_EXPR:
   10120       958566 :       {
   10121       958566 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10122       958566 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10123       958566 :         switch (TREE_CODE (_q21))
   10124              :           {
   10125         2054 :           case VECTOR_CST:
   10126         2054 :             {
   10127         2054 :               if (integer_zerop (_p1))
   10128              :                 {
   10129         2054 :                   {
   10130         2054 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10131         2054 :                     const enum tree_code cmp = NE_EXPR;
   10132         2054 :                     const enum tree_code icmp = GT_EXPR;
   10133         2054 :                     {
   10134         2054 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10135         2054 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10136              : )
   10137              :                           {
   10138           13 :                             {
   10139           13 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10140           13 :  ? optab_vector : optab_default;
   10141           13 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10142           13 :                                 if (target_supports_op_p (utype, icmp, optab)
   10143           13 :  || (optimize_vectors_before_lowering_p ()
   10144            7 :  && (!target_supports_op_p (type, cmp, optab)
   10145            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10146              : )
   10147              :                                   {
   10148            7 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10149              : )
   10150              :                                       {
   10151            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1561;
   10152            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1561;
   10153            0 :                                         {
   10154            0 :                                           tree res_op0;
   10155            0 :                                           res_op0 = captures[1];
   10156            0 :                                           tree res_op1;
   10157            0 :                                           res_op1 =  csts;
   10158            0 :                                           tree _r;
   10159            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10160            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10161            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10162            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10163            0 :                                           return _r;
   10164              :                                         }
   10165         2047 : next_after_fail1561:;
   10166              :                                       }
   10167              :                                     else
   10168              :                                       {
   10169            7 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1562;
   10170            7 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1562;
   10171            7 :                                         {
   10172            7 :                                           tree res_op0;
   10173            7 :                                           {
   10174            7 :                                             tree _o1[1], _r1;
   10175            7 :                                             _o1[0] = captures[1];
   10176            7 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10177              :                                               {
   10178            7 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10179              :                                               }
   10180              :                                             else
   10181              :                                               _r1 = _o1[0];
   10182            7 :                                             res_op0 = _r1;
   10183              :                                           }
   10184            7 :                                           tree res_op1;
   10185            7 :                                           res_op1 =  csts;
   10186            7 :                                           tree _r;
   10187            7 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10188            7 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10189            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10190            7 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
   10191            7 :                                           return _r;
   10192              :                                         }
   10193         2047 : next_after_fail1562:;
   10194              :                                       }
   10195              :                                   }
   10196              :                             }
   10197              :                           }
   10198              :                     }
   10199              :                   }
   10200              :                 }
   10201              :               break;
   10202              :             }
   10203       763528 :           case INTEGER_CST:
   10204       763528 :             {
   10205       763528 :               if (integer_zerop (_p1))
   10206              :                 {
   10207       728057 :                   {
   10208       728057 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10209       728057 :                     const enum tree_code cmp = NE_EXPR;
   10210       728057 :                     const enum tree_code icmp = GT_EXPR;
   10211       728057 :                     {
   10212       728057 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10213       728057 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10214              : )
   10215              :                           {
   10216         1261 :                             {
   10217         1261 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10218         1261 :  ? optab_vector : optab_default;
   10219         1261 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10220         1261 :                                 if (target_supports_op_p (utype, icmp, optab)
   10221         1261 :  || (optimize_vectors_before_lowering_p ()
   10222         1092 :  && (!target_supports_op_p (type, cmp, optab)
   10223            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10224              : )
   10225              :                                   {
   10226         1092 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10227              : )
   10228              :                                       {
   10229          989 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1563;
   10230          989 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1563;
   10231          989 :                                         {
   10232          989 :                                           tree res_op0;
   10233          989 :                                           res_op0 = captures[1];
   10234          989 :                                           tree res_op1;
   10235          989 :                                           res_op1 =  csts;
   10236          989 :                                           tree _r;
   10237          989 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10238          989 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10239            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10240          989 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10241          989 :                                           return _r;
   10242              :                                         }
   10243       726965 : next_after_fail1563:;
   10244              :                                       }
   10245              :                                     else
   10246              :                                       {
   10247          103 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1564;
   10248          103 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1564;
   10249          103 :                                         {
   10250          103 :                                           tree res_op0;
   10251          103 :                                           {
   10252          103 :                                             tree _o1[1], _r1;
   10253          103 :                                             _o1[0] = captures[1];
   10254          103 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10255              :                                               {
   10256          103 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10257              :                                               }
   10258              :                                             else
   10259              :                                               _r1 = _o1[0];
   10260          103 :                                             res_op0 = _r1;
   10261              :                                           }
   10262          103 :                                           tree res_op1;
   10263          103 :                                           res_op1 =  csts;
   10264          103 :                                           tree _r;
   10265          103 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10266          103 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10267            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10268          103 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
   10269          103 :                                           return _r;
   10270              :                                         }
   10271       726965 : next_after_fail1564:;
   10272              :                                       }
   10273              :                                   }
   10274              :                             }
   10275              :                           }
   10276              :                     }
   10277              :                   }
   10278              :                 }
   10279              :               break;
   10280              :             }
   10281       957467 :           default:;
   10282              :           }
   10283       957467 :         switch (TREE_CODE (_q20))
   10284              :           {
   10285            0 :           case VECTOR_CST:
   10286            0 :             {
   10287            0 :               if (integer_zerop (_p1))
   10288              :                 {
   10289            0 :                   {
   10290            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10291            0 :                     const enum tree_code cmp = NE_EXPR;
   10292            0 :                     const enum tree_code icmp = GT_EXPR;
   10293            0 :                     {
   10294            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10295            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10296              : )
   10297              :                           {
   10298            0 :                             {
   10299            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10300            0 :  ? optab_vector : optab_default;
   10301            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10302            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10303            0 :  || (optimize_vectors_before_lowering_p ()
   10304            0 :  && (!target_supports_op_p (type, cmp, optab)
   10305            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10306              : )
   10307              :                                   {
   10308            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10309              : )
   10310              :                                       {
   10311            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1565;
   10312            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1565;
   10313            0 :                                         {
   10314            0 :                                           tree res_op0;
   10315            0 :                                           res_op0 = captures[1];
   10316            0 :                                           tree res_op1;
   10317            0 :                                           res_op1 =  csts;
   10318            0 :                                           tree _r;
   10319            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10320            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10321            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10322            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10323            0 :                                           return _r;
   10324              :                                         }
   10325            0 : next_after_fail1565:;
   10326              :                                       }
   10327              :                                     else
   10328              :                                       {
   10329            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1566;
   10330            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1566;
   10331            0 :                                         {
   10332            0 :                                           tree res_op0;
   10333            0 :                                           {
   10334            0 :                                             tree _o1[1], _r1;
   10335            0 :                                             _o1[0] = captures[1];
   10336            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10337              :                                               {
   10338            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10339              :                                               }
   10340              :                                             else
   10341              :                                               _r1 = _o1[0];
   10342            0 :                                             res_op0 = _r1;
   10343              :                                           }
   10344            0 :                                           tree res_op1;
   10345            0 :                                           res_op1 =  csts;
   10346            0 :                                           tree _r;
   10347            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10348            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10349            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10350            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
   10351            0 :                                           return _r;
   10352              :                                         }
   10353            0 : next_after_fail1566:;
   10354              :                                       }
   10355              :                                   }
   10356              :                             }
   10357              :                           }
   10358              :                     }
   10359              :                   }
   10360              :                 }
   10361              :               break;
   10362              :             }
   10363            0 :           case INTEGER_CST:
   10364            0 :             {
   10365            0 :               if (integer_zerop (_p1))
   10366              :                 {
   10367            0 :                   {
   10368            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10369            0 :                     const enum tree_code cmp = NE_EXPR;
   10370            0 :                     const enum tree_code icmp = GT_EXPR;
   10371            0 :                     {
   10372            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10373            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10374              : )
   10375              :                           {
   10376            0 :                             {
   10377            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10378            0 :  ? optab_vector : optab_default;
   10379            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10380            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10381            0 :  || (optimize_vectors_before_lowering_p ()
   10382            0 :  && (!target_supports_op_p (type, cmp, optab)
   10383            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10384              : )
   10385              :                                   {
   10386            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10387              : )
   10388              :                                       {
   10389            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1567;
   10390            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1567;
   10391            0 :                                         {
   10392            0 :                                           tree res_op0;
   10393            0 :                                           res_op0 = captures[1];
   10394            0 :                                           tree res_op1;
   10395            0 :                                           res_op1 =  csts;
   10396            0 :                                           tree _r;
   10397            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10398            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10399            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10400            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10401            0 :                                           return _r;
   10402              :                                         }
   10403            0 : next_after_fail1567:;
   10404              :                                       }
   10405              :                                     else
   10406              :                                       {
   10407            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1568;
   10408            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1568;
   10409            0 :                                         {
   10410            0 :                                           tree res_op0;
   10411            0 :                                           {
   10412            0 :                                             tree _o1[1], _r1;
   10413            0 :                                             _o1[0] = captures[1];
   10414            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10415              :                                               {
   10416            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10417              :                                               }
   10418              :                                             else
   10419              :                                               _r1 = _o1[0];
   10420            0 :                                             res_op0 = _r1;
   10421              :                                           }
   10422            0 :                                           tree res_op1;
   10423            0 :                                           res_op1 =  csts;
   10424            0 :                                           tree _r;
   10425            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10426            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10427            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10428            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
   10429            0 :                                           return _r;
   10430              :                                         }
   10431            0 : next_after_fail1568:;
   10432              :                                       }
   10433              :                                   }
   10434              :                             }
   10435              :                           }
   10436              :                     }
   10437              :                   }
   10438              :                 }
   10439              :               break;
   10440              :             }
   10441              :           default:;
   10442              :           }
   10443              :         break;
   10444              :       }
   10445        20315 :     case RSHIFT_EXPR:
   10446        20315 :       {
   10447        20315 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10448        20315 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10449        20315 :         switch (TREE_CODE (_q20))
   10450              :           {
   10451            1 :           case MULT_EXPR:
   10452            1 :             {
   10453            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10454            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10455            1 :               switch (TREE_CODE (_q30))
   10456              :                 {
   10457            1 :                 CASE_CONVERT:
   10458            1 :                   {
   10459            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10460            1 :                     switch (TREE_CODE (_q31))
   10461              :                       {
   10462            1 :                       CASE_CONVERT:
   10463            1 :                         {
   10464            1 :                           tree _q60 = TREE_OPERAND (_q31, 0);
   10465            1 :                           switch (TREE_CODE (_q21))
   10466              :                             {
   10467            1 :                             case INTEGER_CST:
   10468            1 :                               {
   10469            1 :                                 if (integer_zerop (_p1))
   10470              :                                   {
   10471            1 :                                     {
   10472            1 :                                       tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
   10473            1 :                                       tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, NE_EXPR);
   10474            1 :                                       if (res) return res;
   10475              :                                     }
   10476              :                                   }
   10477              :                                 break;
   10478              :                               }
   10479              :                             default:;
   10480              :                             }
   10481              :                           break;
   10482              :                         }
   10483              :                       default:;
   10484              :                       }
   10485              :                     break;
   10486              :                   }
   10487              :                 default:;
   10488              :                 }
   10489              :               break;
   10490              :             }
   10491              :           default:;
   10492              :           }
   10493              :         break;
   10494              :       }
   10495      1301969 :     case PLUS_EXPR:
   10496      1301969 :       {
   10497      1301969 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10498      1301969 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10499      1301969 :         switch (TREE_CODE (_q21))
   10500              :           {
   10501      1192994 :           case INTEGER_CST:
   10502      1192994 :             {
   10503      1192994 :               switch (TREE_CODE (_p1))
   10504              :                 {
   10505       707541 :                 case INTEGER_CST:
   10506       707541 :                   {
   10507       707541 :                     {
   10508       707541 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10509       707541 :                       tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, NE_EXPR);
   10510       707541 :                       if (res) return res;
   10511              :                     }
   10512          355 :                     break;
   10513              :                   }
   10514              :                 default:;
   10515              :                 }
   10516              :               break;
   10517              :             }
   10518              :           default:;
   10519              :           }
   10520              :         break;
   10521              :       }
   10522        68734 :     case MINUS_EXPR:
   10523        68734 :       {
   10524        68734 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10525        68734 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10526        68734 :         switch (TREE_CODE (_q21))
   10527              :           {
   10528          193 :           case INTEGER_CST:
   10529          193 :             {
   10530          193 :               switch (TREE_CODE (_p1))
   10531              :                 {
   10532           72 :                 case INTEGER_CST:
   10533           72 :                   {
   10534           72 :                     {
   10535           72 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10536           72 :                       tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, NE_EXPR);
   10537           72 :                       if (res) return res;
   10538              :                     }
   10539           72 :                     break;
   10540              :                   }
   10541              :                 default:;
   10542              :                 }
   10543              :               break;
   10544              :             }
   10545        68734 :           default:;
   10546              :           }
   10547        68734 :         switch (TREE_CODE (_q20))
   10548              :           {
   10549         1728 :           case INTEGER_CST:
   10550         1728 :             {
   10551         1728 :               switch (TREE_CODE (_p1))
   10552              :                 {
   10553           72 :                 case INTEGER_CST:
   10554           72 :                   {
   10555           72 :                     {
   10556           72 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10557           72 :                       tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
   10558           72 :                       if (res) return res;
   10559              :                     }
   10560            0 :                     break;
   10561              :                   }
   10562              :                 default:;
   10563              :                 }
   10564              :               break;
   10565              :             }
   10566              :           default:;
   10567              :           }
   10568              :         break;
   10569              :       }
   10570      2324234 :     case CALL_EXPR:
   10571      2324234 :       switch (get_call_combined_fn (_p0))
   10572              :         {
   10573          224 :         case CFN_BUILT_IN_CLZ:
   10574          224 :           if (call_expr_nargs (_p0) == 1)
   10575              :     {
   10576          224 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10577          224 :               switch (TREE_CODE (_p1))
   10578              :                 {
   10579          210 :                 case INTEGER_CST:
   10580          210 :                   {
   10581          210 :                     {
   10582          210 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10583          210 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZ);
   10584          210 :                       if (res) return res;
   10585              :                     }
   10586          135 :                     break;
   10587              :                   }
   10588              :                 default:;
   10589              :                 }
   10590              :             }
   10591              :           break;
   10592          246 :         case CFN_BUILT_IN_CTZ:
   10593          246 :           if (call_expr_nargs (_p0) == 1)
   10594              :     {
   10595          246 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10596          246 :               switch (TREE_CODE (_p1))
   10597              :                 {
   10598          200 :                 case INTEGER_CST:
   10599          200 :                   {
   10600          200 :                     {
   10601          200 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10602          200 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZ);
   10603          200 :                       if (res) return res;
   10604              :                     }
   10605            0 :                     break;
   10606              :                   }
   10607              :                 default:;
   10608              :                 }
   10609              :             }
   10610              :           break;
   10611           31 :         case CFN_BUILT_IN_FFS:
   10612           31 :           if (call_expr_nargs (_p0) == 1)
   10613              :     {
   10614           31 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10615           31 :               switch (TREE_CODE (_p1))
   10616              :                 {
   10617           11 :                 case INTEGER_CST:
   10618           11 :                   {
   10619           11 :                     {
   10620           11 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10621           11 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFS);
   10622           11 :                       if (res) return res;
   10623              :                     }
   10624            0 :                     break;
   10625              :                   }
   10626              :                 default:;
   10627              :                 }
   10628              :             }
   10629              :           break;
   10630            0 :         case CFN_REDUC_IOR:
   10631            0 :           if (call_expr_nargs (_p0) == 1)
   10632              :     {
   10633            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10634            0 :               if (integer_zerop (_p1))
   10635              :                 {
   10636            0 :                   {
   10637            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10638            0 :                     tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, NE_EXPR);
   10639            0 :                     if (res) return res;
   10640              :                   }
   10641              :                 }
   10642              :             }
   10643              :           break;
   10644            0 :         case CFN_BUILT_IN_FFSIMAX:
   10645            0 :           if (call_expr_nargs (_p0) == 1)
   10646              :     {
   10647            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10648            0 :               switch (TREE_CODE (_p1))
   10649              :                 {
   10650            0 :                 case INTEGER_CST:
   10651            0 :                   {
   10652            0 :                     {
   10653            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10654            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSIMAX);
   10655            0 :                       if (res) return res;
   10656              :                     }
   10657            0 :                     break;
   10658              :                   }
   10659              :                 default:;
   10660              :                 }
   10661              :             }
   10662              :           break;
   10663           13 :         case CFN_BUILT_IN_POPCOUNT:
   10664           13 :           if (call_expr_nargs (_p0) == 1)
   10665              :     {
   10666           13 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10667           13 :               if (integer_zerop (_p1))
   10668              :                 {
   10669            1 :                   {
   10670            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10671            1 :                     tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT);
   10672            1 :                     if (res) return res;
   10673              :                   }
   10674              :                 }
   10675              :             }
   10676              :           break;
   10677           87 :         case CFN_BUILT_IN_CLZL:
   10678           87 :           if (call_expr_nargs (_p0) == 1)
   10679              :     {
   10680           87 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10681           87 :               switch (TREE_CODE (_p1))
   10682              :                 {
   10683           79 :                 case INTEGER_CST:
   10684           79 :                   {
   10685           79 :                     {
   10686           79 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10687           79 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZL);
   10688           79 :                       if (res) return res;
   10689              :                     }
   10690           43 :                     break;
   10691              :                   }
   10692              :                 default:;
   10693              :                 }
   10694              :             }
   10695              :           break;
   10696           85 :         case CFN_BUILT_IN_CTZL:
   10697           85 :           if (call_expr_nargs (_p0) == 1)
   10698              :     {
   10699           85 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10700           85 :               switch (TREE_CODE (_p1))
   10701              :                 {
   10702           77 :                 case INTEGER_CST:
   10703           77 :                   {
   10704           77 :                     {
   10705           77 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10706           77 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZL);
   10707           77 :                       if (res) return res;
   10708              :                     }
   10709           16 :                     break;
   10710              :                   }
   10711              :                 default:;
   10712              :                 }
   10713              :             }
   10714              :           break;
   10715            8 :         case CFN_BUILT_IN_FFSL:
   10716            8 :           if (call_expr_nargs (_p0) == 1)
   10717              :     {
   10718            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10719            8 :               switch (TREE_CODE (_p1))
   10720              :                 {
   10721            0 :                 case INTEGER_CST:
   10722            0 :                   {
   10723            0 :                     {
   10724            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10725            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSL);
   10726            0 :                       if (res) return res;
   10727              :                     }
   10728            0 :                     break;
   10729              :                   }
   10730              :                 default:;
   10731              :                 }
   10732              :             }
   10733              :           break;
   10734           11 :         case CFN_BUILT_IN_POPCOUNTLL:
   10735           11 :           if (call_expr_nargs (_p0) == 1)
   10736              :     {
   10737           11 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10738           11 :               if (integer_zerop (_p1))
   10739              :                 {
   10740            1 :                   {
   10741            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10742            1 :                     tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   10743            1 :                     if (res) return res;
   10744              :                   }
   10745              :                 }
   10746              :             }
   10747              :           break;
   10748            0 :         case CFN_BUILT_IN_CTZIMAX:
   10749            0 :           if (call_expr_nargs (_p0) == 1)
   10750              :     {
   10751            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10752            0 :               switch (TREE_CODE (_p1))
   10753              :                 {
   10754            0 :                 case INTEGER_CST:
   10755            0 :                   {
   10756            0 :                     {
   10757            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10758            0 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZIMAX);
   10759            0 :                       if (res) return res;
   10760              :                     }
   10761            0 :                     break;
   10762              :                   }
   10763              :                 default:;
   10764              :                 }
   10765              :             }
   10766              :           break;
   10767            0 :         case CFN_POPCOUNT:
   10768            0 :           if (call_expr_nargs (_p0) == 1)
   10769              :     {
   10770            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10771            0 :               if (integer_zerop (_p1))
   10772              :                 {
   10773            0 :                   {
   10774            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10775            0 :                     tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_POPCOUNT);
   10776            0 :                     if (res) return res;
   10777              :                   }
   10778              :                 }
   10779              :             }
   10780              :           break;
   10781            0 :         case CFN_CLZ:
   10782            0 :           if (call_expr_nargs (_p0) == 1)
   10783              :     {
   10784            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10785            0 :               switch (TREE_CODE (_p1))
   10786              :                 {
   10787            0 :                 case INTEGER_CST:
   10788            0 :                   {
   10789            0 :                     {
   10790            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10791            0 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_CLZ);
   10792            0 :                       if (res) return res;
   10793              :                     }
   10794            0 :                     break;
   10795              :                   }
   10796              :                 default:;
   10797              :                 }
   10798              :             }
   10799            0 :           if (call_expr_nargs (_p0) == 2)
   10800              :     {
   10801            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10802            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10803            0 :               switch (TREE_CODE (_p1))
   10804              :                 {
   10805            0 :                 case INTEGER_CST:
   10806            0 :                   {
   10807            0 :                     {
   10808            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10809            0 :                       tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR);
   10810            0 :                       if (res) return res;
   10811              :                     }
   10812            0 :                     break;
   10813              :                   }
   10814              :                 default:;
   10815              :                 }
   10816              :             }
   10817              :           break;
   10818            0 :         case CFN_CTZ:
   10819            0 :           if (call_expr_nargs (_p0) == 1)
   10820              :     {
   10821            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10822            0 :               switch (TREE_CODE (_p1))
   10823              :                 {
   10824            0 :                 case INTEGER_CST:
   10825            0 :                   {
   10826            0 :                     {
   10827            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10828            0 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_CTZ);
   10829            0 :                       if (res) return res;
   10830              :                     }
   10831            0 :                     break;
   10832              :                   }
   10833              :                 default:;
   10834              :                 }
   10835              :             }
   10836            0 :           if (call_expr_nargs (_p0) == 2)
   10837              :     {
   10838            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10839            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10840            0 :               switch (TREE_CODE (_p1))
   10841              :                 {
   10842            0 :                 case INTEGER_CST:
   10843            0 :                   {
   10844            0 :                     {
   10845            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10846            0 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, NE_EXPR);
   10847            0 :                       if (res) return res;
   10848              :                     }
   10849            0 :                     break;
   10850              :                   }
   10851              :                 default:;
   10852              :                 }
   10853              :             }
   10854              :           break;
   10855            0 :         case CFN_FFS:
   10856            0 :           if (call_expr_nargs (_p0) == 1)
   10857              :     {
   10858            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10859            0 :               switch (TREE_CODE (_p1))
   10860              :                 {
   10861            0 :                 case INTEGER_CST:
   10862            0 :                   {
   10863            0 :                     {
   10864            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10865            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_FFS);
   10866            0 :                       if (res) return res;
   10867              :                     }
   10868            0 :                     break;
   10869              :                   }
   10870              :                 default:;
   10871              :                 }
   10872              :             }
   10873              :           break;
   10874            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   10875            0 :           if (call_expr_nargs (_p0) == 1)
   10876              :     {
   10877            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10878            0 :               if (integer_zerop (_p1))
   10879              :                 {
   10880            0 :                   {
   10881            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10882            0 :                     tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   10883            0 :                     if (res) return res;
   10884              :                   }
   10885              :                 }
   10886              :             }
   10887              :           break;
   10888            0 :         case CFN_BUILT_IN_CLZIMAX:
   10889            0 :           if (call_expr_nargs (_p0) == 1)
   10890              :     {
   10891            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10892            0 :               switch (TREE_CODE (_p1))
   10893              :                 {
   10894            0 :                 case INTEGER_CST:
   10895            0 :                   {
   10896            0 :                     {
   10897            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10898            0 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZIMAX);
   10899            0 :                       if (res) return res;
   10900              :                     }
   10901            0 :                     break;
   10902              :                   }
   10903              :                 default:;
   10904              :                 }
   10905              :             }
   10906              :           break;
   10907           12 :         case CFN_BUILT_IN_POPCOUNTL:
   10908           12 :           if (call_expr_nargs (_p0) == 1)
   10909              :     {
   10910           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10911           12 :               if (integer_zerop (_p1))
   10912              :                 {
   10913            1 :                   {
   10914            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10915            1 :                     tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10916            1 :                     if (res) return res;
   10917              :                   }
   10918              :                 }
   10919              :             }
   10920              :           break;
   10921           52 :         case CFN_BUILT_IN_CLZLL:
   10922           52 :           if (call_expr_nargs (_p0) == 1)
   10923              :     {
   10924           52 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10925           52 :               switch (TREE_CODE (_p1))
   10926              :                 {
   10927           42 :                 case INTEGER_CST:
   10928           42 :                   {
   10929           42 :                     {
   10930           42 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10931           42 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZLL);
   10932           42 :                       if (res) return res;
   10933              :                     }
   10934           18 :                     break;
   10935              :                   }
   10936              :                 default:;
   10937              :                 }
   10938              :             }
   10939              :           break;
   10940           74 :         case CFN_BUILT_IN_CTZLL:
   10941           74 :           if (call_expr_nargs (_p0) == 1)
   10942              :     {
   10943           74 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10944           74 :               switch (TREE_CODE (_p1))
   10945              :                 {
   10946           64 :                 case INTEGER_CST:
   10947           64 :                   {
   10948           64 :                     {
   10949           64 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10950           64 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_CTZLL);
   10951           64 :                       if (res) return res;
   10952              :                     }
   10953           16 :                     break;
   10954              :                   }
   10955              :                 default:;
   10956              :                 }
   10957              :             }
   10958              :           break;
   10959           11 :         case CFN_BUILT_IN_FFSLL:
   10960           11 :           if (call_expr_nargs (_p0) == 1)
   10961              :     {
   10962           11 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10963           11 :               switch (TREE_CODE (_p1))
   10964              :                 {
   10965            1 :                 case INTEGER_CST:
   10966            1 :                   {
   10967            1 :                     {
   10968            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10969            1 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, NE_EXPR, CFN_BUILT_IN_FFSLL);
   10970            1 :                       if (res) return res;
   10971              :                     }
   10972            0 :                     break;
   10973              :                   }
   10974              :                 default:;
   10975              :                 }
   10976              :             }
   10977              :           break;
   10978              :         default:;
   10979              :         }
   10980              :       break;
   10981              :     default:;
   10982              :     }
   10983              :   return NULL_TREE;
   10984              : }
   10985              : 
   10986              : tree
   10987       390879 : generic_simplify_VEC_COND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
   10988              : {
   10989       390879 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10990       390879 :   switch (TREE_CODE (_p0))
   10991              :     {
   10992         1355 :     case NE_EXPR:
   10993         1355 :       {
   10994         1355 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10995         1355 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10996         1355 :         if (uniform_integer_cst_p (_q21))
   10997              :           {
   10998          431 :             switch (TREE_CODE (_p1))
   10999              :               {
   11000           35 :               case PLUS_EXPR:
   11001           35 :                 {
   11002           35 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   11003           35 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   11004           35 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11005              :                     {
   11006           24 :                       if (uniform_integer_cst_p (_q51))
   11007              :                         {
   11008           24 :                           if (uniform_integer_cst_p (_p2))
   11009              :                             {
   11010           24 :                               {
   11011           24 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   11012           24 :                                 {
   11013           24 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   11014           24 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   11015           24 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   11016           24 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   11017              : )
   11018              :                                       {
   11019           18 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1886;
   11020           18 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1886;
   11021           18 :                                         {
   11022           18 :                                           tree _r;
   11023           18 :                                           _r = captures[2];
   11024           18 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   11025            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11026           18 :                                           if (TREE_SIDE_EFFECTS (captures[4]))
   11027            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11028           18 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
   11029           18 :                                           return _r;
   11030              :                                         }
   11031            6 : next_after_fail1886:;
   11032              :                                       }
   11033              :                                 }
   11034              :                               }
   11035              :                             }
   11036              :                         }
   11037              :                     }
   11038              :                   break;
   11039              :                 }
   11040              :               default:;
   11041              :               }
   11042              :           }
   11043              :         break;
   11044              :       }
   11045        16507 :     case VECTOR_CST:
   11046        16507 :       {
   11047        16507 :         {
   11048        16507 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11049        16507 :           if (integer_all_onesp (captures[0])
   11050              : )
   11051              :             {
   11052         3743 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1887;
   11053         3743 :               {
   11054         3743 :                 tree _r;
   11055         3743 :                 _r = captures[1];
   11056         3743 :                 if (TREE_SIDE_EFFECTS (captures[0]))
   11057            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11058         3743 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11059            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11060         3743 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   11061         3743 :                 return _r;
   11062              :               }
   11063            0 : next_after_fail1887:;
   11064              :             }
   11065              :           else
   11066              :             {
   11067        12764 :               if (integer_zerop (captures[0])
   11068              : )
   11069              :                 {
   11070         1998 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1888;
   11071         1998 :                   {
   11072         1998 :                     tree _r;
   11073         1998 :                     _r = captures[2];
   11074         1998 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   11075            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11076         1998 :                     if (TREE_SIDE_EFFECTS (captures[1]))
   11077            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11078         1998 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   11079         1998 :                     return _r;
   11080              :                   }
   11081            0 : next_after_fail1888:;
   11082              :                 }
   11083              :             }
   11084              :         }
   11085        10766 :         break;
   11086              :       }
   11087       385120 :     default:;
   11088              :     }
   11089       385120 :   switch (TREE_CODE (_p1))
   11090              :     {
   11091       321787 :     case VECTOR_CST:
   11092       321787 :       {
   11093       321787 :         switch (TREE_CODE (_p2))
   11094              :           {
   11095       311826 :           case VECTOR_CST:
   11096       311826 :             {
   11097       311826 :               {
   11098       311826 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11099       311826 :                 if (VECTOR_BOOLEAN_TYPE_P (type)
   11100       311964 :  && types_match (type, TREE_TYPE (captures[0]))
   11101              : )
   11102              :                   {
   11103          131 :                     if (integer_zerop (captures[1]) && integer_all_onesp (captures[2])
   11104              : )
   11105              :                       {
   11106           28 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1889;
   11107           28 :                         {
   11108           28 :                           tree res_op0;
   11109           28 :                           res_op0 = captures[0];
   11110           28 :                           tree _r;
   11111           28 :                           _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
   11112           28 :                           if (TREE_SIDE_EFFECTS (captures[1]))
   11113            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11114           28 :                           if (TREE_SIDE_EFFECTS (captures[2]))
   11115            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11116           28 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   11117           28 :                           return _r;
   11118              :                         }
   11119            0 : next_after_fail1889:;
   11120              :                       }
   11121              :                     else
   11122              :                       {
   11123          103 :                         if (integer_all_onesp (captures[1]) && integer_zerop (captures[2])
   11124              : )
   11125              :                           {
   11126           73 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1890;
   11127           73 :                             {
   11128           73 :                               tree _r;
   11129           73 :                               _r = captures[0];
   11130           73 :                               if (TREE_SIDE_EFFECTS (captures[1]))
   11131            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11132           73 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   11133            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11134           73 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   11135           73 :                               return _r;
   11136              :                             }
   11137            0 : next_after_fail1890:;
   11138              :                           }
   11139              :                       }
   11140              :                   }
   11141              :               }
   11142       311725 :               break;
   11143              :             }
   11144              :           default:;
   11145              :           }
   11146              :         break;
   11147              :       }
   11148       385019 :     default:;
   11149              :     }
   11150       385019 :   switch (TREE_CODE (_p0))
   11151              :     {
   11152         1335 :     case NE_EXPR:
   11153         1335 :       {
   11154         1335 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11155         1335 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11156         1335 :         switch (TREE_CODE (_p1))
   11157              :           {
   11158            6 :           case MINUS_EXPR:
   11159            6 :             {
   11160            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11161            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11162            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11163              :                 {
   11164            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11165              :                     {
   11166            6 :                       if (integer_zerop (_p2))
   11167              :                         {
   11168            6 :                           {
   11169            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11170            6 :                             tree res = generic_simplify_538 (loc, type, _p0, _p1, _p2, captures);
   11171            6 :                             if (res) return res;
   11172              :                           }
   11173              :                         }
   11174              :                     }
   11175              :                 }
   11176            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11177              :                 {
   11178            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11179              :                     {
   11180            0 :                       if (integer_zerop (_p2))
   11181              :                         {
   11182            0 :                           {
   11183            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11184            0 :                             tree res = generic_simplify_538 (loc, type, _p0, _p1, _p2, captures);
   11185            0 :                             if (res) return res;
   11186              :                           }
   11187              :                         }
   11188              :                     }
   11189              :                 }
   11190              :               break;
   11191              :             }
   11192            6 :           case BIT_XOR_EXPR:
   11193            6 :             {
   11194            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11195            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11196            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11197              :                 {
   11198            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11199              :                     {
   11200            6 :                       if (integer_zerop (_p2))
   11201              :                         {
   11202            6 :                           {
   11203            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11204            6 :                             tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures);
   11205            6 :                             if (res) return res;
   11206              :                           }
   11207              :                         }
   11208              :                     }
   11209              :                 }
   11210            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11211              :                 {
   11212            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11213              :                     {
   11214            0 :                       if (integer_zerop (_p2))
   11215              :                         {
   11216            0 :                           {
   11217            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11218            0 :                             tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures);
   11219            0 :                             if (res) return res;
   11220              :                           }
   11221              :                         }
   11222              :                     }
   11223              :                 }
   11224              :               break;
   11225              :             }
   11226            6 :           case BIT_AND_EXPR:
   11227            6 :             {
   11228            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11229            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11230            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11231              :                 {
   11232            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11233              :                     {
   11234            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11235              :                         {
   11236            6 :                           {
   11237            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11238            6 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11239            6 :                             if (res) return res;
   11240              :                           }
   11241              :                         }
   11242            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11243              :                         {
   11244            0 :                           {
   11245            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11246            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11247            0 :                             if (res) return res;
   11248              :                           }
   11249              :                         }
   11250              :                     }
   11251              :                 }
   11252            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11253              :                 {
   11254            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11255              :                     {
   11256            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11257              :                         {
   11258            0 :                           {
   11259            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11260            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11261            0 :                             if (res) return res;
   11262              :                           }
   11263              :                         }
   11264            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11265              :                         {
   11266            0 :                           {
   11267            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11268            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11269            0 :                             if (res) return res;
   11270              :                           }
   11271              :                         }
   11272              :                     }
   11273              :                 }
   11274              :               break;
   11275              :             }
   11276            6 :           case BIT_IOR_EXPR:
   11277            6 :             {
   11278            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11279            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11280            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11281              :                 {
   11282            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11283              :                     {
   11284            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11285              :                         {
   11286            6 :                           {
   11287            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11288            6 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11289            6 :                             if (res) return res;
   11290              :                           }
   11291              :                         }
   11292            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11293              :                         {
   11294            0 :                           {
   11295            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11296            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11297            0 :                             if (res) return res;
   11298              :                           }
   11299              :                         }
   11300              :                     }
   11301              :                 }
   11302            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11303              :                 {
   11304            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11305              :                     {
   11306            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11307              :                         {
   11308            0 :                           {
   11309            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11310            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11311            0 :                             if (res) return res;
   11312              :                           }
   11313              :                         }
   11314            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11315              :                         {
   11316            0 :                           {
   11317            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11318            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11319            0 :                             if (res) return res;
   11320              :                           }
   11321              :                         }
   11322              :                     }
   11323              :                 }
   11324              :               break;
   11325              :             }
   11326            0 :           case MIN_EXPR:
   11327            0 :             {
   11328            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11329            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11330            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11331              :                 {
   11332            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11333              :                     {
   11334            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11335              :                         {
   11336            0 :                           {
   11337            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11338            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11339            0 :                             if (res) return res;
   11340              :                           }
   11341              :                         }
   11342            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11343              :                         {
   11344            0 :                           {
   11345            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11346            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11347            0 :                             if (res) return res;
   11348              :                           }
   11349              :                         }
   11350              :                     }
   11351              :                 }
   11352            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11353              :                 {
   11354            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11355              :                     {
   11356            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11357              :                         {
   11358            0 :                           {
   11359            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11360            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11361            0 :                             if (res) return res;
   11362              :                           }
   11363              :                         }
   11364            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11365              :                         {
   11366            0 :                           {
   11367            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11368            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11369            0 :                             if (res) return res;
   11370              :                           }
   11371              :                         }
   11372              :                     }
   11373              :                 }
   11374              :               break;
   11375              :             }
   11376            0 :           case MAX_EXPR:
   11377            0 :             {
   11378            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11379            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11380            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11381              :                 {
   11382            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11383              :                     {
   11384            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11385              :                         {
   11386            0 :                           {
   11387            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11388            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11389            0 :                             if (res) return res;
   11390              :                           }
   11391              :                         }
   11392            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11393              :                         {
   11394            0 :                           {
   11395            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11396            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11397            0 :                             if (res) return res;
   11398              :                           }
   11399              :                         }
   11400              :                     }
   11401              :                 }
   11402            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11403              :                 {
   11404            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11405              :                     {
   11406            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11407              :                         {
   11408            0 :                           {
   11409            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11410            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11411            0 :                             if (res) return res;
   11412              :                           }
   11413              :                         }
   11414            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11415              :                         {
   11416            0 :                           {
   11417            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11418            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11419            0 :                             if (res) return res;
   11420              :                           }
   11421              :                         }
   11422              :                     }
   11423              :                 }
   11424              :               break;
   11425              :             }
   11426            6 :           case MULT_EXPR:
   11427            6 :             {
   11428            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11429            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11430            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11431              :                 {
   11432            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11433              :                     {
   11434            6 :                       switch (TREE_CODE (_p2))
   11435              :                         {
   11436            6 :                         case MULT_EXPR:
   11437            6 :                           {
   11438            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11439            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11440            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11441              :                               {
   11442            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11443              :                                   {
   11444            6 :                                     {
   11445            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11446            6 :                                       const enum tree_code op = MULT_EXPR;
   11447            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11448              : )
   11449              :                                         {
   11450            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1891;
   11451            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1891;
   11452            6 :                                           {
   11453            6 :                                             tree _r;
   11454            6 :                                             _r = captures[2];
   11455            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   11456            6 :                                             return _r;
   11457              :                                           }
   11458            0 : next_after_fail1891:;
   11459              :                                         }
   11460              :                                     }
   11461              :                                   }
   11462              :                               }
   11463              :                             break;
   11464              :                           }
   11465              :                         default:;
   11466              :                         }
   11467              :                     }
   11468              :                 }
   11469            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11470              :                 {
   11471            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11472              :                     {
   11473            0 :                       switch (TREE_CODE (_p2))
   11474              :                         {
   11475            0 :                         case MULT_EXPR:
   11476            0 :                           {
   11477            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11478            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11479            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11480              :                               {
   11481            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   11482              :                                   {
   11483            0 :                                     {
   11484            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11485            0 :                                       const enum tree_code op = MULT_EXPR;
   11486            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11487              : )
   11488              :                                         {
   11489            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1892;
   11490            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1892;
   11491            0 :                                           {
   11492            0 :                                             tree _r;
   11493            0 :                                             _r = captures[2];
   11494            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   11495            0 :                                             return _r;
   11496              :                                           }
   11497            0 : next_after_fail1892:;
   11498              :                                         }
   11499              :                                     }
   11500              :                                   }
   11501              :                               }
   11502              :                             break;
   11503              :                           }
   11504              :                         default:;
   11505              :                         }
   11506              :                     }
   11507              :                 }
   11508              :               break;
   11509              :             }
   11510           35 :           case PLUS_EXPR:
   11511           35 :             {
   11512           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11513           35 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11514           35 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11515              :                 {
   11516           24 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11517              :                     {
   11518           12 :                       switch (TREE_CODE (_p2))
   11519              :                         {
   11520            6 :                         case PLUS_EXPR:
   11521            6 :                           {
   11522            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11523            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11524            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11525              :                               {
   11526            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11527              :                                   {
   11528            6 :                                     {
   11529            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11530            6 :                                       const enum tree_code op = PLUS_EXPR;
   11531            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11532              : )
   11533              :                                         {
   11534            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1893;
   11535            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1893;
   11536            6 :                                           {
   11537            6 :                                             tree _r;
   11538            6 :                                             _r = captures[2];
   11539            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   11540            6 :                                             return _r;
   11541              :                                           }
   11542            0 : next_after_fail1893:;
   11543              :                                         }
   11544              :                                     }
   11545              :                                   }
   11546              :                               }
   11547              :                             break;
   11548              :                           }
   11549            6 :                         case MULT_EXPR:
   11550            6 :                           {
   11551            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11552            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11553            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11554              :                               {
   11555            6 :                                 if (uniform_integer_cst_p (_q81))
   11556              :                                   {
   11557            6 :                                     {
   11558            6 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   11559            6 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11560              : )
   11561              :                                         {
   11562            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1894;
   11563            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1894;
   11564            6 :                                           {
   11565            6 :                                             tree _r;
   11566            6 :                                             _r = captures[2];
   11567            6 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11568            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11569            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   11570            6 :                                             return _r;
   11571              :                                           }
   11572            0 : next_after_fail1894:;
   11573              :                                         }
   11574              :                                     }
   11575              :                                   }
   11576              :                               }
   11577            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11578              :                               {
   11579            0 :                                 if (uniform_integer_cst_p (_q81))
   11580              :                                   {
   11581            0 :                                     {
   11582            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   11583            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11584              : )
   11585              :                                         {
   11586            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1895;
   11587            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1895;
   11588            0 :                                           {
   11589            0 :                                             tree _r;
   11590            0 :                                             _r = captures[2];
   11591            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11592            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11593            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   11594            0 :                                             return _r;
   11595              :                                           }
   11596            0 : next_after_fail1895:;
   11597              :                                         }
   11598              :                                     }
   11599              :                                   }
   11600              :                               }
   11601              :                             break;
   11602              :                           }
   11603              :                         default:;
   11604              :                         }
   11605              :                     }
   11606              :                 }
   11607           23 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11608              :                 {
   11609            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11610              :                     {
   11611            0 :                       switch (TREE_CODE (_p2))
   11612              :                         {
   11613            0 :                         case PLUS_EXPR:
   11614            0 :                           {
   11615            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11616            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11617            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11618              :                               {
   11619            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   11620              :                                   {
   11621            0 :                                     {
   11622            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11623            0 :                                       const enum tree_code op = PLUS_EXPR;
   11624            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11625              : )
   11626              :                                         {
   11627            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1896;
   11628            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1896;
   11629            0 :                                           {
   11630            0 :                                             tree _r;
   11631            0 :                                             _r = captures[2];
   11632            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   11633            0 :                                             return _r;
   11634              :                                           }
   11635            0 : next_after_fail1896:;
   11636              :                                         }
   11637              :                                     }
   11638              :                                   }
   11639              :                               }
   11640              :                             break;
   11641              :                           }
   11642            0 :                         case MULT_EXPR:
   11643            0 :                           {
   11644            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11645            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11646            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11647              :                               {
   11648            0 :                                 if (uniform_integer_cst_p (_q81))
   11649              :                                   {
   11650            0 :                                     {
   11651            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   11652            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11653              : )
   11654              :                                         {
   11655            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1897;
   11656            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1897;
   11657            0 :                                           {
   11658            0 :                                             tree _r;
   11659            0 :                                             _r = captures[2];
   11660            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11661            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11662            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   11663            0 :                                             return _r;
   11664              :                                           }
   11665            0 : next_after_fail1897:;
   11666              :                                         }
   11667              :                                     }
   11668              :                                   }
   11669              :                               }
   11670            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11671              :                               {
   11672            0 :                                 if (uniform_integer_cst_p (_q81))
   11673              :                                   {
   11674            0 :                                     {
   11675            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   11676            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11677              : )
   11678              :                                         {
   11679            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1898;
   11680            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1898;
   11681            0 :                                           {
   11682            0 :                                             tree _r;
   11683            0 :                                             _r = captures[2];
   11684            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11685            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11686            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   11687            0 :                                             return _r;
   11688              :                                           }
   11689            0 : next_after_fail1898:;
   11690              :                                         }
   11691              :                                     }
   11692              :                                   }
   11693              :                               }
   11694              :                             break;
   11695              :                           }
   11696              :                         default:;
   11697              :                         }
   11698              :                     }
   11699              :                 }
   11700              :               break;
   11701              :             }
   11702              :           default:;
   11703              :           }
   11704              :         break;
   11705              :       }
   11706       384977 :     default:;
   11707              :     }
   11708       384977 :   switch (TREE_CODE (_p1))
   11709              :     {
   11710            6 :     case VEC_COND_EXPR:
   11711            6 :       {
   11712            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11713            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11714            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11715            6 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11716              :           {
   11717            0 :             {
   11718            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   11719            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1899;
   11720            0 :               {
   11721            0 :                 tree res_op0;
   11722            0 :                 res_op0 = captures[0];
   11723            0 :                 tree res_op1;
   11724            0 :                 res_op1 = captures[1];
   11725            0 :                 tree res_op2;
   11726            0 :                 res_op2 = captures[3];
   11727            0 :                 tree _r;
   11728            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11729            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11730            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11731            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   11732            0 :                 return _r;
   11733              :               }
   11734            0 : next_after_fail1899:;
   11735              :             }
   11736              :           }
   11737              :         break;
   11738              :       }
   11739       384977 :     default:;
   11740              :     }
   11741       384977 :   switch (TREE_CODE (_p2))
   11742              :     {
   11743            3 :     case VEC_COND_EXPR:
   11744            3 :       {
   11745            3 :         tree _q40 = TREE_OPERAND (_p2, 0);
   11746            3 :         tree _q41 = TREE_OPERAND (_p2, 1);
   11747            3 :         tree _q42 = TREE_OPERAND (_p2, 2);
   11748            3 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   11749              :           {
   11750            0 :             {
   11751            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   11752            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1900;
   11753            0 :               {
   11754            0 :                 tree res_op0;
   11755            0 :                 res_op0 = captures[0];
   11756            0 :                 tree res_op1;
   11757            0 :                 res_op1 = captures[1];
   11758            0 :                 tree res_op2;
   11759            0 :                 res_op2 = captures[3];
   11760            0 :                 tree _r;
   11761            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11762            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11763            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11764            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   11765            0 :                 return _r;
   11766              :               }
   11767            0 : next_after_fail1900:;
   11768              :             }
   11769              :           }
   11770            3 :         {
   11771            3 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   11772            3 :           if (inverse_conditions_p (captures[0], captures[2])
   11773              : )
   11774              :             {
   11775            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1901;
   11776            0 :               {
   11777            0 :                 tree res_op0;
   11778            0 :                 res_op0 = captures[0];
   11779            0 :                 tree res_op1;
   11780            0 :                 res_op1 = captures[1];
   11781            0 :                 tree res_op2;
   11782            0 :                 res_op2 = captures[3];
   11783            0 :                 tree _r;
   11784            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11785            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11786            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11787            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
   11788            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11789            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   11790            0 :                 return _r;
   11791              :               }
   11792            0 : next_after_fail1901:;
   11793              :             }
   11794              :         }
   11795            3 :         break;
   11796              :       }
   11797       384977 :     default:;
   11798              :     }
   11799       384977 :   switch (TREE_CODE (_p1))
   11800              :     {
   11801            6 :     case VEC_COND_EXPR:
   11802            6 :       {
   11803            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11804            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11805            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11806            6 :         {
   11807            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   11808            6 :           if (inverse_conditions_p (captures[0], captures[1])
   11809              : )
   11810              :             {
   11811            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1902;
   11812            0 :               {
   11813            0 :                 tree res_op0;
   11814            0 :                 res_op0 = captures[0];
   11815            0 :                 tree res_op1;
   11816            0 :                 res_op1 = captures[3];
   11817            0 :                 tree res_op2;
   11818            0 :                 res_op2 = captures[4];
   11819            0 :                 tree _r;
   11820            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11821            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
   11822            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11823            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11824            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11825            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   11826            0 :                 return _r;
   11827              :               }
   11828            0 : next_after_fail1902:;
   11829              :             }
   11830              :         }
   11831            6 :         break;
   11832              :       }
   11833       384977 :     default:;
   11834              :     }
   11835       384977 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   11836              :     {
   11837           33 :       {
   11838           33 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11839           33 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1903;
   11840           33 :         {
   11841           33 :           tree _r;
   11842           33 :           _r = captures[1];
   11843           33 :           if (TREE_SIDE_EFFECTS (captures[0]))
   11844            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11845           33 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   11846           33 :           return _r;
   11847              :         }
   11848            0 : next_after_fail1903:;
   11849              :       }
   11850              :     }
   11851       384944 :   switch (TREE_CODE (_p0))
   11852              :     {
   11853        67119 :     case EQ_EXPR:
   11854        67119 :       {
   11855        67119 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11856        67119 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11857        67119 :         if (zerop (_q21))
   11858              :           {
   11859         1079 :             switch (TREE_CODE (_p2))
   11860              :               {
   11861            0 :               case NEGATE_EXPR:
   11862            0 :                 {
   11863            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   11864            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   11865              :                     {
   11866            0 :                       {
   11867            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   11868            0 :                         const enum tree_code cmp = EQ_EXPR;
   11869            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   11870            0 :  && bitwise_equal_p (captures[0], captures[1])
   11871              : )
   11872              :                           {
   11873            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1904;
   11874            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1904;
   11875            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1904;
   11876            0 :                             {
   11877            0 :                               tree _r;
   11878            0 :                               _r = captures[2];
   11879            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   11880            0 :                               return _r;
   11881              :                             }
   11882            0 : next_after_fail1904:;
   11883              :                           }
   11884              :                       }
   11885              :                     }
   11886              :                   break;
   11887              :                 }
   11888         1079 :               default:;
   11889              :               }
   11890         1079 :             if (zerop (_p1))
   11891              :               {
   11892           18 :                 switch (TREE_CODE (_p2))
   11893              :                   {
   11894            0 :                   case NEGATE_EXPR:
   11895            0 :                     {
   11896            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   11897            0 :                       {
   11898            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   11899            0 :                         const enum tree_code cmp = EQ_EXPR;
   11900            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   11901            0 :  && bitwise_equal_p (captures[0], captures[2])
   11902              : )
   11903              :                           {
   11904            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1905;
   11905            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1905;
   11906            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1905;
   11907            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1905;
   11908            0 :                             {
   11909            0 :                               tree _r;
   11910            0 :                               _r = captures[1];
   11911            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   11912            0 :                               return _r;
   11913              :                             }
   11914            0 : next_after_fail1905:;
   11915              :                           }
   11916              :                       }
   11917            0 :                       break;
   11918              :                     }
   11919              :                   default:;
   11920              :                   }
   11921              :               }
   11922              :           }
   11923        67119 :         switch (TREE_CODE (_q20))
   11924              :           {
   11925            0 :           case MINUS_EXPR:
   11926            0 :             {
   11927            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11928            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11929            0 :               if (zerop (_q21))
   11930              :                 {
   11931            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11932              :                     {
   11933            0 :                       switch (TREE_CODE (_p2))
   11934              :                         {
   11935            0 :                         case MINUS_EXPR:
   11936            0 :                           {
   11937            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11938            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11939            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   11940              :                               {
   11941            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11942              :                                   {
   11943            0 :                                     {
   11944            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   11945            0 :                                       const enum tree_code cmp = EQ_EXPR;
   11946            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   11947              : )
   11948              :                                         {
   11949            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1906;
   11950            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1906;
   11951            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1906;
   11952            0 :                                           {
   11953            0 :                                             tree _r;
   11954            0 :                                             _r = captures[3];
   11955            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   11956            0 :                                             return _r;
   11957              :                                           }
   11958            0 : next_after_fail1906:;
   11959              :                                         }
   11960              :                                     }
   11961              :                                   }
   11962              :                               }
   11963              :                             break;
   11964              :                           }
   11965              :                         default:;
   11966              :                         }
   11967              :                     }
   11968              :                 }
   11969            0 :               if (integer_zerop (_q21))
   11970              :                 {
   11971            0 :                   if (integer_zerop (_p1))
   11972              :                     {
   11973            0 :                       switch (TREE_CODE (_p2))
   11974              :                         {
   11975            0 :                         case MINUS_EXPR:
   11976            0 :                           {
   11977            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11978            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11979            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   11980              :                               {
   11981            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   11982              :                                   {
   11983            0 :                                     {
   11984            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   11985            0 :                                       tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   11986            0 :                                       if (res) return res;
   11987              :                                     }
   11988              :                                   }
   11989              :                               }
   11990              :                             break;
   11991              :                           }
   11992              :                         default:;
   11993              :                         }
   11994              :                     }
   11995              :                 }
   11996              :               break;
   11997              :             }
   11998              :           default:;
   11999              :           }
   12000              :         break;
   12001              :       }
   12002            0 :     case UNEQ_EXPR:
   12003            0 :       {
   12004            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12005            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12006            0 :         if (zerop (_q21))
   12007              :           {
   12008            0 :             switch (TREE_CODE (_p2))
   12009              :               {
   12010            0 :               case NEGATE_EXPR:
   12011            0 :                 {
   12012            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12013            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12014              :                     {
   12015            0 :                       {
   12016            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   12017            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   12018            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12019            0 :  && bitwise_equal_p (captures[0], captures[1])
   12020              : )
   12021              :                           {
   12022            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1907;
   12023            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1907;
   12024            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1907;
   12025            0 :                             {
   12026            0 :                               tree _r;
   12027            0 :                               _r = captures[2];
   12028            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   12029            0 :                               return _r;
   12030              :                             }
   12031            0 : next_after_fail1907:;
   12032              :                           }
   12033              :                       }
   12034              :                     }
   12035              :                   break;
   12036              :                 }
   12037            0 :               default:;
   12038              :               }
   12039            0 :             if (zerop (_p1))
   12040              :               {
   12041            0 :                 switch (TREE_CODE (_p2))
   12042              :                   {
   12043            0 :                   case NEGATE_EXPR:
   12044            0 :                     {
   12045            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12046            0 :                       {
   12047            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   12048            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   12049            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12050            0 :  && bitwise_equal_p (captures[0], captures[2])
   12051              : )
   12052              :                           {
   12053            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1908;
   12054            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1908;
   12055            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1908;
   12056            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1908;
   12057            0 :                             {
   12058            0 :                               tree _r;
   12059            0 :                               _r = captures[1];
   12060            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   12061            0 :                               return _r;
   12062              :                             }
   12063            0 : next_after_fail1908:;
   12064              :                           }
   12065              :                       }
   12066            0 :                       break;
   12067              :                     }
   12068              :                   default:;
   12069              :                   }
   12070              :               }
   12071              :           }
   12072            0 :         switch (TREE_CODE (_q20))
   12073              :           {
   12074            0 :           case MINUS_EXPR:
   12075            0 :             {
   12076            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12077            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12078            0 :               if (zerop (_q21))
   12079              :                 {
   12080            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12081              :                     {
   12082            0 :                       switch (TREE_CODE (_p2))
   12083              :                         {
   12084            0 :                         case MINUS_EXPR:
   12085            0 :                           {
   12086            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12087            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12088            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12089              :                               {
   12090            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12091              :                                   {
   12092            0 :                                     {
   12093            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12094            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   12095            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12096              : )
   12097              :                                         {
   12098            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1909;
   12099            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1909;
   12100            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1909;
   12101            0 :                                           {
   12102            0 :                                             tree _r;
   12103            0 :                                             _r = captures[3];
   12104            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   12105            0 :                                             return _r;
   12106              :                                           }
   12107            0 : next_after_fail1909:;
   12108              :                                         }
   12109              :                                     }
   12110              :                                   }
   12111              :                               }
   12112              :                             break;
   12113              :                           }
   12114              :                         default:;
   12115              :                         }
   12116              :                     }
   12117              :                 }
   12118            0 :               if (integer_zerop (_q21))
   12119              :                 {
   12120            0 :                   if (integer_zerop (_p1))
   12121              :                     {
   12122            0 :                       switch (TREE_CODE (_p2))
   12123              :                         {
   12124            0 :                         case MINUS_EXPR:
   12125            0 :                           {
   12126            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12127            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12128            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12129              :                               {
   12130            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12131              :                                   {
   12132            0 :                                     {
   12133            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12134            0 :                                       tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   12135            0 :                                       if (res) return res;
   12136              :                                     }
   12137              :                                   }
   12138              :                               }
   12139              :                             break;
   12140              :                           }
   12141              :                         default:;
   12142              :                         }
   12143              :                     }
   12144              :                 }
   12145              :               break;
   12146              :             }
   12147              :           default:;
   12148              :           }
   12149              :         break;
   12150              :       }
   12151         1293 :     case NE_EXPR:
   12152         1293 :       {
   12153         1293 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12154         1293 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12155         1293 :         if (zerop (_q21))
   12156              :           {
   12157          336 :             switch (TREE_CODE (_p2))
   12158              :               {
   12159            0 :               case NEGATE_EXPR:
   12160            0 :                 {
   12161            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12162            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12163              :                     {
   12164            0 :                       {
   12165            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12166            0 :                         const enum tree_code cmp = NE_EXPR;
   12167            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12168            0 :  && bitwise_equal_p (captures[0], captures[1])
   12169              : )
   12170              :                           {
   12171            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1910;
   12172            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1910;
   12173            0 :                             {
   12174            0 :                               tree _r;
   12175            0 :                               _r = captures[1];
   12176            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   12177            0 :                               return _r;
   12178              :                             }
   12179            0 : next_after_fail1910:;
   12180              :                           }
   12181              :                       }
   12182              :                     }
   12183              :                   break;
   12184              :                 }
   12185          336 :               default:;
   12186              :               }
   12187          336 :           if (integer_zerop (_p2))
   12188              :             {
   12189          190 :               {
   12190          190 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12191          190 :                 const enum tree_code cmp = NE_EXPR;
   12192          190 :                 if (!HONOR_SIGNED_ZEROS (type)
   12193          190 :  && bitwise_equal_p (captures[0], captures[1])
   12194              : )
   12195              :                   {
   12196            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1911;
   12197            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1911;
   12198            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1911;
   12199            0 :                     {
   12200            0 :                       tree _r;
   12201            0 :                       _r = captures[1];
   12202            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   12203            0 :                       return _r;
   12204              :                     }
   12205          190 : next_after_fail1911:;
   12206              :                   }
   12207              :               }
   12208              :             }
   12209              :           }
   12210         1293 :         switch (TREE_CODE (_q20))
   12211              :           {
   12212           40 :           case MINUS_EXPR:
   12213           40 :             {
   12214           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12215           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12216           40 :               if (zerop (_q21))
   12217              :                 {
   12218            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12219              :                     {
   12220            0 :                       switch (TREE_CODE (_p2))
   12221              :                         {
   12222            0 :                         case MINUS_EXPR:
   12223            0 :                           {
   12224            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12225            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12226            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12227              :                               {
   12228            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12229              :                                   {
   12230            0 :                                     {
   12231            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12232            0 :                                       const enum tree_code cmp = NE_EXPR;
   12233            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12234              : )
   12235              :                                         {
   12236            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1912;
   12237            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1912;
   12238            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1912;
   12239            0 :                                           {
   12240            0 :                                             tree _r;
   12241            0 :                                             _r = captures[0];
   12242            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   12243            0 :                                             return _r;
   12244              :                                           }
   12245            0 : next_after_fail1912:;
   12246              :                                         }
   12247              :                                     }
   12248              :                                   }
   12249              :                               }
   12250              :                             break;
   12251              :                           }
   12252              :                         default:;
   12253              :                         }
   12254              :                     }
   12255              :                 }
   12256           40 :               if (integer_zerop (_q21))
   12257              :                 {
   12258            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12259              :                     {
   12260            0 :                       if (integer_zerop (_p2))
   12261              :                         {
   12262            0 :                           {
   12263            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12264            0 :                             tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   12265            0 :                             if (res) return res;
   12266              :                           }
   12267              :                         }
   12268              :                     }
   12269              :                 }
   12270              :               break;
   12271              :             }
   12272              :           default:;
   12273              :           }
   12274              :         break;
   12275              :       }
   12276            0 :     case LTGT_EXPR:
   12277            0 :       {
   12278            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12279            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12280            0 :         if (zerop (_q21))
   12281              :           {
   12282            0 :             switch (TREE_CODE (_p2))
   12283              :               {
   12284            0 :               case NEGATE_EXPR:
   12285            0 :                 {
   12286            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12287            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12288              :                     {
   12289            0 :                       {
   12290            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12291            0 :                         const enum tree_code cmp = LTGT_EXPR;
   12292            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12293            0 :  && bitwise_equal_p (captures[0], captures[1])
   12294              : )
   12295              :                           {
   12296            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1913;
   12297            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1913;
   12298            0 :                             {
   12299            0 :                               tree _r;
   12300            0 :                               _r = captures[1];
   12301            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   12302            0 :                               return _r;
   12303              :                             }
   12304            0 : next_after_fail1913:;
   12305              :                           }
   12306              :                       }
   12307              :                     }
   12308              :                   break;
   12309              :                 }
   12310            0 :               default:;
   12311              :               }
   12312            0 :           if (integer_zerop (_p2))
   12313              :             {
   12314            0 :               {
   12315            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12316            0 :                 const enum tree_code cmp = LTGT_EXPR;
   12317            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   12318            0 :  && bitwise_equal_p (captures[0], captures[1])
   12319              : )
   12320              :                   {
   12321            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1914;
   12322            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1914;
   12323            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1914;
   12324            0 :                     {
   12325            0 :                       tree _r;
   12326            0 :                       _r = captures[1];
   12327            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   12328            0 :                       return _r;
   12329              :                     }
   12330            0 : next_after_fail1914:;
   12331              :                   }
   12332              :               }
   12333              :             }
   12334              :           }
   12335            0 :         switch (TREE_CODE (_q20))
   12336              :           {
   12337            0 :           case MINUS_EXPR:
   12338            0 :             {
   12339            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12340            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12341            0 :               if (zerop (_q21))
   12342              :                 {
   12343            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12344              :                     {
   12345            0 :                       switch (TREE_CODE (_p2))
   12346              :                         {
   12347            0 :                         case MINUS_EXPR:
   12348            0 :                           {
   12349            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12350            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12351            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12352              :                               {
   12353            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12354              :                                   {
   12355            0 :                                     {
   12356            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12357            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   12358            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12359              : )
   12360              :                                         {
   12361            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1915;
   12362            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1915;
   12363            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1915;
   12364            0 :                                           {
   12365            0 :                                             tree _r;
   12366            0 :                                             _r = captures[0];
   12367            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   12368            0 :                                             return _r;
   12369              :                                           }
   12370            0 : next_after_fail1915:;
   12371              :                                         }
   12372              :                                     }
   12373              :                                   }
   12374              :                               }
   12375              :                             break;
   12376              :                           }
   12377              :                         default:;
   12378              :                         }
   12379              :                     }
   12380              :                 }
   12381            0 :               if (integer_zerop (_q21))
   12382              :                 {
   12383            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12384              :                     {
   12385            0 :                       if (integer_zerop (_p2))
   12386              :                         {
   12387            0 :                           {
   12388            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12389            0 :                             tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   12390            0 :                             if (res) return res;
   12391              :                           }
   12392              :                         }
   12393              :                     }
   12394              :                 }
   12395              :               break;
   12396              :             }
   12397              :           default:;
   12398              :           }
   12399              :         break;
   12400              :       }
   12401         1177 :     case GE_EXPR:
   12402         1177 :       {
   12403         1177 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12404         1177 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12405         1177 :         switch (TREE_CODE (_q20))
   12406              :           {
   12407            3 :           CASE_CONVERT:
   12408            3 :             {
   12409            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12410            3 :               if (zerop (_q21))
   12411              :                 {
   12412            0 :                   switch (TREE_CODE (_p2))
   12413              :                     {
   12414            0 :                     case NEGATE_EXPR:
   12415            0 :                       {
   12416            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12417            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12418              :                           {
   12419            0 :                             {
   12420            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12421            0 :                               const enum tree_code cmp = GE_EXPR;
   12422            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12423            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12424            0 :  && element_precision (captures[1])
   12425            0 :  <= element_precision (captures[0])
   12426            0 :  && bitwise_equal_p (captures[1], captures[2])
   12427            0 :  && (!VECTOR_TYPE_P (type)
   12428            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12429              : )
   12430              :                                 {
   12431            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12432              : )
   12433              :                                     {
   12434            0 :                                       {
   12435            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12436            0 :                                           if (types_match (captures[0], stype)
   12437              : )
   12438              :                                             {
   12439            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1916;
   12440            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1916;
   12441            0 :                                               {
   12442            0 :                                                 tree res_op0;
   12443            0 :                                                 res_op0 = captures[0];
   12444            0 :                                                 tree _r;
   12445            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12446            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12447            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12448            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   12449            0 :                                                 return _r;
   12450              :                                               }
   12451            0 : next_after_fail1916:;
   12452              :                                             }
   12453              :                                           else
   12454              :                                             {
   12455            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1917;
   12456            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1917;
   12457            0 :                                               {
   12458            0 :                                                 tree res_op0;
   12459            0 :                                                 {
   12460            0 :                                                   tree _o1[1], _r1;
   12461            0 :                                                   _o1[0] = captures[2];
   12462            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   12463              :                                                     {
   12464            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12465              :                                                     }
   12466              :                                                   else
   12467              :                                                     _r1 = _o1[0];
   12468            0 :                                                   res_op0 = _r1;
   12469              :                                                 }
   12470            0 :                                                 tree _r;
   12471            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12472            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   12473            0 :                                                 return _r;
   12474              :                                               }
   12475            0 : next_after_fail1917:;
   12476              :                                             }
   12477              :                                       }
   12478              :                                     }
   12479              :                                   else
   12480              :                                     {
   12481            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1918;
   12482            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1918;
   12483            0 :                                       {
   12484            0 :                                         tree res_op0;
   12485            0 :                                         res_op0 = captures[2];
   12486            0 :                                         tree _r;
   12487            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12488            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   12489            0 :                                         return _r;
   12490              :                                       }
   12491            0 : next_after_fail1918:;
   12492              :                                     }
   12493              :                                 }
   12494              :                             }
   12495              :                           }
   12496              :                         break;
   12497              :                       }
   12498              :                     default:;
   12499              :                     }
   12500              :                 }
   12501              :               break;
   12502              :             }
   12503         1177 :           default:;
   12504              :           }
   12505         1177 :         if (zerop (_q21))
   12506              :           {
   12507          334 :             switch (TREE_CODE (_p2))
   12508              :               {
   12509            3 :               case NEGATE_EXPR:
   12510            3 :                 {
   12511            3 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12512            3 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12513              :                     {
   12514            3 :                       {
   12515            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   12516            3 :                         const enum tree_code cmp = GE_EXPR;
   12517            3 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12518            3 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12519            6 :  && element_precision (captures[1])
   12520            3 :  <= element_precision (captures[0])
   12521            3 :  && bitwise_equal_p (captures[1], captures[2])
   12522            6 :  && (!VECTOR_TYPE_P (type)
   12523            3 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12524              : )
   12525              :                           {
   12526            3 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12527              : )
   12528              :                               {
   12529            0 :                                 {
   12530            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12531            0 :                                     if (types_match (captures[0], stype)
   12532              : )
   12533              :                                       {
   12534            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1919;
   12535            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1919;
   12536            0 :                                         {
   12537            0 :                                           tree res_op0;
   12538            0 :                                           res_op0 = captures[0];
   12539            0 :                                           tree _r;
   12540            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12541            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   12542            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12543            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   12544            0 :                                           return _r;
   12545              :                                         }
   12546            0 : next_after_fail1919:;
   12547              :                                       }
   12548              :                                     else
   12549              :                                       {
   12550            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1920;
   12551            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1920;
   12552            0 :                                         {
   12553            0 :                                           tree res_op0;
   12554            0 :                                           {
   12555            0 :                                             tree _o1[1], _r1;
   12556            0 :                                             _o1[0] = captures[2];
   12557            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   12558              :                                               {
   12559            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12560              :                                               }
   12561              :                                             else
   12562              :                                               _r1 = _o1[0];
   12563            0 :                                             res_op0 = _r1;
   12564              :                                           }
   12565            0 :                                           tree _r;
   12566            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12567            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   12568            0 :                                           return _r;
   12569              :                                         }
   12570            0 : next_after_fail1920:;
   12571              :                                       }
   12572              :                                 }
   12573              :                               }
   12574              :                             else
   12575              :                               {
   12576            3 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1921;
   12577            3 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1921;
   12578            3 :                                 {
   12579            3 :                                   tree res_op0;
   12580            3 :                                   res_op0 = captures[2];
   12581            3 :                                   tree _r;
   12582            3 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12583            3 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   12584            3 :                                   return _r;
   12585              :                                 }
   12586            0 : next_after_fail1921:;
   12587              :                               }
   12588              :                           }
   12589              :                       }
   12590              :                     }
   12591              :                   break;
   12592              :                 }
   12593              :               default:;
   12594              :               }
   12595              :           }
   12596         1174 :         switch (TREE_CODE (_q20))
   12597              :           {
   12598            0 :           case MINUS_EXPR:
   12599            0 :             {
   12600            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12601            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12602            0 :               if (zerop (_q21))
   12603              :                 {
   12604            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12605              :                     {
   12606            0 :                       switch (TREE_CODE (_p2))
   12607              :                         {
   12608            0 :                         case MINUS_EXPR:
   12609            0 :                           {
   12610            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12611            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12612            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12613              :                               {
   12614            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12615              :                                   {
   12616            0 :                                     {
   12617            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12618            0 :                                       const enum tree_code cmp = GE_EXPR;
   12619            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12620            0 :  && !TYPE_UNSIGNED (type)
   12621            0 :  && (!VECTOR_TYPE_P (type)
   12622            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12623              : )
   12624              :                                         {
   12625            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1922;
   12626            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1922;
   12627            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1922;
   12628            0 :                                           {
   12629            0 :                                             tree res_op0;
   12630            0 :                                             res_op0 = captures[0];
   12631            0 :                                             tree _r;
   12632            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12633            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   12634            0 :                                             return _r;
   12635              :                                           }
   12636            0 : next_after_fail1922:;
   12637              :                                         }
   12638              :                                     }
   12639              :                                   }
   12640              :                               }
   12641              :                             break;
   12642              :                           }
   12643              :                         default:;
   12644              :                         }
   12645              :                     }
   12646              :                 }
   12647              :               break;
   12648              :             }
   12649              :           default:;
   12650              :           }
   12651              :         break;
   12652              :       }
   12653        66427 :     case GT_EXPR:
   12654        66427 :       {
   12655        66427 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12656        66427 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12657        66427 :         switch (TREE_CODE (_q20))
   12658              :           {
   12659           13 :           CASE_CONVERT:
   12660           13 :             {
   12661           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12662           13 :               if (zerop (_q21))
   12663              :                 {
   12664            1 :                   switch (TREE_CODE (_p2))
   12665              :                     {
   12666            0 :                     case NEGATE_EXPR:
   12667            0 :                       {
   12668            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12669            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12670              :                           {
   12671            0 :                             {
   12672            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12673            0 :                               const enum tree_code cmp = GT_EXPR;
   12674            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12675            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12676            0 :  && element_precision (captures[1])
   12677            0 :  <= element_precision (captures[0])
   12678            0 :  && bitwise_equal_p (captures[1], captures[2])
   12679            0 :  && (!VECTOR_TYPE_P (type)
   12680            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12681              : )
   12682              :                                 {
   12683            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12684              : )
   12685              :                                     {
   12686            0 :                                       {
   12687            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12688            0 :                                           if (types_match (captures[0], stype)
   12689              : )
   12690              :                                             {
   12691            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1923;
   12692            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1923;
   12693            0 :                                               {
   12694            0 :                                                 tree res_op0;
   12695            0 :                                                 res_op0 = captures[0];
   12696            0 :                                                 tree _r;
   12697            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12698            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12699            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12700            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   12701            0 :                                                 return _r;
   12702              :                                               }
   12703            0 : next_after_fail1923:;
   12704              :                                             }
   12705              :                                           else
   12706              :                                             {
   12707            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1924;
   12708            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1924;
   12709            0 :                                               {
   12710            0 :                                                 tree res_op0;
   12711            0 :                                                 {
   12712            0 :                                                   tree _o1[1], _r1;
   12713            0 :                                                   _o1[0] = captures[2];
   12714            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   12715              :                                                     {
   12716            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12717              :                                                     }
   12718              :                                                   else
   12719              :                                                     _r1 = _o1[0];
   12720            0 :                                                   res_op0 = _r1;
   12721              :                                                 }
   12722            0 :                                                 tree _r;
   12723            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12724            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   12725            0 :                                                 return _r;
   12726              :                                               }
   12727            0 : next_after_fail1924:;
   12728              :                                             }
   12729              :                                       }
   12730              :                                     }
   12731              :                                   else
   12732              :                                     {
   12733            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1925;
   12734            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1925;
   12735            0 :                                       {
   12736            0 :                                         tree res_op0;
   12737            0 :                                         res_op0 = captures[2];
   12738            0 :                                         tree _r;
   12739            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12740            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   12741            0 :                                         return _r;
   12742              :                                       }
   12743            0 : next_after_fail1925:;
   12744              :                                     }
   12745              :                                 }
   12746              :                             }
   12747              :                           }
   12748              :                         break;
   12749              :                       }
   12750              :                     default:;
   12751              :                     }
   12752              :                 }
   12753              :               break;
   12754              :             }
   12755        66427 :           default:;
   12756              :           }
   12757        66427 :         if (zerop (_q21))
   12758              :           {
   12759           84 :             switch (TREE_CODE (_p2))
   12760              :               {
   12761            6 :               case NEGATE_EXPR:
   12762            6 :                 {
   12763            6 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12764            6 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12765              :                     {
   12766            6 :                       {
   12767            6 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   12768            6 :                         const enum tree_code cmp = GT_EXPR;
   12769            6 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12770            6 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12771           12 :  && element_precision (captures[1])
   12772            6 :  <= element_precision (captures[0])
   12773            6 :  && bitwise_equal_p (captures[1], captures[2])
   12774           12 :  && (!VECTOR_TYPE_P (type)
   12775            6 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12776              : )
   12777              :                           {
   12778            6 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12779              : )
   12780              :                               {
   12781            0 :                                 {
   12782            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12783            0 :                                     if (types_match (captures[0], stype)
   12784              : )
   12785              :                                       {
   12786            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1926;
   12787            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1926;
   12788            0 :                                         {
   12789            0 :                                           tree res_op0;
   12790            0 :                                           res_op0 = captures[0];
   12791            0 :                                           tree _r;
   12792            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12793            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   12794            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12795            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   12796            0 :                                           return _r;
   12797              :                                         }
   12798            0 : next_after_fail1926:;
   12799              :                                       }
   12800              :                                     else
   12801              :                                       {
   12802            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1927;
   12803            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1927;
   12804            0 :                                         {
   12805            0 :                                           tree res_op0;
   12806            0 :                                           {
   12807            0 :                                             tree _o1[1], _r1;
   12808            0 :                                             _o1[0] = captures[2];
   12809            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   12810              :                                               {
   12811            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12812              :                                               }
   12813              :                                             else
   12814              :                                               _r1 = _o1[0];
   12815            0 :                                             res_op0 = _r1;
   12816              :                                           }
   12817            0 :                                           tree _r;
   12818            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12819            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   12820            0 :                                           return _r;
   12821              :                                         }
   12822            0 : next_after_fail1927:;
   12823              :                                       }
   12824              :                                 }
   12825              :                               }
   12826              :                             else
   12827              :                               {
   12828            6 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1928;
   12829            6 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1928;
   12830            6 :                                 {
   12831            6 :                                   tree res_op0;
   12832            6 :                                   res_op0 = captures[2];
   12833            6 :                                   tree _r;
   12834            6 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12835            6 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   12836            6 :                                   return _r;
   12837              :                                 }
   12838            0 : next_after_fail1928:;
   12839              :                               }
   12840              :                           }
   12841              :                       }
   12842              :                     }
   12843              :                   break;
   12844              :                 }
   12845              :               default:;
   12846              :               }
   12847              :           }
   12848        66421 :         switch (TREE_CODE (_q20))
   12849              :           {
   12850            0 :           case MINUS_EXPR:
   12851            0 :             {
   12852            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12853            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12854            0 :               if (zerop (_q21))
   12855              :                 {
   12856            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12857              :                     {
   12858            0 :                       switch (TREE_CODE (_p2))
   12859              :                         {
   12860            0 :                         case MINUS_EXPR:
   12861            0 :                           {
   12862            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12863            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12864            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12865              :                               {
   12866            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12867              :                                   {
   12868            0 :                                     {
   12869            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12870            0 :                                       const enum tree_code cmp = GT_EXPR;
   12871            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12872            0 :  && !TYPE_UNSIGNED (type)
   12873            0 :  && (!VECTOR_TYPE_P (type)
   12874            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12875              : )
   12876              :                                         {
   12877            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1929;
   12878            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1929;
   12879            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1929;
   12880            0 :                                           {
   12881            0 :                                             tree res_op0;
   12882            0 :                                             res_op0 = captures[0];
   12883            0 :                                             tree _r;
   12884            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12885            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   12886            0 :                                             return _r;
   12887              :                                           }
   12888            0 : next_after_fail1929:;
   12889              :                                         }
   12890              :                                     }
   12891              :                                   }
   12892              :                               }
   12893              :                             break;
   12894              :                           }
   12895              :                         default:;
   12896              :                         }
   12897              :                     }
   12898              :                 }
   12899              :               break;
   12900              :             }
   12901              :           default:;
   12902              :           }
   12903              :         break;
   12904              :       }
   12905          966 :     case LE_EXPR:
   12906          966 :       {
   12907          966 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12908          966 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12909          966 :         switch (TREE_CODE (_q20))
   12910              :           {
   12911           62 :           CASE_CONVERT:
   12912           62 :             {
   12913           62 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12914           62 :               if (zerop (_q21))
   12915              :                 {
   12916            0 :                   switch (TREE_CODE (_p2))
   12917              :                     {
   12918            0 :                     case NEGATE_EXPR:
   12919            0 :                       {
   12920            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12921            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12922              :                           {
   12923            0 :                             {
   12924            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12925            0 :                               const enum tree_code cmp = LE_EXPR;
   12926            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12927            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12928            0 :  && element_precision (captures[1])
   12929            0 :  <= element_precision (captures[0])
   12930            0 :  && bitwise_equal_p (captures[1], captures[2])
   12931            0 :  && (!VECTOR_TYPE_P (type)
   12932            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   12933            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   12934              : )
   12935              :                                 {
   12936            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   12937            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   12938            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12939              : )
   12940              :                                     {
   12941            0 :                                       {
   12942            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12943            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   12944            0 :                                           if (types_match (captures[0], stype)
   12945              : )
   12946              :                                             {
   12947            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1930;
   12948            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1930;
   12949            0 :                                               {
   12950            0 :                                                 tree res_op0;
   12951            0 :                                                 {
   12952            0 :                                                   tree _o1[1], _r1;
   12953            0 :                                                   {
   12954            0 :                                                     tree _o2[1], _r2;
   12955            0 :                                                     _o2[0] = captures[0];
   12956            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   12957            0 :                                                     _o1[0] = _r2;
   12958              :                                                   }
   12959            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   12960            0 :                                                   res_op0 = _r1;
   12961              :                                                 }
   12962            0 :                                                 tree _r;
   12963            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   12964            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12965            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12966            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   12967            0 :                                                 return _r;
   12968              :                                               }
   12969            0 : next_after_fail1930:;
   12970              :                                             }
   12971              :                                           else
   12972              :                                             {
   12973            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1931;
   12974            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1931;
   12975            0 :                                               {
   12976            0 :                                                 tree res_op0;
   12977            0 :                                                 {
   12978            0 :                                                   tree _o1[1], _r1;
   12979            0 :                                                   {
   12980            0 :                                                     tree _o2[1], _r2;
   12981            0 :                                                     {
   12982            0 :                                                       tree _o3[1], _r3;
   12983            0 :                                                       _o3[0] = captures[2];
   12984            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   12985              :                                                         {
   12986            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   12987              :                                                         }
   12988              :                                                       else
   12989              :                                                         _r3 = _o3[0];
   12990            0 :                                                       _o2[0] = _r3;
   12991              :                                                     }
   12992            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   12993            0 :                                                     _o1[0] = _r2;
   12994              :                                                   }
   12995            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   12996            0 :                                                   res_op0 = _r1;
   12997              :                                                 }
   12998            0 :                                                 tree _r;
   12999            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13000            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   13001            0 :                                                 return _r;
   13002              :                                               }
   13003            0 : next_after_fail1931:;
   13004              :                                             }
   13005              :                                       }
   13006              :                                     }
   13007              :                                   else
   13008              :                                     {
   13009            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1932;
   13010            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1932;
   13011            0 :                                       {
   13012            0 :                                         tree res_op0;
   13013            0 :                                         {
   13014            0 :                                           tree _o1[1], _r1;
   13015            0 :                                           {
   13016            0 :                                             tree _o2[1], _r2;
   13017            0 :                                             _o2[0] = captures[2];
   13018            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13019            0 :                                             _o1[0] = _r2;
   13020              :                                           }
   13021            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13022            0 :                                           res_op0 = _r1;
   13023              :                                         }
   13024            0 :                                         tree _r;
   13025            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13026            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   13027            0 :                                         return _r;
   13028              :                                       }
   13029            0 : next_after_fail1932:;
   13030              :                                     }
   13031              :                                 }
   13032              :                             }
   13033              :                           }
   13034              :                         break;
   13035              :                       }
   13036              :                     default:;
   13037              :                     }
   13038              :                 }
   13039              :               break;
   13040              :             }
   13041          966 :           default:;
   13042              :           }
   13043          966 :         if (zerop (_q21))
   13044              :           {
   13045           18 :             switch (TREE_CODE (_p2))
   13046              :               {
   13047            0 :               case NEGATE_EXPR:
   13048            0 :                 {
   13049            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13050            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13051              :                     {
   13052            0 :                       {
   13053            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13054            0 :                         const enum tree_code cmp = LE_EXPR;
   13055            0 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13056            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13057            0 :  && element_precision (captures[1])
   13058            0 :  <= element_precision (captures[0])
   13059            0 :  && bitwise_equal_p (captures[1], captures[2])
   13060            0 :  && (!VECTOR_TYPE_P (type)
   13061            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13062            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13063              : )
   13064              :                           {
   13065            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13066            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13067            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13068              : )
   13069              :                               {
   13070            0 :                                 {
   13071            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13072            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13073            0 :                                     if (types_match (captures[0], stype)
   13074              : )
   13075              :                                       {
   13076            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1933;
   13077            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1933;
   13078            0 :                                         {
   13079            0 :                                           tree res_op0;
   13080            0 :                                           {
   13081            0 :                                             tree _o1[1], _r1;
   13082            0 :                                             {
   13083            0 :                                               tree _o2[1], _r2;
   13084            0 :                                               _o2[0] = captures[0];
   13085            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13086            0 :                                               _o1[0] = _r2;
   13087              :                                             }
   13088            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13089            0 :                                             res_op0 = _r1;
   13090              :                                           }
   13091            0 :                                           tree _r;
   13092            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13093            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13094            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13095            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   13096            0 :                                           return _r;
   13097              :                                         }
   13098            0 : next_after_fail1933:;
   13099              :                                       }
   13100              :                                     else
   13101              :                                       {
   13102            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1934;
   13103            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1934;
   13104            0 :                                         {
   13105            0 :                                           tree res_op0;
   13106            0 :                                           {
   13107            0 :                                             tree _o1[1], _r1;
   13108            0 :                                             {
   13109            0 :                                               tree _o2[1], _r2;
   13110            0 :                                               {
   13111            0 :                                                 tree _o3[1], _r3;
   13112            0 :                                                 _o3[0] = captures[2];
   13113            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13114              :                                                   {
   13115            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13116              :                                                   }
   13117              :                                                 else
   13118              :                                                   _r3 = _o3[0];
   13119            0 :                                                 _o2[0] = _r3;
   13120              :                                               }
   13121            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13122            0 :                                               _o1[0] = _r2;
   13123              :                                             }
   13124            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13125            0 :                                             res_op0 = _r1;
   13126              :                                           }
   13127            0 :                                           tree _r;
   13128            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13129            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   13130            0 :                                           return _r;
   13131              :                                         }
   13132            0 : next_after_fail1934:;
   13133              :                                       }
   13134              :                                 }
   13135              :                               }
   13136              :                             else
   13137              :                               {
   13138            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1935;
   13139            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1935;
   13140            0 :                                 {
   13141            0 :                                   tree res_op0;
   13142            0 :                                   {
   13143            0 :                                     tree _o1[1], _r1;
   13144            0 :                                     {
   13145            0 :                                       tree _o2[1], _r2;
   13146            0 :                                       _o2[0] = captures[2];
   13147            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13148            0 :                                       _o1[0] = _r2;
   13149              :                                     }
   13150            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13151            0 :                                     res_op0 = _r1;
   13152              :                                   }
   13153            0 :                                   tree _r;
   13154            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13155            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   13156            0 :                                   return _r;
   13157              :                                 }
   13158            0 : next_after_fail1935:;
   13159              :                               }
   13160              :                           }
   13161              :                       }
   13162              :                     }
   13163              :                   break;
   13164              :                 }
   13165              :               default:;
   13166              :               }
   13167              :           }
   13168          966 :         switch (TREE_CODE (_q20))
   13169              :           {
   13170            0 :           case MINUS_EXPR:
   13171            0 :             {
   13172            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13173            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13174            0 :               if (zerop (_q21))
   13175              :                 {
   13176            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13177              :                     {
   13178            0 :                       switch (TREE_CODE (_p2))
   13179              :                         {
   13180            0 :                         case MINUS_EXPR:
   13181            0 :                           {
   13182            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13183            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13184            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13185              :                               {
   13186            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13187              :                                   {
   13188            0 :                                     {
   13189            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13190            0 :                                       const enum tree_code cmp = LE_EXPR;
   13191            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13192            0 :  && !TYPE_UNSIGNED (type)
   13193              : )
   13194              :                                         {
   13195            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13196            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13197            0 :  && (!VECTOR_TYPE_P (type)
   13198            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13199            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13200              : )
   13201              :                                             {
   13202            0 :                                               {
   13203            0 :  tree utype = unsigned_type_for (type);
   13204            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1936;
   13205            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1936;
   13206            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1936;
   13207            0 :                                                   {
   13208            0 :                                                     tree res_op0;
   13209            0 :                                                     {
   13210            0 :                                                       tree _o1[1], _r1;
   13211            0 :                                                       {
   13212            0 :                                                         tree _o2[1], _r2;
   13213            0 :                                                         _o2[0] = captures[0];
   13214            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13215            0 :                                                         _o1[0] = _r2;
   13216              :                                                       }
   13217            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13218            0 :                                                       res_op0 = _r1;
   13219              :                                                     }
   13220            0 :                                                     tree _r;
   13221            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13222            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   13223            0 :                                                     return _r;
   13224              :                                                   }
   13225            0 : next_after_fail1936:;
   13226              :                                               }
   13227              :                                             }
   13228              :                                           else
   13229              :                                             {
   13230            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1937;
   13231            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1937;
   13232            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1937;
   13233            0 :                                               {
   13234            0 :                                                 tree res_op0;
   13235            0 :                                                 {
   13236            0 :                                                   tree _o1[1], _r1;
   13237            0 :                                                   _o1[0] = captures[0];
   13238            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13239            0 :                                                   res_op0 = _r1;
   13240              :                                                 }
   13241            0 :                                                 tree _r;
   13242            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13243            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   13244            0 :                                                 return _r;
   13245              :                                               }
   13246            0 : next_after_fail1937:;
   13247              :                                             }
   13248              :                                         }
   13249              :                                     }
   13250              :                                   }
   13251              :                               }
   13252              :                             break;
   13253              :                           }
   13254              :                         default:;
   13255              :                         }
   13256              :                     }
   13257              :                 }
   13258              :               break;
   13259              :             }
   13260              :           default:;
   13261              :           }
   13262              :         break;
   13263              :       }
   13264        20789 :     case LT_EXPR:
   13265        20789 :       {
   13266        20789 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13267        20789 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13268        20789 :         switch (TREE_CODE (_q20))
   13269              :           {
   13270          162 :           CASE_CONVERT:
   13271          162 :             {
   13272          162 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13273          162 :               if (zerop (_q21))
   13274              :                 {
   13275           83 :                   switch (TREE_CODE (_p2))
   13276              :                     {
   13277            0 :                     case NEGATE_EXPR:
   13278            0 :                       {
   13279            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13280            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13281              :                           {
   13282            0 :                             {
   13283            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13284            0 :                               const enum tree_code cmp = LT_EXPR;
   13285            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13286            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13287            0 :  && element_precision (captures[1])
   13288            0 :  <= element_precision (captures[0])
   13289            0 :  && bitwise_equal_p (captures[1], captures[2])
   13290            0 :  && (!VECTOR_TYPE_P (type)
   13291            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13292            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13293              : )
   13294              :                                 {
   13295            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13296            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13297            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13298              : )
   13299              :                                     {
   13300            0 :                                       {
   13301            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13302            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13303            0 :                                           if (types_match (captures[0], stype)
   13304              : )
   13305              :                                             {
   13306            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1938;
   13307            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1938;
   13308            0 :                                               {
   13309            0 :                                                 tree res_op0;
   13310            0 :                                                 {
   13311            0 :                                                   tree _o1[1], _r1;
   13312            0 :                                                   {
   13313            0 :                                                     tree _o2[1], _r2;
   13314            0 :                                                     _o2[0] = captures[0];
   13315            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13316            0 :                                                     _o1[0] = _r2;
   13317              :                                                   }
   13318            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13319            0 :                                                   res_op0 = _r1;
   13320              :                                                 }
   13321            0 :                                                 tree _r;
   13322            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13323            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13324            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13325            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   13326            0 :                                                 return _r;
   13327              :                                               }
   13328            0 : next_after_fail1938:;
   13329              :                                             }
   13330              :                                           else
   13331              :                                             {
   13332            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1939;
   13333            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1939;
   13334            0 :                                               {
   13335            0 :                                                 tree res_op0;
   13336            0 :                                                 {
   13337            0 :                                                   tree _o1[1], _r1;
   13338            0 :                                                   {
   13339            0 :                                                     tree _o2[1], _r2;
   13340            0 :                                                     {
   13341            0 :                                                       tree _o3[1], _r3;
   13342            0 :                                                       _o3[0] = captures[2];
   13343            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13344              :                                                         {
   13345            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13346              :                                                         }
   13347              :                                                       else
   13348              :                                                         _r3 = _o3[0];
   13349            0 :                                                       _o2[0] = _r3;
   13350              :                                                     }
   13351            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13352            0 :                                                     _o1[0] = _r2;
   13353              :                                                   }
   13354            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13355            0 :                                                   res_op0 = _r1;
   13356              :                                                 }
   13357            0 :                                                 tree _r;
   13358            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13359            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   13360            0 :                                                 return _r;
   13361              :                                               }
   13362            0 : next_after_fail1939:;
   13363              :                                             }
   13364              :                                       }
   13365              :                                     }
   13366              :                                   else
   13367              :                                     {
   13368            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1940;
   13369            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1940;
   13370            0 :                                       {
   13371            0 :                                         tree res_op0;
   13372            0 :                                         {
   13373            0 :                                           tree _o1[1], _r1;
   13374            0 :                                           {
   13375            0 :                                             tree _o2[1], _r2;
   13376            0 :                                             _o2[0] = captures[2];
   13377            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13378            0 :                                             _o1[0] = _r2;
   13379              :                                           }
   13380            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13381            0 :                                           res_op0 = _r1;
   13382              :                                         }
   13383            0 :                                         tree _r;
   13384            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13385            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   13386            0 :                                         return _r;
   13387              :                                       }
   13388            0 : next_after_fail1940:;
   13389              :                                     }
   13390              :                                 }
   13391              :                             }
   13392              :                           }
   13393              :                         break;
   13394              :                       }
   13395              :                     default:;
   13396              :                     }
   13397              :                 }
   13398              :               break;
   13399              :             }
   13400        20789 :           default:;
   13401              :           }
   13402        20789 :         if (zerop (_q21))
   13403              :           {
   13404          633 :             switch (TREE_CODE (_p2))
   13405              :               {
   13406           16 :               case NEGATE_EXPR:
   13407           16 :                 {
   13408           16 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13409           16 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13410              :                     {
   13411           16 :                       {
   13412           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13413           16 :                         const enum tree_code cmp = LT_EXPR;
   13414           16 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13415           16 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13416           32 :  && element_precision (captures[1])
   13417           16 :  <= element_precision (captures[0])
   13418           16 :  && bitwise_equal_p (captures[1], captures[2])
   13419           32 :  && (!VECTOR_TYPE_P (type)
   13420           16 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13421            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13422              : )
   13423              :                           {
   13424            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13425            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13426            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13427              : )
   13428              :                               {
   13429            0 :                                 {
   13430            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13431            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13432            0 :                                     if (types_match (captures[0], stype)
   13433              : )
   13434              :                                       {
   13435            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1941;
   13436            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1941;
   13437            0 :                                         {
   13438            0 :                                           tree res_op0;
   13439            0 :                                           {
   13440            0 :                                             tree _o1[1], _r1;
   13441            0 :                                             {
   13442            0 :                                               tree _o2[1], _r2;
   13443            0 :                                               _o2[0] = captures[0];
   13444            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13445            0 :                                               _o1[0] = _r2;
   13446              :                                             }
   13447            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13448            0 :                                             res_op0 = _r1;
   13449              :                                           }
   13450            0 :                                           tree _r;
   13451            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13452            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13453            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13454            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   13455            0 :                                           return _r;
   13456              :                                         }
   13457           16 : next_after_fail1941:;
   13458              :                                       }
   13459              :                                     else
   13460              :                                       {
   13461            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1942;
   13462            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1942;
   13463            0 :                                         {
   13464            0 :                                           tree res_op0;
   13465            0 :                                           {
   13466            0 :                                             tree _o1[1], _r1;
   13467            0 :                                             {
   13468            0 :                                               tree _o2[1], _r2;
   13469            0 :                                               {
   13470            0 :                                                 tree _o3[1], _r3;
   13471            0 :                                                 _o3[0] = captures[2];
   13472            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13473              :                                                   {
   13474            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13475              :                                                   }
   13476              :                                                 else
   13477              :                                                   _r3 = _o3[0];
   13478            0 :                                                 _o2[0] = _r3;
   13479              :                                               }
   13480            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13481            0 :                                               _o1[0] = _r2;
   13482              :                                             }
   13483            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13484            0 :                                             res_op0 = _r1;
   13485              :                                           }
   13486            0 :                                           tree _r;
   13487            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13488            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   13489            0 :                                           return _r;
   13490              :                                         }
   13491           16 : next_after_fail1942:;
   13492              :                                       }
   13493              :                                 }
   13494              :                               }
   13495              :                             else
   13496              :                               {
   13497            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1943;
   13498            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1943;
   13499            0 :                                 {
   13500            0 :                                   tree res_op0;
   13501            0 :                                   {
   13502            0 :                                     tree _o1[1], _r1;
   13503            0 :                                     {
   13504            0 :                                       tree _o2[1], _r2;
   13505            0 :                                       _o2[0] = captures[2];
   13506            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13507            0 :                                       _o1[0] = _r2;
   13508              :                                     }
   13509            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13510            0 :                                     res_op0 = _r1;
   13511              :                                   }
   13512            0 :                                   tree _r;
   13513            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13514            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   13515            0 :                                   return _r;
   13516              :                                 }
   13517           16 : next_after_fail1943:;
   13518              :                               }
   13519              :                           }
   13520              :                       }
   13521              :                     }
   13522              :                   break;
   13523              :                 }
   13524              :               default:;
   13525              :               }
   13526              :           }
   13527        20789 :         switch (TREE_CODE (_q20))
   13528              :           {
   13529            0 :           case MINUS_EXPR:
   13530            0 :             {
   13531            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13532            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13533            0 :               if (zerop (_q21))
   13534              :                 {
   13535            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13536              :                     {
   13537            0 :                       switch (TREE_CODE (_p2))
   13538              :                         {
   13539            0 :                         case MINUS_EXPR:
   13540            0 :                           {
   13541            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13542            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13543            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13544              :                               {
   13545            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13546              :                                   {
   13547            0 :                                     {
   13548            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13549            0 :                                       const enum tree_code cmp = LT_EXPR;
   13550            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13551            0 :  && !TYPE_UNSIGNED (type)
   13552              : )
   13553              :                                         {
   13554            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13555            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13556            0 :  && (!VECTOR_TYPE_P (type)
   13557            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13558            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13559              : )
   13560              :                                             {
   13561            0 :                                               {
   13562            0 :  tree utype = unsigned_type_for (type);
   13563            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1944;
   13564            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1944;
   13565            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1944;
   13566            0 :                                                   {
   13567            0 :                                                     tree res_op0;
   13568            0 :                                                     {
   13569            0 :                                                       tree _o1[1], _r1;
   13570            0 :                                                       {
   13571            0 :                                                         tree _o2[1], _r2;
   13572            0 :                                                         _o2[0] = captures[0];
   13573            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13574            0 :                                                         _o1[0] = _r2;
   13575              :                                                       }
   13576            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13577            0 :                                                       res_op0 = _r1;
   13578              :                                                     }
   13579            0 :                                                     tree _r;
   13580            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13581            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   13582            0 :                                                     return _r;
   13583              :                                                   }
   13584            0 : next_after_fail1944:;
   13585              :                                               }
   13586              :                                             }
   13587              :                                           else
   13588              :                                             {
   13589            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1945;
   13590            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1945;
   13591            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1945;
   13592            0 :                                               {
   13593            0 :                                                 tree res_op0;
   13594            0 :                                                 {
   13595            0 :                                                   tree _o1[1], _r1;
   13596            0 :                                                   _o1[0] = captures[0];
   13597            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13598            0 :                                                   res_op0 = _r1;
   13599              :                                                 }
   13600            0 :                                                 tree _r;
   13601            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13602            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   13603            0 :                                                 return _r;
   13604              :                                               }
   13605            0 : next_after_fail1945:;
   13606              :                                             }
   13607              :                                         }
   13608              :                                     }
   13609              :                                   }
   13610              :                               }
   13611              :                             break;
   13612              :                           }
   13613              :                         default:;
   13614              :                         }
   13615              :                     }
   13616              :                 }
   13617              :               break;
   13618              :             }
   13619              :           default:;
   13620              :           }
   13621              :         break;
   13622              :       }
   13623       384935 :     default:;
   13624              :     }
   13625       384935 : {
   13626       384935 :   tree _p0_pops[1];
   13627       384935 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   13628              :     {
   13629          962 :       tree _q20 = _p0_pops[0];
   13630          962 :       if (tree_truth_valued_p (_q20))
   13631              :         {
   13632            0 :           {
   13633            0 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   13634            0 :             if (VEC_COND_EXPR == VEC_COND_EXPR
   13635              :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   13636              : )
   13637              :               {
   13638            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1946;
   13639            0 :                 {
   13640            0 :                   tree res_op0;
   13641            0 :                   res_op0 = captures[0];
   13642            0 :                   tree res_op1;
   13643            0 :                   res_op1 = captures[2];
   13644            0 :                   tree res_op2;
   13645            0 :                   res_op2 = captures[1];
   13646            0 :                   tree _r;
   13647            0 :                   _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   13648            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   13649            0 :                   return _r;
   13650              :                 }
   13651            0 : next_after_fail1946:;
   13652              :               }
   13653              :           }
   13654              :         }
   13655              :     }
   13656              : }
   13657       384935 :   switch (TREE_CODE (_p1))
   13658              :     {
   13659            0 :     case VIEW_CONVERT_EXPR:
   13660            0 :       {
   13661            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   13662            0 :         switch (TREE_CODE (_q30))
   13663              :           {
   13664            0 :           case CALL_EXPR:
   13665            0 :             switch (get_call_combined_fn (_q30))
   13666              :               {
   13667            0 :               case CFN_COND_ADD:
   13668            0 :                 if (call_expr_nargs (_q30) == 4)
   13669              :     {
   13670            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13671            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13672            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13673            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13674            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13675              :                       {
   13676            0 :                         {
   13677            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13678            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   13679            0 :                           if (res) return res;
   13680              :                         }
   13681              :                       }
   13682              :                   }
   13683              :                 break;
   13684            0 :               case CFN_COND_AND:
   13685            0 :                 if (call_expr_nargs (_q30) == 4)
   13686              :     {
   13687            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13688            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13689            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13690            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13691            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13692              :                       {
   13693            0 :                         {
   13694            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13695            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   13696            0 :                           if (res) return res;
   13697              :                         }
   13698              :                       }
   13699              :                   }
   13700              :                 break;
   13701            0 :               case CFN_COND_DIV:
   13702            0 :                 if (call_expr_nargs (_q30) == 4)
   13703              :     {
   13704            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13705            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13706            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13707            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13708            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13709              :                       {
   13710            0 :                         {
   13711            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13712            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   13713            0 :                           if (res) return res;
   13714              :                         }
   13715              :                       }
   13716              :                   }
   13717              :                 break;
   13718            0 :               case CFN_COND_IOR:
   13719            0 :                 if (call_expr_nargs (_q30) == 4)
   13720              :     {
   13721            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13722            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13723            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13724            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13725            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13726              :                       {
   13727            0 :                         {
   13728            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13729            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   13730            0 :                           if (res) return res;
   13731              :                         }
   13732              :                       }
   13733              :                   }
   13734              :                 break;
   13735            0 :               case CFN_COND_MAX:
   13736            0 :                 if (call_expr_nargs (_q30) == 4)
   13737              :     {
   13738            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13739            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13740            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13741            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13742            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13743              :                       {
   13744            0 :                         {
   13745            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13746            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   13747            0 :                           if (res) return res;
   13748              :                         }
   13749              :                       }
   13750              :                   }
   13751              :                 break;
   13752            0 :               case CFN_COND_MIN:
   13753            0 :                 if (call_expr_nargs (_q30) == 4)
   13754              :     {
   13755            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13756            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13757            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13758            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13759            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13760              :                       {
   13761            0 :                         {
   13762            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13763            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   13764            0 :                           if (res) return res;
   13765              :                         }
   13766              :                       }
   13767              :                   }
   13768              :                 break;
   13769            0 :               case CFN_COND_MOD:
   13770            0 :                 if (call_expr_nargs (_q30) == 4)
   13771              :     {
   13772            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13773            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13774            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13775            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13776            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13777              :                       {
   13778            0 :                         {
   13779            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13780            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   13781            0 :                           if (res) return res;
   13782              :                         }
   13783              :                       }
   13784              :                   }
   13785              :                 break;
   13786            0 :               case CFN_COND_MUL:
   13787            0 :                 if (call_expr_nargs (_q30) == 4)
   13788              :     {
   13789            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13790            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13791            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13792            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13793            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13794              :                       {
   13795            0 :                         {
   13796            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13797            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   13798            0 :                           if (res) return res;
   13799              :                         }
   13800              :                       }
   13801              :                   }
   13802              :                 break;
   13803            0 :               case CFN_COND_SHL:
   13804            0 :                 if (call_expr_nargs (_q30) == 4)
   13805              :     {
   13806            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13807            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13808            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13809            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13810            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13811              :                       {
   13812            0 :                         {
   13813            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13814            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   13815            0 :                           if (res) return res;
   13816              :                         }
   13817              :                       }
   13818              :                   }
   13819              :                 break;
   13820            0 :               case CFN_COND_SHR:
   13821            0 :                 if (call_expr_nargs (_q30) == 4)
   13822              :     {
   13823            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13824            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13825            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13826            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13827            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13828              :                       {
   13829            0 :                         {
   13830            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13831            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   13832            0 :                           if (res) return res;
   13833              :                         }
   13834              :                       }
   13835              :                   }
   13836              :                 break;
   13837            0 :               case CFN_COND_SUB:
   13838            0 :                 if (call_expr_nargs (_q30) == 4)
   13839              :     {
   13840            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13841            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13842            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13843            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13844            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13845              :                       {
   13846            0 :                         {
   13847            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13848            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   13849            0 :                           if (res) return res;
   13850              :                         }
   13851              :                       }
   13852              :                   }
   13853              :                 break;
   13854            0 :               case CFN_COND_XOR:
   13855            0 :                 if (call_expr_nargs (_q30) == 4)
   13856              :     {
   13857            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13858            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13859            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13860            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13861            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13862              :                       {
   13863            0 :                         {
   13864            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13865            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   13866            0 :                           if (res) return res;
   13867              :                         }
   13868              :                       }
   13869              :                   }
   13870              :                 break;
   13871            0 :               case CFN_COND_COPYSIGN:
   13872            0 :                 if (call_expr_nargs (_q30) == 4)
   13873              :     {
   13874            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13875            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13876            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13877            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13878            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13879              :                       {
   13880            0 :                         {
   13881            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13882            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   13883            0 :                           if (res) return res;
   13884              :                         }
   13885              :                       }
   13886              :                   }
   13887              :                 break;
   13888            0 :               case CFN_COND_FMAX:
   13889            0 :                 if (call_expr_nargs (_q30) == 4)
   13890              :     {
   13891            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13892            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13893            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13894            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13895            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13896              :                       {
   13897            0 :                         {
   13898            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13899            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   13900            0 :                           if (res) return res;
   13901              :                         }
   13902              :                       }
   13903              :                   }
   13904              :                 break;
   13905            0 :               case CFN_COND_FMIN:
   13906            0 :                 if (call_expr_nargs (_q30) == 4)
   13907              :     {
   13908            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13909            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13910            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13911            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13912            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13913              :                       {
   13914            0 :                         {
   13915            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13916            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   13917            0 :                           if (res) return res;
   13918              :                         }
   13919              :                       }
   13920              :                   }
   13921              :                 break;
   13922            0 :               case CFN_COND_RDIV:
   13923            0 :                 if (call_expr_nargs (_q30) == 4)
   13924              :     {
   13925            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13926            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13927            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13928            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13929            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13930              :                       {
   13931            0 :                         {
   13932            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13933            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   13934            0 :                           if (res) return res;
   13935              :                         }
   13936              :                       }
   13937              :                   }
   13938              :                 break;
   13939              :               default:;
   13940              :               }
   13941              :             break;
   13942              :           default:;
   13943              :           }
   13944              :         break;
   13945              :       }
   13946           12 :     case CALL_EXPR:
   13947           12 :       switch (get_call_combined_fn (_p1))
   13948              :         {
   13949            0 :         case CFN_COND_ADD:
   13950            0 :           if (call_expr_nargs (_p1) == 4)
   13951              :     {
   13952            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   13953            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   13954            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   13955            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   13956            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   13957              :                 {
   13958            0 :                   {
   13959            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   13960            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   13961            0 :                     if (res) return res;
   13962              :                   }
   13963              :                 }
   13964              :             }
   13965              :           break;
   13966            0 :         case CFN_COND_AND:
   13967            0 :           if (call_expr_nargs (_p1) == 4)
   13968              :     {
   13969            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   13970            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   13971            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   13972            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   13973            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   13974              :                 {
   13975            0 :                   {
   13976            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   13977            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   13978            0 :                     if (res) return res;
   13979              :                   }
   13980              :                 }
   13981              :             }
   13982              :           break;
   13983            0 :         case CFN_COND_DIV:
   13984            0 :           if (call_expr_nargs (_p1) == 4)
   13985              :     {
   13986            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   13987            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   13988            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   13989            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   13990            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   13991              :                 {
   13992            0 :                   {
   13993            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   13994            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   13995            0 :                     if (res) return res;
   13996              :                   }
   13997              :                 }
   13998              :             }
   13999              :           break;
   14000            0 :         case CFN_COND_IOR:
   14001            0 :           if (call_expr_nargs (_p1) == 4)
   14002              :     {
   14003            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14004            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14005            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14006            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14007            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14008              :                 {
   14009            0 :                   {
   14010            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14011            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14012            0 :                     if (res) return res;
   14013              :                   }
   14014              :                 }
   14015              :             }
   14016              :           break;
   14017            0 :         case CFN_COND_MAX:
   14018            0 :           if (call_expr_nargs (_p1) == 4)
   14019              :     {
   14020            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14021            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14022            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14023            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14024            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14025              :                 {
   14026            0 :                   {
   14027            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14028            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14029            0 :                     if (res) return res;
   14030              :                   }
   14031              :                 }
   14032              :             }
   14033              :           break;
   14034            0 :         case CFN_COND_MIN:
   14035            0 :           if (call_expr_nargs (_p1) == 4)
   14036              :     {
   14037            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14038            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14039            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14040            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14041            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14042              :                 {
   14043            0 :                   {
   14044            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14045            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14046            0 :                     if (res) return res;
   14047              :                   }
   14048              :                 }
   14049              :             }
   14050              :           break;
   14051            0 :         case CFN_COND_MOD:
   14052            0 :           if (call_expr_nargs (_p1) == 4)
   14053              :     {
   14054            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14055            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14056            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14057            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14058            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14059              :                 {
   14060            0 :                   {
   14061            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14062            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14063            0 :                     if (res) return res;
   14064              :                   }
   14065              :                 }
   14066              :             }
   14067              :           break;
   14068            0 :         case CFN_COND_MUL:
   14069            0 :           if (call_expr_nargs (_p1) == 4)
   14070              :     {
   14071            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14072            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14073            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14074            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14075            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14076              :                 {
   14077            0 :                   {
   14078            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14079            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14080            0 :                     if (res) return res;
   14081              :                   }
   14082              :                 }
   14083              :             }
   14084              :           break;
   14085            0 :         case CFN_COND_SHL:
   14086            0 :           if (call_expr_nargs (_p1) == 4)
   14087              :     {
   14088            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14089            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14090            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14091            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14092            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14093              :                 {
   14094            0 :                   {
   14095            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14096            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14097            0 :                     if (res) return res;
   14098              :                   }
   14099              :                 }
   14100              :             }
   14101              :           break;
   14102            0 :         case CFN_COND_SHR:
   14103            0 :           if (call_expr_nargs (_p1) == 4)
   14104              :     {
   14105            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14106            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14107            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14108            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14109            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14110              :                 {
   14111            0 :                   {
   14112            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14113            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14114            0 :                     if (res) return res;
   14115              :                   }
   14116              :                 }
   14117              :             }
   14118              :           break;
   14119            0 :         case CFN_COND_SUB:
   14120            0 :           if (call_expr_nargs (_p1) == 4)
   14121              :     {
   14122            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14123            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14124            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14125            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14126            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14127              :                 {
   14128            0 :                   {
   14129            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14130            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14131            0 :                     if (res) return res;
   14132              :                   }
   14133              :                 }
   14134              :             }
   14135              :           break;
   14136            0 :         case CFN_COND_XOR:
   14137            0 :           if (call_expr_nargs (_p1) == 4)
   14138              :     {
   14139            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14140            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14141            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14142            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14143            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14144              :                 {
   14145            0 :                   {
   14146            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14147            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14148            0 :                     if (res) return res;
   14149              :                   }
   14150              :                 }
   14151              :             }
   14152              :           break;
   14153            0 :         case CFN_COND_COPYSIGN:
   14154            0 :           if (call_expr_nargs (_p1) == 4)
   14155              :     {
   14156            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14157            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14158            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14159            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14160            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14161              :                 {
   14162            0 :                   {
   14163            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14164            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14165            0 :                     if (res) return res;
   14166              :                   }
   14167              :                 }
   14168              :             }
   14169              :           break;
   14170            0 :         case CFN_COND_FMAX:
   14171            0 :           if (call_expr_nargs (_p1) == 4)
   14172              :     {
   14173            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14174            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14175            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14176            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14177            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14178              :                 {
   14179            0 :                   {
   14180            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14181            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14182            0 :                     if (res) return res;
   14183              :                   }
   14184              :                 }
   14185              :             }
   14186              :           break;
   14187            0 :         case CFN_COND_FMIN:
   14188            0 :           if (call_expr_nargs (_p1) == 4)
   14189              :     {
   14190            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14191            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14192            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14193            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14194            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14195              :                 {
   14196            0 :                   {
   14197            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14198            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14199            0 :                     if (res) return res;
   14200              :                   }
   14201              :                 }
   14202              :             }
   14203              :           break;
   14204            0 :         case CFN_COND_RDIV:
   14205            0 :           if (call_expr_nargs (_p1) == 4)
   14206              :     {
   14207            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14208            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14209            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14210            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14211            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14212              :                 {
   14213            0 :                   {
   14214            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14215            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14216            0 :                     if (res) return res;
   14217              :                   }
   14218              :                 }
   14219              :             }
   14220              :           break;
   14221              :         default:;
   14222              :         }
   14223              :       break;
   14224       384935 :     default:;
   14225              :     }
   14226       384935 :   switch (TREE_CODE (_p2))
   14227              :     {
   14228            0 :     case VIEW_CONVERT_EXPR:
   14229            0 :       {
   14230            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   14231            0 :         switch (TREE_CODE (_q40))
   14232              :           {
   14233            0 :           case CALL_EXPR:
   14234            0 :             switch (get_call_combined_fn (_q40))
   14235              :               {
   14236            0 :               case CFN_COND_ADD:
   14237            0 :                 if (call_expr_nargs (_q40) == 4)
   14238              :     {
   14239            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14240            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14241            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14242            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14243            0 :                     {
   14244            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14245            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14246            0 :                       if (res) return res;
   14247              :                     }
   14248              :                   }
   14249              :                 break;
   14250            0 :               case CFN_COND_AND:
   14251            0 :                 if (call_expr_nargs (_q40) == 4)
   14252              :     {
   14253            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14254            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14255            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14256            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14257            0 :                     {
   14258            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14259            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14260            0 :                       if (res) return res;
   14261              :                     }
   14262              :                   }
   14263              :                 break;
   14264            0 :               case CFN_COND_DIV:
   14265            0 :                 if (call_expr_nargs (_q40) == 4)
   14266              :     {
   14267            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14268            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14269            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14270            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14271            0 :                     {
   14272            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14273            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14274            0 :                       if (res) return res;
   14275              :                     }
   14276              :                   }
   14277              :                 break;
   14278            0 :               case CFN_COND_IOR:
   14279            0 :                 if (call_expr_nargs (_q40) == 4)
   14280              :     {
   14281            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14282            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14283            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14284            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14285            0 :                     {
   14286            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14287            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14288            0 :                       if (res) return res;
   14289              :                     }
   14290              :                   }
   14291              :                 break;
   14292            0 :               case CFN_COND_MAX:
   14293            0 :                 if (call_expr_nargs (_q40) == 4)
   14294              :     {
   14295            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14296            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14297            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14298            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14299            0 :                     {
   14300            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14301            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14302            0 :                       if (res) return res;
   14303              :                     }
   14304              :                   }
   14305              :                 break;
   14306            0 :               case CFN_COND_MIN:
   14307            0 :                 if (call_expr_nargs (_q40) == 4)
   14308              :     {
   14309            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14310            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14311            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14312            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14313            0 :                     {
   14314            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14315            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14316            0 :                       if (res) return res;
   14317              :                     }
   14318              :                   }
   14319              :                 break;
   14320            0 :               case CFN_COND_MOD:
   14321            0 :                 if (call_expr_nargs (_q40) == 4)
   14322              :     {
   14323            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14324            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14325            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14326            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14327            0 :                     {
   14328            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14329            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14330            0 :                       if (res) return res;
   14331              :                     }
   14332              :                   }
   14333              :                 break;
   14334            0 :               case CFN_COND_MUL:
   14335            0 :                 if (call_expr_nargs (_q40) == 4)
   14336              :     {
   14337            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14338            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14339            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14340            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14341            0 :                     {
   14342            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14343            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14344            0 :                       if (res) return res;
   14345              :                     }
   14346              :                   }
   14347              :                 break;
   14348            0 :               case CFN_COND_SHL:
   14349            0 :                 if (call_expr_nargs (_q40) == 4)
   14350              :     {
   14351            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14352            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14353            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14354            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14355            0 :                     {
   14356            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14357            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14358            0 :                       if (res) return res;
   14359              :                     }
   14360              :                   }
   14361              :                 break;
   14362            0 :               case CFN_COND_SHR:
   14363            0 :                 if (call_expr_nargs (_q40) == 4)
   14364              :     {
   14365            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14366            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14367            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14368            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14369            0 :                     {
   14370            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14371            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14372            0 :                       if (res) return res;
   14373              :                     }
   14374              :                   }
   14375              :                 break;
   14376            0 :               case CFN_COND_SUB:
   14377            0 :                 if (call_expr_nargs (_q40) == 4)
   14378              :     {
   14379            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14380            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14381            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14382            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14383            0 :                     {
   14384            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14385            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14386            0 :                       if (res) return res;
   14387              :                     }
   14388              :                   }
   14389              :                 break;
   14390            0 :               case CFN_COND_XOR:
   14391            0 :                 if (call_expr_nargs (_q40) == 4)
   14392              :     {
   14393            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14394            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14395            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14396            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14397            0 :                     {
   14398            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14399            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14400            0 :                       if (res) return res;
   14401              :                     }
   14402              :                   }
   14403              :                 break;
   14404            0 :               case CFN_COND_COPYSIGN:
   14405            0 :                 if (call_expr_nargs (_q40) == 4)
   14406              :     {
   14407            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14408            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14409            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14410            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14411            0 :                     {
   14412            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14413            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14414            0 :                       if (res) return res;
   14415              :                     }
   14416              :                   }
   14417              :                 break;
   14418            0 :               case CFN_COND_FMAX:
   14419            0 :                 if (call_expr_nargs (_q40) == 4)
   14420              :     {
   14421            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14422            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14423            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14424            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14425            0 :                     {
   14426            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14427            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14428            0 :                       if (res) return res;
   14429              :                     }
   14430              :                   }
   14431              :                 break;
   14432            0 :               case CFN_COND_FMIN:
   14433            0 :                 if (call_expr_nargs (_q40) == 4)
   14434              :     {
   14435            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14436            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14437            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14438            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14439            0 :                     {
   14440            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14441            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14442            0 :                       if (res) return res;
   14443              :                     }
   14444              :                   }
   14445              :                 break;
   14446            0 :               case CFN_COND_RDIV:
   14447            0 :                 if (call_expr_nargs (_q40) == 4)
   14448              :     {
   14449            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14450            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14451            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14452            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14453            0 :                     {
   14454            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14455            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14456            0 :                       if (res) return res;
   14457              :                     }
   14458              :                   }
   14459              :                 break;
   14460              :               default:;
   14461              :               }
   14462              :             break;
   14463              :           default:;
   14464              :           }
   14465              :         break;
   14466              :       }
   14467           12 :     case CALL_EXPR:
   14468           12 :       switch (get_call_combined_fn (_p2))
   14469              :         {
   14470            0 :         case CFN_COND_ADD:
   14471            0 :           if (call_expr_nargs (_p2) == 4)
   14472              :     {
   14473            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14474            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14475            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14476            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14477            0 :               {
   14478            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14479            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14480            0 :                 if (res) return res;
   14481              :               }
   14482              :             }
   14483              :           break;
   14484            0 :         case CFN_COND_AND:
   14485            0 :           if (call_expr_nargs (_p2) == 4)
   14486              :     {
   14487            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14488            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14489            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14490            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14491            0 :               {
   14492            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14493            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14494            0 :                 if (res) return res;
   14495              :               }
   14496              :             }
   14497              :           break;
   14498            0 :         case CFN_COND_DIV:
   14499            0 :           if (call_expr_nargs (_p2) == 4)
   14500              :     {
   14501            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14502            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14503            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14504            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14505            0 :               {
   14506            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14507            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14508            0 :                 if (res) return res;
   14509              :               }
   14510              :             }
   14511              :           break;
   14512            0 :         case CFN_COND_IOR:
   14513            0 :           if (call_expr_nargs (_p2) == 4)
   14514              :     {
   14515            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14516            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14517            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14518            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14519            0 :               {
   14520            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14521            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14522            0 :                 if (res) return res;
   14523              :               }
   14524              :             }
   14525              :           break;
   14526            0 :         case CFN_COND_MAX:
   14527            0 :           if (call_expr_nargs (_p2) == 4)
   14528              :     {
   14529            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14530            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14531            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14532            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14533            0 :               {
   14534            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14535            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14536            0 :                 if (res) return res;
   14537              :               }
   14538              :             }
   14539              :           break;
   14540            0 :         case CFN_COND_MIN:
   14541            0 :           if (call_expr_nargs (_p2) == 4)
   14542              :     {
   14543            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14544            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14545            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14546            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14547            0 :               {
   14548            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14549            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14550            0 :                 if (res) return res;
   14551              :               }
   14552              :             }
   14553              :           break;
   14554            0 :         case CFN_COND_MOD:
   14555            0 :           if (call_expr_nargs (_p2) == 4)
   14556              :     {
   14557            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14558            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14559            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14560            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14561            0 :               {
   14562            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14563            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14564            0 :                 if (res) return res;
   14565              :               }
   14566              :             }
   14567              :           break;
   14568            0 :         case CFN_COND_MUL:
   14569            0 :           if (call_expr_nargs (_p2) == 4)
   14570              :     {
   14571            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14572            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14573            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14574            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14575            0 :               {
   14576            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14577            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14578            0 :                 if (res) return res;
   14579              :               }
   14580              :             }
   14581              :           break;
   14582            0 :         case CFN_COND_SHL:
   14583            0 :           if (call_expr_nargs (_p2) == 4)
   14584              :     {
   14585            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14586            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14587            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14588            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14589            0 :               {
   14590            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14591            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14592            0 :                 if (res) return res;
   14593              :               }
   14594              :             }
   14595              :           break;
   14596            0 :         case CFN_COND_SHR:
   14597            0 :           if (call_expr_nargs (_p2) == 4)
   14598              :     {
   14599            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14600            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14601            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14602            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14603            0 :               {
   14604            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14605            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14606            0 :                 if (res) return res;
   14607              :               }
   14608              :             }
   14609              :           break;
   14610            0 :         case CFN_COND_SUB:
   14611            0 :           if (call_expr_nargs (_p2) == 4)
   14612              :     {
   14613            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14614            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14615            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14616            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14617            0 :               {
   14618            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14619            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14620            0 :                 if (res) return res;
   14621              :               }
   14622              :             }
   14623              :           break;
   14624            0 :         case CFN_COND_XOR:
   14625            0 :           if (call_expr_nargs (_p2) == 4)
   14626              :     {
   14627            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14628            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14629            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14630            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14631            0 :               {
   14632            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14633            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14634            0 :                 if (res) return res;
   14635              :               }
   14636              :             }
   14637              :           break;
   14638            0 :         case CFN_COND_COPYSIGN:
   14639            0 :           if (call_expr_nargs (_p2) == 4)
   14640              :     {
   14641            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14642            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14643            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14644            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14645            0 :               {
   14646            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14647            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14648            0 :                 if (res) return res;
   14649              :               }
   14650              :             }
   14651              :           break;
   14652            0 :         case CFN_COND_FMAX:
   14653            0 :           if (call_expr_nargs (_p2) == 4)
   14654              :     {
   14655            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14656            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14657            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14658            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14659            0 :               {
   14660            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14661            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14662            0 :                 if (res) return res;
   14663              :               }
   14664              :             }
   14665              :           break;
   14666            0 :         case CFN_COND_FMIN:
   14667            0 :           if (call_expr_nargs (_p2) == 4)
   14668              :     {
   14669            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14670            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14671            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14672            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14673            0 :               {
   14674            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14675            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14676            0 :                 if (res) return res;
   14677              :               }
   14678              :             }
   14679              :           break;
   14680            0 :         case CFN_COND_RDIV:
   14681            0 :           if (call_expr_nargs (_p2) == 4)
   14682              :     {
   14683            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14684            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14685            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14686            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14687            0 :               {
   14688            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14689            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14690            0 :                 if (res) return res;
   14691              :               }
   14692              :             }
   14693              :           break;
   14694              :         default:;
   14695              :         }
   14696              :       break;
   14697       384935 :     default:;
   14698              :     }
   14699       384935 :   switch (TREE_CODE (_p1))
   14700              :     {
   14701            0 :     case VIEW_CONVERT_EXPR:
   14702            0 :       {
   14703            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   14704            0 :         switch (TREE_CODE (_q30))
   14705              :           {
   14706            0 :           case CALL_EXPR:
   14707            0 :             switch (get_call_combined_fn (_q30))
   14708              :               {
   14709            0 :               case CFN_COND_FMA:
   14710            0 :                 if (call_expr_nargs (_q30) == 5)
   14711              :     {
   14712            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14713            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14714            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14715            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14716            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14717            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14718              :                       {
   14719            0 :                         {
   14720            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14721            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   14722            0 :                           if (res) return res;
   14723              :                         }
   14724              :                       }
   14725              :                   }
   14726              :                 break;
   14727            0 :               case CFN_COND_FMS:
   14728            0 :                 if (call_expr_nargs (_q30) == 5)
   14729              :     {
   14730            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14731            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14732            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14733            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14734            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14735            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14736              :                       {
   14737            0 :                         {
   14738            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14739            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   14740            0 :                           if (res) return res;
   14741              :                         }
   14742              :                       }
   14743              :                   }
   14744              :                 break;
   14745            0 :               case CFN_COND_FNMA:
   14746            0 :                 if (call_expr_nargs (_q30) == 5)
   14747              :     {
   14748            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14749            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14750            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14751            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14752            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14753            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14754              :                       {
   14755            0 :                         {
   14756            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14757            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   14758            0 :                           if (res) return res;
   14759              :                         }
   14760              :                       }
   14761              :                   }
   14762              :                 break;
   14763            0 :               case CFN_COND_FNMS:
   14764            0 :                 if (call_expr_nargs (_q30) == 5)
   14765              :     {
   14766            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14767            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14768            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14769            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14770            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14771            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14772              :                       {
   14773            0 :                         {
   14774            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14775            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   14776            0 :                           if (res) return res;
   14777              :                         }
   14778              :                       }
   14779              :                   }
   14780              :                 break;
   14781              :               default:;
   14782              :               }
   14783              :             break;
   14784              :           default:;
   14785              :           }
   14786              :         break;
   14787              :       }
   14788           12 :     case CALL_EXPR:
   14789           12 :       switch (get_call_combined_fn (_p1))
   14790              :         {
   14791            0 :         case CFN_COND_FMA:
   14792            0 :           if (call_expr_nargs (_p1) == 5)
   14793              :     {
   14794            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14795            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14796            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14797            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14798            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   14799            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14800              :                 {
   14801            0 :                   {
   14802            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   14803            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   14804            0 :                     if (res) return res;
   14805              :                   }
   14806              :                 }
   14807              :             }
   14808              :           break;
   14809            0 :         case CFN_COND_FMS:
   14810            0 :           if (call_expr_nargs (_p1) == 5)
   14811              :     {
   14812            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14813            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14814            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14815            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14816            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   14817            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14818              :                 {
   14819            0 :                   {
   14820            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   14821            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   14822            0 :                     if (res) return res;
   14823              :                   }
   14824              :                 }
   14825              :             }
   14826              :           break;
   14827            0 :         case CFN_COND_FNMA:
   14828            0 :           if (call_expr_nargs (_p1) == 5)
   14829              :     {
   14830            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14831            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14832            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14833            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14834            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   14835            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14836              :                 {
   14837            0 :                   {
   14838            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   14839            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   14840            0 :                     if (res) return res;
   14841              :                   }
   14842              :                 }
   14843              :             }
   14844              :           break;
   14845            0 :         case CFN_COND_FNMS:
   14846            0 :           if (call_expr_nargs (_p1) == 5)
   14847              :     {
   14848            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14849            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14850            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14851            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14852            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   14853            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14854              :                 {
   14855            0 :                   {
   14856            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   14857            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   14858            0 :                     if (res) return res;
   14859              :                   }
   14860              :                 }
   14861              :             }
   14862              :           break;
   14863              :         default:;
   14864              :         }
   14865              :       break;
   14866       384935 :     default:;
   14867              :     }
   14868       384935 :   switch (TREE_CODE (_p2))
   14869              :     {
   14870            0 :     case VIEW_CONVERT_EXPR:
   14871            0 :       {
   14872            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   14873            0 :         switch (TREE_CODE (_q40))
   14874              :           {
   14875            0 :           case CALL_EXPR:
   14876            0 :             switch (get_call_combined_fn (_q40))
   14877              :               {
   14878            0 :               case CFN_COND_FMA:
   14879            0 :                 if (call_expr_nargs (_q40) == 5)
   14880              :     {
   14881            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14882            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14883            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14884            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14885            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   14886            0 :                     {
   14887            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   14888            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   14889            0 :                       if (res) return res;
   14890              :                     }
   14891              :                   }
   14892              :                 break;
   14893            0 :               case CFN_COND_FMS:
   14894            0 :                 if (call_expr_nargs (_q40) == 5)
   14895              :     {
   14896            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14897            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14898            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14899            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14900            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   14901            0 :                     {
   14902            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   14903            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   14904            0 :                       if (res) return res;
   14905              :                     }
   14906              :                   }
   14907              :                 break;
   14908            0 :               case CFN_COND_FNMA:
   14909            0 :                 if (call_expr_nargs (_q40) == 5)
   14910              :     {
   14911            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14912            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14913            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14914            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14915            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   14916            0 :                     {
   14917            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   14918            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   14919            0 :                       if (res) return res;
   14920              :                     }
   14921              :                   }
   14922              :                 break;
   14923            0 :               case CFN_COND_FNMS:
   14924            0 :                 if (call_expr_nargs (_q40) == 5)
   14925              :     {
   14926            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14927            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14928            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14929            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14930            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   14931            0 :                     {
   14932            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   14933            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   14934            0 :                       if (res) return res;
   14935              :                     }
   14936              :                   }
   14937              :                 break;
   14938              :               default:;
   14939              :               }
   14940              :             break;
   14941              :           default:;
   14942              :           }
   14943              :         break;
   14944              :       }
   14945           12 :     case CALL_EXPR:
   14946           12 :       switch (get_call_combined_fn (_p2))
   14947              :         {
   14948            0 :         case CFN_COND_FMA:
   14949            0 :           if (call_expr_nargs (_p2) == 5)
   14950              :     {
   14951            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14952            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14953            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14954            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14955            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   14956            0 :               {
   14957            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   14958            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   14959            0 :                 if (res) return res;
   14960              :               }
   14961              :             }
   14962              :           break;
   14963            0 :         case CFN_COND_FMS:
   14964            0 :           if (call_expr_nargs (_p2) == 5)
   14965              :     {
   14966            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14967            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14968            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14969            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14970            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   14971            0 :               {
   14972            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   14973            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   14974            0 :                 if (res) return res;
   14975              :               }
   14976              :             }
   14977              :           break;
   14978            0 :         case CFN_COND_FNMA:
   14979            0 :           if (call_expr_nargs (_p2) == 5)
   14980              :     {
   14981            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14982            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14983            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14984            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14985            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   14986            0 :               {
   14987            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   14988            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   14989            0 :                 if (res) return res;
   14990              :               }
   14991              :             }
   14992              :           break;
   14993            0 :         case CFN_COND_FNMS:
   14994            0 :           if (call_expr_nargs (_p2) == 5)
   14995              :     {
   14996            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14997            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14998            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14999            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15000            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15001            0 :               {
   15002            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15003            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15004            0 :                 if (res) return res;
   15005              :               }
   15006              :             }
   15007              :           break;
   15008              :         default:;
   15009              :         }
   15010              :       break;
   15011       384935 :     default:;
   15012              :     }
   15013       384935 :   switch (TREE_CODE (_p1))
   15014              :     {
   15015            0 :     case VIEW_CONVERT_EXPR:
   15016            0 :       {
   15017            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   15018            0 :         switch (TREE_CODE (_q30))
   15019              :           {
   15020            0 :           case CALL_EXPR:
   15021            0 :             switch (get_call_combined_fn (_q30))
   15022              :               {
   15023            0 :               case CFN_COND_LEN_ADD:
   15024            0 :                 if (call_expr_nargs (_q30) == 6)
   15025              :     {
   15026            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15027            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15028            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15029            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15030            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15031            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15032            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15033              :                       {
   15034            0 :                         {
   15035            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15036            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15037            0 :                           if (res) return res;
   15038              :                         }
   15039              :                       }
   15040              :                   }
   15041              :                 break;
   15042            0 :               case CFN_COND_LEN_AND:
   15043            0 :                 if (call_expr_nargs (_q30) == 6)
   15044              :     {
   15045            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15046            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15047            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15048            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15049            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15050            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15051            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15052              :                       {
   15053            0 :                         {
   15054            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15055            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15056            0 :                           if (res) return res;
   15057              :                         }
   15058              :                       }
   15059              :                   }
   15060              :                 break;
   15061            0 :               case CFN_COND_LEN_DIV:
   15062            0 :                 if (call_expr_nargs (_q30) == 6)
   15063              :     {
   15064            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15065            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15066            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15067            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15068            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15069            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15070            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15071              :                       {
   15072            0 :                         {
   15073            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15074            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15075            0 :                           if (res) return res;
   15076              :                         }
   15077              :                       }
   15078              :                   }
   15079              :                 break;
   15080            0 :               case CFN_COND_LEN_IOR:
   15081            0 :                 if (call_expr_nargs (_q30) == 6)
   15082              :     {
   15083            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15084            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15085            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15086            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15087            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15088            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15089            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15090              :                       {
   15091            0 :                         {
   15092            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15093            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15094            0 :                           if (res) return res;
   15095              :                         }
   15096              :                       }
   15097              :                   }
   15098              :                 break;
   15099            0 :               case CFN_COND_LEN_MAX:
   15100            0 :                 if (call_expr_nargs (_q30) == 6)
   15101              :     {
   15102            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15103            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15104            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15105            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15106            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15107            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15108            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15109              :                       {
   15110            0 :                         {
   15111            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15112            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15113            0 :                           if (res) return res;
   15114              :                         }
   15115              :                       }
   15116              :                   }
   15117              :                 break;
   15118            0 :               case CFN_COND_LEN_MIN:
   15119            0 :                 if (call_expr_nargs (_q30) == 6)
   15120              :     {
   15121            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15122            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15123            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15124            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15125            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15126            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15127            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15128              :                       {
   15129            0 :                         {
   15130            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15131            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15132            0 :                           if (res) return res;
   15133              :                         }
   15134              :                       }
   15135              :                   }
   15136              :                 break;
   15137            0 :               case CFN_COND_LEN_MOD:
   15138            0 :                 if (call_expr_nargs (_q30) == 6)
   15139              :     {
   15140            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15141            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15142            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15143            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15144            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15145            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15146            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15147              :                       {
   15148            0 :                         {
   15149            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15150            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15151            0 :                           if (res) return res;
   15152              :                         }
   15153              :                       }
   15154              :                   }
   15155              :                 break;
   15156            0 :               case CFN_COND_LEN_MUL:
   15157            0 :                 if (call_expr_nargs (_q30) == 6)
   15158              :     {
   15159            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15160            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15161            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15162            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15163            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15164            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15165            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15166              :                       {
   15167            0 :                         {
   15168            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15169            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15170            0 :                           if (res) return res;
   15171              :                         }
   15172              :                       }
   15173              :                   }
   15174              :                 break;
   15175            0 :               case CFN_COND_LEN_SHL:
   15176            0 :                 if (call_expr_nargs (_q30) == 6)
   15177              :     {
   15178            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15179            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15180            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15181            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15182            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15183            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15184            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15185              :                       {
   15186            0 :                         {
   15187            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15188            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15189            0 :                           if (res) return res;
   15190              :                         }
   15191              :                       }
   15192              :                   }
   15193              :                 break;
   15194            0 :               case CFN_COND_LEN_SHR:
   15195            0 :                 if (call_expr_nargs (_q30) == 6)
   15196              :     {
   15197            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15198            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15199            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15200            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15201            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15202            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15203            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15204              :                       {
   15205            0 :                         {
   15206            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15207            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15208            0 :                           if (res) return res;
   15209              :                         }
   15210              :                       }
   15211              :                   }
   15212              :                 break;
   15213            0 :               case CFN_COND_LEN_SUB:
   15214            0 :                 if (call_expr_nargs (_q30) == 6)
   15215              :     {
   15216            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15217            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15218            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15219            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15220            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15221            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15222            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15223              :                       {
   15224            0 :                         {
   15225            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15226            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15227            0 :                           if (res) return res;
   15228              :                         }
   15229              :                       }
   15230              :                   }
   15231              :                 break;
   15232            0 :               case CFN_COND_LEN_XOR:
   15233            0 :                 if (call_expr_nargs (_q30) == 6)
   15234              :     {
   15235            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15236            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15237            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15238            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15239            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15240            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15241            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15242              :                       {
   15243            0 :                         {
   15244            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15245            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15246            0 :                           if (res) return res;
   15247              :                         }
   15248              :                       }
   15249              :                   }
   15250              :                 break;
   15251            0 :               case CFN_COND_LEN_FMAX:
   15252            0 :                 if (call_expr_nargs (_q30) == 6)
   15253              :     {
   15254            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15255            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15256            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15257            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15258            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15259            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15260            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15261              :                       {
   15262            0 :                         {
   15263            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15264            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15265            0 :                           if (res) return res;
   15266              :                         }
   15267              :                       }
   15268              :                   }
   15269              :                 break;
   15270            0 :               case CFN_COND_LEN_FMIN:
   15271            0 :                 if (call_expr_nargs (_q30) == 6)
   15272              :     {
   15273            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15274            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15275            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15276            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15277            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15278            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15279            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15280              :                       {
   15281            0 :                         {
   15282            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15283            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15284            0 :                           if (res) return res;
   15285              :                         }
   15286              :                       }
   15287              :                   }
   15288              :                 break;
   15289            0 :               case CFN_COND_LEN_RDIV:
   15290            0 :                 if (call_expr_nargs (_q30) == 6)
   15291              :     {
   15292            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15293            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15294            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15295            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15296            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15297            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15298            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15299              :                       {
   15300            0 :                         {
   15301            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15302            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15303            0 :                           if (res) return res;
   15304              :                         }
   15305              :                       }
   15306              :                   }
   15307              :                 break;
   15308            0 :               case CFN_COND_LEN_COPYSIGN:
   15309            0 :                 if (call_expr_nargs (_q30) == 6)
   15310              :     {
   15311            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15312            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15313            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15314            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15315            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15316            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15317            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15318              :                       {
   15319            0 :                         {
   15320            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15321            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15322            0 :                           if (res) return res;
   15323              :                         }
   15324              :                       }
   15325              :                   }
   15326              :                 break;
   15327              :               default:;
   15328              :               }
   15329              :             break;
   15330              :           default:;
   15331              :           }
   15332              :         break;
   15333              :       }
   15334           12 :     case CALL_EXPR:
   15335           12 :       switch (get_call_combined_fn (_p1))
   15336              :         {
   15337            0 :         case CFN_COND_LEN_ADD:
   15338            0 :           if (call_expr_nargs (_p1) == 6)
   15339              :     {
   15340            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15341            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15342            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15343            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15344            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15345            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15346            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15347              :                 {
   15348            0 :                   {
   15349            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15350            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15351            0 :                     if (res) return res;
   15352              :                   }
   15353              :                 }
   15354              :             }
   15355              :           break;
   15356            0 :         case CFN_COND_LEN_AND:
   15357            0 :           if (call_expr_nargs (_p1) == 6)
   15358              :     {
   15359            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15360            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15361            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15362            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15363            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15364            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15365            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15366              :                 {
   15367            0 :                   {
   15368            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15369            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15370            0 :                     if (res) return res;
   15371              :                   }
   15372              :                 }
   15373              :             }
   15374              :           break;
   15375            0 :         case CFN_COND_LEN_DIV:
   15376            0 :           if (call_expr_nargs (_p1) == 6)
   15377              :     {
   15378            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15379            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15380            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15381            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15382            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15383            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15384            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15385              :                 {
   15386            0 :                   {
   15387            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15388            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15389            0 :                     if (res) return res;
   15390              :                   }
   15391              :                 }
   15392              :             }
   15393              :           break;
   15394            0 :         case CFN_COND_LEN_IOR:
   15395            0 :           if (call_expr_nargs (_p1) == 6)
   15396              :     {
   15397            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15398            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15399            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15400            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15401            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15402            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15403            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15404              :                 {
   15405            0 :                   {
   15406            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15407            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15408            0 :                     if (res) return res;
   15409              :                   }
   15410              :                 }
   15411              :             }
   15412              :           break;
   15413            0 :         case CFN_COND_LEN_MAX:
   15414            0 :           if (call_expr_nargs (_p1) == 6)
   15415              :     {
   15416            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15417            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15418            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15419            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15420            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15421            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15422            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15423              :                 {
   15424            0 :                   {
   15425            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15426            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15427            0 :                     if (res) return res;
   15428              :                   }
   15429              :                 }
   15430              :             }
   15431              :           break;
   15432            0 :         case CFN_COND_LEN_MIN:
   15433            0 :           if (call_expr_nargs (_p1) == 6)
   15434              :     {
   15435            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15436            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15437            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15438            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15439            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15440            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15441            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15442              :                 {
   15443            0 :                   {
   15444            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15445            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15446            0 :                     if (res) return res;
   15447              :                   }
   15448              :                 }
   15449              :             }
   15450              :           break;
   15451            0 :         case CFN_COND_LEN_MOD:
   15452            0 :           if (call_expr_nargs (_p1) == 6)
   15453              :     {
   15454            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15455            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15456            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15457            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15458            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15459            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15460            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15461              :                 {
   15462            0 :                   {
   15463            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15464            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15465            0 :                     if (res) return res;
   15466              :                   }
   15467              :                 }
   15468              :             }
   15469              :           break;
   15470            0 :         case CFN_COND_LEN_MUL:
   15471            0 :           if (call_expr_nargs (_p1) == 6)
   15472              :     {
   15473            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15474            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15475            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15476            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15477            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15478            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15479            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15480              :                 {
   15481            0 :                   {
   15482            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15483            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15484            0 :                     if (res) return res;
   15485              :                   }
   15486              :                 }
   15487              :             }
   15488              :           break;
   15489            0 :         case CFN_COND_LEN_SHL:
   15490            0 :           if (call_expr_nargs (_p1) == 6)
   15491              :     {
   15492            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15493            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15494            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15495            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15496            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15497            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15498            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15499              :                 {
   15500            0 :                   {
   15501            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15502            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15503            0 :                     if (res) return res;
   15504              :                   }
   15505              :                 }
   15506              :             }
   15507              :           break;
   15508            0 :         case CFN_COND_LEN_SHR:
   15509            0 :           if (call_expr_nargs (_p1) == 6)
   15510              :     {
   15511            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15512            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15513            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15514            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15515            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15516            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15517            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15518              :                 {
   15519            0 :                   {
   15520            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15521            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15522            0 :                     if (res) return res;
   15523              :                   }
   15524              :                 }
   15525              :             }
   15526              :           break;
   15527            0 :         case CFN_COND_LEN_SUB:
   15528            0 :           if (call_expr_nargs (_p1) == 6)
   15529              :     {
   15530            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15531            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15532            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15533            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15534            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15535            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15536            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15537              :                 {
   15538            0 :                   {
   15539            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15540            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15541            0 :                     if (res) return res;
   15542              :                   }
   15543              :                 }
   15544              :             }
   15545              :           break;
   15546            0 :         case CFN_COND_LEN_XOR:
   15547            0 :           if (call_expr_nargs (_p1) == 6)
   15548              :     {
   15549            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15550            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15551            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15552            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15553            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15554            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15555            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15556              :                 {
   15557            0 :                   {
   15558            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15559            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15560            0 :                     if (res) return res;
   15561              :                   }
   15562              :                 }
   15563              :             }
   15564              :           break;
   15565            0 :         case CFN_COND_LEN_FMAX:
   15566            0 :           if (call_expr_nargs (_p1) == 6)
   15567              :     {
   15568            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15569            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15570            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15571            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15572            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15573            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15574            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15575              :                 {
   15576            0 :                   {
   15577            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15578            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15579            0 :                     if (res) return res;
   15580              :                   }
   15581              :                 }
   15582              :             }
   15583              :           break;
   15584            0 :         case CFN_COND_LEN_FMIN:
   15585            0 :           if (call_expr_nargs (_p1) == 6)
   15586              :     {
   15587            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15588            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15589            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15590            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15591            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15592            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15593            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15594              :                 {
   15595            0 :                   {
   15596            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15597            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15598            0 :                     if (res) return res;
   15599              :                   }
   15600              :                 }
   15601              :             }
   15602              :           break;
   15603            0 :         case CFN_COND_LEN_RDIV:
   15604            0 :           if (call_expr_nargs (_p1) == 6)
   15605              :     {
   15606            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15607            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15608            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15609            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15610            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15611            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15612            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15613              :                 {
   15614            0 :                   {
   15615            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15616            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15617            0 :                     if (res) return res;
   15618              :                   }
   15619              :                 }
   15620              :             }
   15621              :           break;
   15622            0 :         case CFN_COND_LEN_COPYSIGN:
   15623            0 :           if (call_expr_nargs (_p1) == 6)
   15624              :     {
   15625            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15626            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15627            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15628            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15629            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15630            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15631            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15632              :                 {
   15633            0 :                   {
   15634            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15635            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15636            0 :                     if (res) return res;
   15637              :                   }
   15638              :                 }
   15639              :             }
   15640              :           break;
   15641              :         default:;
   15642              :         }
   15643              :       break;
   15644       384935 :     default:;
   15645              :     }
   15646       384935 :   switch (TREE_CODE (_p2))
   15647              :     {
   15648            0 :     case VIEW_CONVERT_EXPR:
   15649            0 :       {
   15650            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15651            0 :         switch (TREE_CODE (_q40))
   15652              :           {
   15653            0 :           case CALL_EXPR:
   15654            0 :             switch (get_call_combined_fn (_q40))
   15655              :               {
   15656            0 :               case CFN_COND_LEN_ADD:
   15657            0 :                 if (call_expr_nargs (_q40) == 6)
   15658              :     {
   15659            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15660            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15661            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15662            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15663            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15664            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15665            0 :                     {
   15666            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15667            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15668            0 :                       if (res) return res;
   15669              :                     }
   15670              :                   }
   15671              :                 break;
   15672            0 :               case CFN_COND_LEN_AND:
   15673            0 :                 if (call_expr_nargs (_q40) == 6)
   15674              :     {
   15675            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15676            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15677            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15678            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15679            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15680            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15681            0 :                     {
   15682            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15683            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15684            0 :                       if (res) return res;
   15685              :                     }
   15686              :                   }
   15687              :                 break;
   15688            0 :               case CFN_COND_LEN_DIV:
   15689            0 :                 if (call_expr_nargs (_q40) == 6)
   15690              :     {
   15691            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15692            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15693            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15694            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15695            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15696            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15697            0 :                     {
   15698            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15699            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15700            0 :                       if (res) return res;
   15701              :                     }
   15702              :                   }
   15703              :                 break;
   15704            0 :               case CFN_COND_LEN_IOR:
   15705            0 :                 if (call_expr_nargs (_q40) == 6)
   15706              :     {
   15707            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15708            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15709            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15710            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15711            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15712            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15713            0 :                     {
   15714            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15715            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15716            0 :                       if (res) return res;
   15717              :                     }
   15718              :                   }
   15719              :                 break;
   15720            0 :               case CFN_COND_LEN_MAX:
   15721            0 :                 if (call_expr_nargs (_q40) == 6)
   15722              :     {
   15723            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15724            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15725            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15726            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15727            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15728            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15729            0 :                     {
   15730            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15731            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15732            0 :                       if (res) return res;
   15733              :                     }
   15734              :                   }
   15735              :                 break;
   15736            0 :               case CFN_COND_LEN_MIN:
   15737            0 :                 if (call_expr_nargs (_q40) == 6)
   15738              :     {
   15739            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15740            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15741            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15742            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15743            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15744            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15745            0 :                     {
   15746            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15747            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15748            0 :                       if (res) return res;
   15749              :                     }
   15750              :                   }
   15751              :                 break;
   15752            0 :               case CFN_COND_LEN_MOD:
   15753            0 :                 if (call_expr_nargs (_q40) == 6)
   15754              :     {
   15755            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15756            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15757            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15758            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15759            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15760            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15761            0 :                     {
   15762            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15763            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15764            0 :                       if (res) return res;
   15765              :                     }
   15766              :                   }
   15767              :                 break;
   15768            0 :               case CFN_COND_LEN_MUL:
   15769            0 :                 if (call_expr_nargs (_q40) == 6)
   15770              :     {
   15771            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15772            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15773            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15774            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15775            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15776            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15777            0 :                     {
   15778            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15779            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15780            0 :                       if (res) return res;
   15781              :                     }
   15782              :                   }
   15783              :                 break;
   15784            0 :               case CFN_COND_LEN_SHL:
   15785            0 :                 if (call_expr_nargs (_q40) == 6)
   15786              :     {
   15787            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15788            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15789            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15790            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15791            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15792            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15793            0 :                     {
   15794            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15795            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15796            0 :                       if (res) return res;
   15797              :                     }
   15798              :                   }
   15799              :                 break;
   15800            0 :               case CFN_COND_LEN_SHR:
   15801            0 :                 if (call_expr_nargs (_q40) == 6)
   15802              :     {
   15803            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15804            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15805            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15806            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15807            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15808            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15809            0 :                     {
   15810            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15811            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15812            0 :                       if (res) return res;
   15813              :                     }
   15814              :                   }
   15815              :                 break;
   15816            0 :               case CFN_COND_LEN_SUB:
   15817            0 :                 if (call_expr_nargs (_q40) == 6)
   15818              :     {
   15819            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15820            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15821            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15822            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15823            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15824            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15825            0 :                     {
   15826            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15827            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15828            0 :                       if (res) return res;
   15829              :                     }
   15830              :                   }
   15831              :                 break;
   15832            0 :               case CFN_COND_LEN_XOR:
   15833            0 :                 if (call_expr_nargs (_q40) == 6)
   15834              :     {
   15835            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15836            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15837            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15838            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15839            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15840            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15841            0 :                     {
   15842            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15843            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15844            0 :                       if (res) return res;
   15845              :                     }
   15846              :                   }
   15847              :                 break;
   15848            0 :               case CFN_COND_LEN_FMAX:
   15849            0 :                 if (call_expr_nargs (_q40) == 6)
   15850              :     {
   15851            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15852            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15853            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15854            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15855            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15856            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15857            0 :                     {
   15858            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15859            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15860            0 :                       if (res) return res;
   15861              :                     }
   15862              :                   }
   15863              :                 break;
   15864            0 :               case CFN_COND_LEN_FMIN:
   15865            0 :                 if (call_expr_nargs (_q40) == 6)
   15866              :     {
   15867            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15868            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15869            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15870            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15871            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15872            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15873            0 :                     {
   15874            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15875            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15876            0 :                       if (res) return res;
   15877              :                     }
   15878              :                   }
   15879              :                 break;
   15880            0 :               case CFN_COND_LEN_RDIV:
   15881            0 :                 if (call_expr_nargs (_q40) == 6)
   15882              :     {
   15883            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15884            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15885            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15886            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15887            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15888            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15889            0 :                     {
   15890            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15891            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15892            0 :                       if (res) return res;
   15893              :                     }
   15894              :                   }
   15895              :                 break;
   15896            0 :               case CFN_COND_LEN_COPYSIGN:
   15897            0 :                 if (call_expr_nargs (_q40) == 6)
   15898              :     {
   15899            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15900            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15901            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15902            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15903            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15904            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15905            0 :                     {
   15906            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15907            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15908            0 :                       if (res) return res;
   15909              :                     }
   15910              :                   }
   15911              :                 break;
   15912              :               default:;
   15913              :               }
   15914              :             break;
   15915              :           default:;
   15916              :           }
   15917              :         break;
   15918              :       }
   15919           12 :     case CALL_EXPR:
   15920           12 :       switch (get_call_combined_fn (_p2))
   15921              :         {
   15922            0 :         case CFN_COND_LEN_ADD:
   15923            0 :           if (call_expr_nargs (_p2) == 6)
   15924              :     {
   15925            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15926            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15927            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15928            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15929            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15930            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   15931            0 :               {
   15932            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   15933            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15934            0 :                 if (res) return res;
   15935              :               }
   15936              :             }
   15937              :           break;
   15938            0 :         case CFN_COND_LEN_AND:
   15939            0 :           if (call_expr_nargs (_p2) == 6)
   15940              :     {
   15941            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15942            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15943            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15944            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15945            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15946            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   15947            0 :               {
   15948            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   15949            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15950            0 :                 if (res) return res;
   15951              :               }
   15952              :             }
   15953              :           break;
   15954            0 :         case CFN_COND_LEN_DIV:
   15955            0 :           if (call_expr_nargs (_p2) == 6)
   15956              :     {
   15957            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15958            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15959            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15960            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15961            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15962            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   15963            0 :               {
   15964            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   15965            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15966            0 :                 if (res) return res;
   15967              :               }
   15968              :             }
   15969              :           break;
   15970            0 :         case CFN_COND_LEN_IOR:
   15971            0 :           if (call_expr_nargs (_p2) == 6)
   15972              :     {
   15973            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15974            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15975            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15976            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15977            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15978            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   15979            0 :               {
   15980            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   15981            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15982            0 :                 if (res) return res;
   15983              :               }
   15984              :             }
   15985              :           break;
   15986            0 :         case CFN_COND_LEN_MAX:
   15987            0 :           if (call_expr_nargs (_p2) == 6)
   15988              :     {
   15989            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15990            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15991            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15992            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15993            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15994            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   15995            0 :               {
   15996            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   15997            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15998            0 :                 if (res) return res;
   15999              :               }
   16000              :             }
   16001              :           break;
   16002            0 :         case CFN_COND_LEN_MIN:
   16003            0 :           if (call_expr_nargs (_p2) == 6)
   16004              :     {
   16005            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16006            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16007            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16008            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16009            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16010            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16011            0 :               {
   16012            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16013            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16014            0 :                 if (res) return res;
   16015              :               }
   16016              :             }
   16017              :           break;
   16018            0 :         case CFN_COND_LEN_MOD:
   16019            0 :           if (call_expr_nargs (_p2) == 6)
   16020              :     {
   16021            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16022            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16023            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16024            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16025            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16026            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16027            0 :               {
   16028            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16029            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16030            0 :                 if (res) return res;
   16031              :               }
   16032              :             }
   16033              :           break;
   16034            0 :         case CFN_COND_LEN_MUL:
   16035            0 :           if (call_expr_nargs (_p2) == 6)
   16036              :     {
   16037            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16038            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16039            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16040            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16041            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16042            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16043            0 :               {
   16044            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16045            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16046            0 :                 if (res) return res;
   16047              :               }
   16048              :             }
   16049              :           break;
   16050            0 :         case CFN_COND_LEN_SHL:
   16051            0 :           if (call_expr_nargs (_p2) == 6)
   16052              :     {
   16053            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16054            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16055            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16056            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16057            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16058            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16059            0 :               {
   16060            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16061            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16062            0 :                 if (res) return res;
   16063              :               }
   16064              :             }
   16065              :           break;
   16066            0 :         case CFN_COND_LEN_SHR:
   16067            0 :           if (call_expr_nargs (_p2) == 6)
   16068              :     {
   16069            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16070            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16071            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16072            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16073            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16074            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16075            0 :               {
   16076            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16077            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16078            0 :                 if (res) return res;
   16079              :               }
   16080              :             }
   16081              :           break;
   16082            0 :         case CFN_COND_LEN_SUB:
   16083            0 :           if (call_expr_nargs (_p2) == 6)
   16084              :     {
   16085            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16086            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16087            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16088            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16089            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16090            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16091            0 :               {
   16092            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16093            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16094            0 :                 if (res) return res;
   16095              :               }
   16096              :             }
   16097              :           break;
   16098            0 :         case CFN_COND_LEN_XOR:
   16099            0 :           if (call_expr_nargs (_p2) == 6)
   16100              :     {
   16101            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16102            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16103            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16104            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16105            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16106            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16107            0 :               {
   16108            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16109            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16110            0 :                 if (res) return res;
   16111              :               }
   16112              :             }
   16113              :           break;
   16114            0 :         case CFN_COND_LEN_FMAX:
   16115            0 :           if (call_expr_nargs (_p2) == 6)
   16116              :     {
   16117            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16118            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16119            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16120            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16121            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16122            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16123            0 :               {
   16124            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16125            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16126            0 :                 if (res) return res;
   16127              :               }
   16128              :             }
   16129              :           break;
   16130            0 :         case CFN_COND_LEN_FMIN:
   16131            0 :           if (call_expr_nargs (_p2) == 6)
   16132              :     {
   16133            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16134            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16135            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16136            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16137            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16138            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16139            0 :               {
   16140            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16141            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16142            0 :                 if (res) return res;
   16143              :               }
   16144              :             }
   16145              :           break;
   16146            0 :         case CFN_COND_LEN_RDIV:
   16147            0 :           if (call_expr_nargs (_p2) == 6)
   16148              :     {
   16149            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16150            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16151            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16152            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16153            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16154            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16155            0 :               {
   16156            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16157            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16158            0 :                 if (res) return res;
   16159              :               }
   16160              :             }
   16161              :           break;
   16162            0 :         case CFN_COND_LEN_COPYSIGN:
   16163            0 :           if (call_expr_nargs (_p2) == 6)
   16164              :     {
   16165            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16166            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16167            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16168            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16169            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16170            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16171            0 :               {
   16172            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16173            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16174            0 :                 if (res) return res;
   16175              :               }
   16176              :             }
   16177              :           break;
   16178              :         default:;
   16179              :         }
   16180              :       break;
   16181       384935 :     default:;
   16182              :     }
   16183       384935 :   switch (TREE_CODE (_p1))
   16184              :     {
   16185            0 :     case VIEW_CONVERT_EXPR:
   16186            0 :       {
   16187            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16188            0 :         switch (TREE_CODE (_q30))
   16189              :           {
   16190            0 :           case CALL_EXPR:
   16191            0 :             switch (get_call_combined_fn (_q30))
   16192              :               {
   16193            0 :               case CFN_COND_LEN_FMA:
   16194            0 :                 if (call_expr_nargs (_q30) == 7)
   16195              :     {
   16196            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16197            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16198            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16199            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16200            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16201            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16202            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16203            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16204              :                       {
   16205            0 :                         {
   16206            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16207            0 :                           tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16208            0 :                           if (res) return res;
   16209              :                         }
   16210              :                       }
   16211              :                   }
   16212              :                 break;
   16213            0 :               case CFN_COND_LEN_FMS:
   16214            0 :                 if (call_expr_nargs (_q30) == 7)
   16215              :     {
   16216            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16217            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16218            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16219            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16220            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16221            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16222            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16223            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16224              :                       {
   16225            0 :                         {
   16226            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16227            0 :                           tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16228            0 :                           if (res) return res;
   16229              :                         }
   16230              :                       }
   16231              :                   }
   16232              :                 break;
   16233            0 :               case CFN_COND_LEN_FNMA:
   16234            0 :                 if (call_expr_nargs (_q30) == 7)
   16235              :     {
   16236            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16237            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16238            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16239            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16240            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16241            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16242            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16243            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16244              :                       {
   16245            0 :                         {
   16246            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16247            0 :                           tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16248            0 :                           if (res) return res;
   16249              :                         }
   16250              :                       }
   16251              :                   }
   16252              :                 break;
   16253            0 :               case CFN_COND_LEN_FNMS:
   16254            0 :                 if (call_expr_nargs (_q30) == 7)
   16255              :     {
   16256            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16257            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16258            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16259            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16260            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16261            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16262            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16263            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16264              :                       {
   16265            0 :                         {
   16266            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16267            0 :                           tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16268            0 :                           if (res) return res;
   16269              :                         }
   16270              :                       }
   16271              :                   }
   16272              :                 break;
   16273              :               default:;
   16274              :               }
   16275              :             break;
   16276              :           default:;
   16277              :           }
   16278              :         break;
   16279              :       }
   16280           12 :     case CALL_EXPR:
   16281           12 :       switch (get_call_combined_fn (_p1))
   16282              :         {
   16283            0 :         case CFN_COND_LEN_FMA:
   16284            0 :           if (call_expr_nargs (_p1) == 7)
   16285              :     {
   16286            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16287            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16288            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16289            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16290            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16291            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16292            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16293            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16294              :                 {
   16295            0 :                   {
   16296            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16297            0 :                     tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16298            0 :                     if (res) return res;
   16299              :                   }
   16300              :                 }
   16301              :             }
   16302              :           break;
   16303            0 :         case CFN_COND_LEN_FMS:
   16304            0 :           if (call_expr_nargs (_p1) == 7)
   16305              :     {
   16306            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16307            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16308            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16309            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16310            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16311            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16312            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16313            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16314              :                 {
   16315            0 :                   {
   16316            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16317            0 :                     tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16318            0 :                     if (res) return res;
   16319              :                   }
   16320              :                 }
   16321              :             }
   16322              :           break;
   16323            0 :         case CFN_COND_LEN_FNMA:
   16324            0 :           if (call_expr_nargs (_p1) == 7)
   16325              :     {
   16326            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16327            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16328            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16329            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16330            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16331            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16332            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16333            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16334              :                 {
   16335            0 :                   {
   16336            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16337            0 :                     tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16338            0 :                     if (res) return res;
   16339              :                   }
   16340              :                 }
   16341              :             }
   16342              :           break;
   16343            0 :         case CFN_COND_LEN_FNMS:
   16344            0 :           if (call_expr_nargs (_p1) == 7)
   16345              :     {
   16346            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16347            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16348            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16349            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16350            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16351            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16352            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16353            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16354              :                 {
   16355            0 :                   {
   16356            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16357            0 :                     tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16358            0 :                     if (res) return res;
   16359              :                   }
   16360              :                 }
   16361              :             }
   16362              :           break;
   16363              :         default:;
   16364              :         }
   16365              :       break;
   16366       384935 :     default:;
   16367              :     }
   16368       384935 :   switch (TREE_CODE (_p2))
   16369              :     {
   16370            0 :     case VIEW_CONVERT_EXPR:
   16371            0 :       {
   16372            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   16373            0 :         switch (TREE_CODE (_q40))
   16374              :           {
   16375            0 :           case CALL_EXPR:
   16376            0 :             switch (get_call_combined_fn (_q40))
   16377              :               {
   16378            0 :               case CFN_COND_LEN_FMA:
   16379            0 :                 if (call_expr_nargs (_q40) == 7)
   16380              :     {
   16381            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16382            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16383            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16384            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16385            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16386            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16387            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16388            0 :                     {
   16389            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16390            0 :                       tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16391            0 :                       if (res) return res;
   16392              :                     }
   16393              :                   }
   16394              :                 break;
   16395            0 :               case CFN_COND_LEN_FMS:
   16396            0 :                 if (call_expr_nargs (_q40) == 7)
   16397              :     {
   16398            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16399            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16400            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16401            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16402            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16403            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16404            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16405            0 :                     {
   16406            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16407            0 :                       tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16408            0 :                       if (res) return res;
   16409              :                     }
   16410              :                   }
   16411              :                 break;
   16412            0 :               case CFN_COND_LEN_FNMA:
   16413            0 :                 if (call_expr_nargs (_q40) == 7)
   16414              :     {
   16415            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16416            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16417            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16418            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16419            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16420            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16421            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16422            0 :                     {
   16423            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16424            0 :                       tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16425            0 :                       if (res) return res;
   16426              :                     }
   16427              :                   }
   16428              :                 break;
   16429            0 :               case CFN_COND_LEN_FNMS:
   16430            0 :                 if (call_expr_nargs (_q40) == 7)
   16431              :     {
   16432            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16433            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16434            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16435            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16436            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16437            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16438            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16439            0 :                     {
   16440            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16441            0 :                       tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16442            0 :                       if (res) return res;
   16443              :                     }
   16444              :                   }
   16445              :                 break;
   16446              :               default:;
   16447              :               }
   16448              :             break;
   16449              :           default:;
   16450              :           }
   16451              :         break;
   16452              :       }
   16453           12 :     case CALL_EXPR:
   16454           12 :       switch (get_call_combined_fn (_p2))
   16455              :         {
   16456            0 :         case CFN_COND_LEN_FMA:
   16457            0 :           if (call_expr_nargs (_p2) == 7)
   16458              :     {
   16459            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16460            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16461            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16462            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16463            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16464            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16465            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16466            0 :               {
   16467            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16468            0 :                 tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16469            0 :                 if (res) return res;
   16470              :               }
   16471              :             }
   16472              :           break;
   16473            0 :         case CFN_COND_LEN_FMS:
   16474            0 :           if (call_expr_nargs (_p2) == 7)
   16475              :     {
   16476            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16477            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16478            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16479            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16480            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16481            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16482            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16483            0 :               {
   16484            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16485            0 :                 tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16486            0 :                 if (res) return res;
   16487              :               }
   16488              :             }
   16489              :           break;
   16490            0 :         case CFN_COND_LEN_FNMA:
   16491            0 :           if (call_expr_nargs (_p2) == 7)
   16492              :     {
   16493            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16494            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16495            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16496            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16497            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16498            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16499            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16500            0 :               {
   16501            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16502            0 :                 tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16503            0 :                 if (res) return res;
   16504              :               }
   16505              :             }
   16506              :           break;
   16507            0 :         case CFN_COND_LEN_FNMS:
   16508            0 :           if (call_expr_nargs (_p2) == 7)
   16509              :     {
   16510            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16511            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16512            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16513            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16514            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16515            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16516            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16517            0 :               {
   16518            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16519            0 :                 tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16520            0 :                 if (res) return res;
   16521              :               }
   16522              :             }
   16523              :           break;
   16524              :         default:;
   16525              :         }
   16526              :       break;
   16527       384935 :     default:;
   16528              :     }
   16529       384935 :   switch (TREE_CODE (_p1))
   16530              :     {
   16531           12 :     case CALL_EXPR:
   16532           12 :       switch (get_call_combined_fn (_p1))
   16533              :         {
   16534            0 :         case CFN_COND_ADD:
   16535            0 :           if (call_expr_nargs (_p1) == 4)
   16536              :     {
   16537            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16538            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16539            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16540            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16541            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16542              :                 {
   16543            0 :                   {
   16544            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16545            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   16546            0 :                     if (res) return res;
   16547              :                   }
   16548              :                 }
   16549              :             }
   16550              :           break;
   16551            0 :         case CFN_COND_AND:
   16552            0 :           if (call_expr_nargs (_p1) == 4)
   16553              :     {
   16554            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16555            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16556            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16557            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16558            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16559              :                 {
   16560            0 :                   {
   16561            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16562            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   16563            0 :                     if (res) return res;
   16564              :                   }
   16565              :                 }
   16566              :             }
   16567              :           break;
   16568            0 :         case CFN_COND_DIV:
   16569            0 :           if (call_expr_nargs (_p1) == 4)
   16570              :     {
   16571            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16572            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16573            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16574            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16575            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16576              :                 {
   16577            0 :                   {
   16578            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16579            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   16580            0 :                     if (res) return res;
   16581              :                   }
   16582              :                 }
   16583              :             }
   16584              :           break;
   16585            0 :         case CFN_COND_FMA:
   16586            0 :           if (call_expr_nargs (_p1) == 5)
   16587              :     {
   16588            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16589            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16590            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16591            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16592            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16593            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16594              :                 {
   16595            0 :                   {
   16596            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16597            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16598            0 :                     if (res) return res;
   16599              :                   }
   16600              :                 }
   16601              :             }
   16602              :           break;
   16603            0 :         case CFN_COND_FMS:
   16604            0 :           if (call_expr_nargs (_p1) == 5)
   16605              :     {
   16606            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16607            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16608            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16609            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16610            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16611            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16612              :                 {
   16613            0 :                   {
   16614            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16615            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16616            0 :                     if (res) return res;
   16617              :                   }
   16618              :                 }
   16619              :             }
   16620              :           break;
   16621            0 :         case CFN_COND_IOR:
   16622            0 :           if (call_expr_nargs (_p1) == 4)
   16623              :     {
   16624            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16625            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16626            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16627            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16628            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16629              :                 {
   16630            0 :                   {
   16631            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16632            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   16633            0 :                     if (res) return res;
   16634              :                   }
   16635              :                 }
   16636              :             }
   16637              :           break;
   16638            0 :         case CFN_COND_MAX:
   16639            0 :           if (call_expr_nargs (_p1) == 4)
   16640              :     {
   16641            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16642            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16643            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16644            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16645            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16646              :                 {
   16647            0 :                   {
   16648            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16649            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   16650            0 :                     if (res) return res;
   16651              :                   }
   16652              :                 }
   16653              :             }
   16654              :           break;
   16655            0 :         case CFN_COND_MIN:
   16656            0 :           if (call_expr_nargs (_p1) == 4)
   16657              :     {
   16658            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16659            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16660            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16661            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16662            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16663              :                 {
   16664            0 :                   {
   16665            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16666            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   16667            0 :                     if (res) return res;
   16668              :                   }
   16669              :                 }
   16670              :             }
   16671              :           break;
   16672            0 :         case CFN_COND_MOD:
   16673            0 :           if (call_expr_nargs (_p1) == 4)
   16674              :     {
   16675            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16676            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16677            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16678            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16679            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16680              :                 {
   16681            0 :                   {
   16682            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16683            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   16684            0 :                     if (res) return res;
   16685              :                   }
   16686              :                 }
   16687              :             }
   16688              :           break;
   16689            0 :         case CFN_COND_MUL:
   16690            0 :           if (call_expr_nargs (_p1) == 4)
   16691              :     {
   16692            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16693            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16694            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16695            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16696            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16697              :                 {
   16698            0 :                   {
   16699            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16700            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   16701            0 :                     if (res) return res;
   16702              :                   }
   16703              :                 }
   16704              :             }
   16705              :           break;
   16706            0 :         case CFN_COND_SHL:
   16707            0 :           if (call_expr_nargs (_p1) == 4)
   16708              :     {
   16709            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16710            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16711            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16712            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16713            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16714              :                 {
   16715            0 :                   {
   16716            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16717            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   16718            0 :                     if (res) return res;
   16719              :                   }
   16720              :                 }
   16721              :             }
   16722              :           break;
   16723            0 :         case CFN_COND_SHR:
   16724            0 :           if (call_expr_nargs (_p1) == 4)
   16725              :     {
   16726            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16727            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16728            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16729            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16730            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16731              :                 {
   16732            0 :                   {
   16733            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16734            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   16735            0 :                     if (res) return res;
   16736              :                   }
   16737              :                 }
   16738              :             }
   16739              :           break;
   16740            0 :         case CFN_COND_SUB:
   16741            0 :           if (call_expr_nargs (_p1) == 4)
   16742              :     {
   16743            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16744            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16745            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16746            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16747            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16748              :                 {
   16749            0 :                   {
   16750            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16751            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   16752            0 :                     if (res) return res;
   16753              :                   }
   16754              :                 }
   16755              :             }
   16756              :           break;
   16757            0 :         case CFN_COND_XOR:
   16758            0 :           if (call_expr_nargs (_p1) == 4)
   16759              :     {
   16760            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16761            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16762            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16763            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16764            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16765              :                 {
   16766            0 :                   {
   16767            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16768            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   16769            0 :                     if (res) return res;
   16770              :                   }
   16771              :                 }
   16772              :             }
   16773              :           break;
   16774            0 :         case CFN_COND_COPYSIGN:
   16775            0 :           if (call_expr_nargs (_p1) == 4)
   16776              :     {
   16777            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16778            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16779            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16780            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16781            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16782              :                 {
   16783            0 :                   {
   16784            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16785            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   16786            0 :                     if (res) return res;
   16787              :                   }
   16788              :                 }
   16789              :             }
   16790              :           break;
   16791            0 :         case CFN_COND_FMAX:
   16792            0 :           if (call_expr_nargs (_p1) == 4)
   16793              :     {
   16794            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16795            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16796            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16797            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16798            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16799              :                 {
   16800            0 :                   {
   16801            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16802            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   16803            0 :                     if (res) return res;
   16804              :                   }
   16805              :                 }
   16806              :             }
   16807              :           break;
   16808            0 :         case CFN_COND_FMIN:
   16809            0 :           if (call_expr_nargs (_p1) == 4)
   16810              :     {
   16811            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16812            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16813            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16814            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16815            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16816              :                 {
   16817            0 :                   {
   16818            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16819            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   16820            0 :                     if (res) return res;
   16821              :                   }
   16822              :                 }
   16823              :             }
   16824              :           break;
   16825            0 :         case CFN_COND_FNMA:
   16826            0 :           if (call_expr_nargs (_p1) == 5)
   16827              :     {
   16828            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16829            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16830            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16831            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16832            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16833            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16834              :                 {
   16835            0 :                   {
   16836            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16837            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   16838            0 :                     if (res) return res;
   16839              :                   }
   16840              :                 }
   16841              :             }
   16842              :           break;
   16843            0 :         case CFN_COND_FNMS:
   16844            0 :           if (call_expr_nargs (_p1) == 5)
   16845              :     {
   16846            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16847            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16848            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16849            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16850            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16851            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16852              :                 {
   16853            0 :                   {
   16854            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16855            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   16856            0 :                     if (res) return res;
   16857              :                   }
   16858              :                 }
   16859              :             }
   16860              :           break;
   16861            0 :         case CFN_COND_RDIV:
   16862            0 :           if (call_expr_nargs (_p1) == 4)
   16863              :     {
   16864            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16865            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16866            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16867            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16868            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16869              :                 {
   16870            0 :                   {
   16871            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16872            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   16873            0 :                     if (res) return res;
   16874              :                   }
   16875              :                 }
   16876              :             }
   16877              :           break;
   16878              :         default:;
   16879              :         }
   16880              :       break;
   16881              :     default:;
   16882              :     }
   16883              :   return NULL_TREE;
   16884              : }
   16885              : #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.